Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 4, Position 2 = 6
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 11
Branch analysis from position: 8
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 26
Branch analysis from position: 23
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 26
1 jumps found. (Code = 42) Position 1 = 94
Branch analysis from position: 94
2 jumps found. (Code = 44) Position 1 = 97, Position 2 = 29
Branch analysis from position: 97
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 29
1 jumps found. (Code = 42) Position 1 = 63
Branch analysis from position: 63
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 39
Branch analysis from position: 65
1 jumps found. (Code = 42) Position 1 = 90
Branch analysis from position: 90
2 jumps found. (Code = 44) Position 1 = 92, Position 2 = 68
Branch analysis from position: 92
2 jumps found. (Code = 44) Position 1 = 97, Position 2 = 29
Branch analysis from position: 97
Branch analysis from position: 29
Branch analysis from position: 68
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 74
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 92
Branch analysis from position: 92
Branch analysis from position: 74
2 jumps found. (Code = 46) Position 1 = 82, Position 2 = 84
Branch analysis from position: 82
2 jumps found. (Code = 43) Position 1 = 85, Position 2 = 87
Branch analysis from position: 85
1 jumps found. (Code = 42) Position 1 = 88
Branch analysis from position: 88
2 jumps found. (Code = 44) Position 1 = 92, Position 2 = 68
Branch analysis from position: 92
Branch analysis from position: 68
Branch analysis from position: 87
2 jumps found. (Code = 44) Position 1 = 92, Position 2 = 68
Branch analysis from position: 92
Branch analysis from position: 68
Branch analysis from position: 84
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 43, Position 2 = 44
Branch analysis from position: 43
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 51
Branch analysis from position: 49
1 jumps found. (Code = 42) Position 1 = 62
Branch analysis from position: 62
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 39
Branch analysis from position: 65
Branch analysis from position: 39
Branch analysis from position: 51
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 39
Branch analysis from position: 65
Branch analysis from position: 39
Branch analysis from position: 44
Branch analysis from position: 6
filename: /in/OU9bs
function name: (null)
number of ops: 98
compiled vars: !0 = $privateKey, !1 = $data, !2 = $signature, !3 = $lineLength, !4 = $base, !5 = $offset, !6 = $absolute, !7 = $c, !8 = $a
line #* E I O op fetch ext return operands
-----------------------------------------------------------------------------------------
3 0 E > INIT_FCALL 'function_exists'
1 SEND_VAL 'openssl_sign'
2 DO_ICALL $9
3 > JMPZ_EX ~10 $9, ->6
4 > DEFINED ~11 'OPENSSL_ALGO_SHA256'
5 BOOL ~10 ~11
6 > BOOL_NOT ~12 ~10
7 > JMPZ ~12, ->11
4 8 > > INIT_FCALL 'exit'
9* SEND_VAL 'Unsupported+PHP+version+or+OpenSSH+extension+missing'
10* DO_ICALL
7 11 > ASSIGN !0, '-----BEGIN+PRIVATE+KEY-----%0AMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCrYL5Zq4rvXwEn%0AacjPDXjrl0UnAKfAchtNQIyEdf%2Fa41tFgZkw1DXS2s%2B9eWNBarWYEwGhFoiOeeop%0AShU7qa5IKL7pwLaO8vPbTPNWZZ9sy3Vx18lB54IyRPBX5lrLU%2Bn0XuYyFcZa1%2BGd%0ADtgu%2BAQQqjDGGuSJecuABWH%2BrzzfumMi9K4gP9S0J8vq60mRna6R47Ati7t%2FjBJm%0Ab2vSoSaWjtKf0LJoRPnbc7SgYF8D4JWJ3xQnsa8LrrBudV5j%2BN3uRDMimUeHL6iW%0A1KoAb8g1Iql%2Fb3%2F2C0Z0M%2FO%2F13sECytFxDBVP9W%2BlvHwNF7pZR%2BC%2FBvhFH6FnrFI%0AfRismw8BAgMBAAECggEBAIsHKqS4Azf5TIhayusdtND6oMDpSS1X5EohaV00FOHP%0Au4WBg3MXVKq%2Fk%2FPT%2B%2B9fz%2F2UvaefDhz3Tj08ukjyeE5Vr7sV%2BYOyGJ35qRaXzmOG%0AErrOIZjzZK2%2FO3MzjsiQRKVYL0rGW2nq5D5zgnFoBnQ2fObZfjkAs1QiCcOBCdM8%0AnttTO31JCwyBuTKGK3KaJdoba6dVze5Xhm1b%2FhaCmq2EJOML5G73jK7m8aYkVDFb%0AFJOShYATyz5Xju33QEPz%2BHWcMrk%2FTKZFRQYSjWFAzy0%2FENrMptIVff3UN0KL0YSl%0A0hNHlJwHStDEZAiMw4A20ojtKqfUkyR1kPzxpWdi%2FBkCgYEA4VVFhv5RNSJUGm1I%0AzhJT54UlfIW57c%2FNWx%2FTqbhe0QYg%2F%2FsM4c%2Fs8lw45lvmRc7vKs6C%2FZGo18p%2BXNT%2B%0ABaZdNFlxbtKJisM61Cegc8pIwzv4mbTyo9SjoWswxt20zVp8sIGeF4w7X94gPVZ0%0Af8D3OELujXqk2i34blLDbTGF3TsCgYEAwrOkxvZ1cdj4ouFqmTFuCvEKVGxsSQeT%0APc4%2Fe%2FGsjzXGnIkLnsYbUnTXKzt7gLuu0I8B3gF0DqqPCJoGHQv6RIYdY8g6KLF%2B%0A4eGfYSJj6zjKOx4yKP7NT3vQLZehhIKbA723rWQVZ9N3e05P65OBkIp8f5MOfNgJ%0AO%2BOKVe49MPMCgYBA6S6JL7O3CbeOkVK6wj7XX9ynnWItJoJysJ1ps8nkjs5szyYr%0A2pjYTEa73VddXro465qCbzZjS1rRZS3z9LO%2Bw9FQamfiyFCnEu8%2By9PgIeOAa8bF%0A%2BRhWBKndb7qIuXtX4U7oW6Yy%2FKru4HvY3X6Z%2F3X23ZClpT5%2BkWrohq6YRwKBgE%2FQ%0AuPHfQtIC8hpDciGOw9%2B0ZFmrgNCHTHL%2Fw8KZlfW3Q84T2DGkYLryrupIHh7t0YIp%0Avcg2rE7%2B2FfcXDk4GcZRfGbVRBI%2BgRc0GNQG9xMMWsrVXBa2LZAx32txR4M8zzM%2F%0AaLap2qSPaeGgft7Bv1FzlAnwTPYc0dw9MQ589ZTFAoGBAJrB3sNh1ysIUdA3X1Jf%0AvUZfBCofmP%2B7Cqzln8gdeYA9iXUOoE4VTPw0jK71ZzsmlUejBz9S2ZUfs9q1Srge%0AyFo8Glr%2F8AXXUAt7iSJS4j7sz07EZbj14LfoooSem%2Bw%2FZONy8Sdtm%2FWMox%2FiBg7S%0As%2BIx44bf%2FPXcAri2w7OQp%2FG6%0A-----END+PRIVATE+KEY-----'
39 12 ASSIGN !1, 'eyJub25jZSI6IlpSQ0VyNXpDRmVlOVNnOGxCVzMtNEhHRG8tdGtuckxDQV96Y3VDUDg5ZTgiLCJhbGciOiJSUzI1NiIsImp3ayI6eyJlIjoiQVFBQiIsImt0eSI6IlJTQSIsIm4iOiJxMkMtV2F1SzcxOEJKMm5JencxNDY1ZEZKd0Nud0hJYlRVQ01oSFhfMnVOYlJZR1pNTlExMHRyUHZYbGpRV3ExbUJNQm9SYUlqbm5xS1VvVk82bXVTQ2ktNmNDMmp2THoyMHp6Vm1XZmJNdDFjZGZKUWVlQ01rVHdWLVpheTFQcDlGN21NaFhHV3RmaG5RN1lMdmdFRUtvd3hocmtpWG5MZ0FWaF9xODgzN3BqSXZTdUlEX1V0Q2ZMNnV0SmtaMnVrZU93TFl1N2Y0d1NabTlyMHFFbWxvN1NuOUN5YUVUNTIzTzBvR0JmQS1DVmlkOFVKN0d2QzY2d2JuVmVZX2pkN2tReklwbEhoeS1vbHRTcUFHX0lOU0twZjI5XzlndEdkRFB6djlkN0JBc3JSY1F3VlRfVnZwYng4RFJlNldVZmd2d2I0UlItaFo2eFNIMFlySnNQQVEifX0.eyJjb250YWN0IjpbIm1haWx0bzptbG9jYXRpQGdtYWlsLmNvbSJdLCJhZ3JlZW1lbnQiOiJodHRwOi8vMTI3LjAuMC4xOjQwMDEvdGVybXMvdjEiLCJyZXNvdXJjZSI6Im5ldy1yZWcifQ'
41 13 ASSIGN !2, null
42 14 INIT_FCALL_BY_NAME 'openssl_sign'
43 15 SEND_VAR_EX !1
16 SEND_VAR_EX !2
17 SEND_VAR_EX !0
46 18 FETCH_CONSTANT ~17 'OPENSSL_ALGO_SHA256'
19 SEND_VAL_EX ~17
42 20 DO_FCALL 0 $18
47 21 TYPE_CHECK 1014 $18
22 > JMPZ ~19, ->26
48 23 > > INIT_FCALL 'exit'
24* SEND_VAL 'openssl_sign%28%29+failed'
25* DO_ICALL
51 26 > ASSIGN !3, 24
52 27 ASSIGN !4, 0
28 > JMP ->94
53 29 > INIT_FCALL 'strtoupper'
30 FRAMELESS_ICALL_1 dechex ~23 !4
31 SEND_VAL ~23
32 DO_ICALL $24
33 CONCAT ~25 '00000000', $24
34 FRAMELESS_ICALL_2 substr ~26 ~25, -8
35 CONCAT ~27 ~26, '+'
36 ECHO ~27
54 37 ASSIGN !5, 0
38 > JMP ->63
55 39 > ECHO '+'
56 40 MOD ~29 !5, 4
41 IS_IDENTICAL ~29, 0
42 > JMPZ ~30, ->44
57 43 > ECHO '+'
59 44 > ADD ~31 !4, !5
45 ASSIGN !6, ~31
60 46 STRLEN ~33 !2
47 IS_SMALLER_OR_EQUAL ~33, !6
48 > JMPZ ~34, ->51
61 49 > ECHO '++'
60 50 > JMP ->62
63 51 > INIT_FCALL 'strtoupper'
52 INIT_FCALL 'ord'
53 FETCH_DIM_R ~35 !2, !6
54 SEND_VAL ~35
55 DO_ICALL $36
56 FRAMELESS_ICALL_1 dechex ~37 $36
57 CONCAT ~38 '00', ~37
58 FRAMELESS_ICALL_2 substr ~39 ~38, -2
59 SEND_VAL ~39
60 DO_ICALL $40
61 ECHO $40
54 62 > PRE_INC !5
63 > IS_SMALLER !5, !3
64 > JMPNZ ~42, ->39
66 65 > ECHO '++'
67 66 ASSIGN !5, 0
67 > JMP ->90
68 68 > ADD ~44 !4, !5
69 ASSIGN !6, ~44
69 70 STRLEN ~46 !2
71 IS_SMALLER_OR_EQUAL ~46, !6
72 > JMPZ ~47, ->74
70 73 > > JMP ->92
72 74 > FETCH_DIM_R ~48 !2, !6
75 ASSIGN !7, ~48
73 76 INIT_FCALL 'ord'
77 SEND_VAR !7
78 DO_ICALL $50
79 ASSIGN !8, $50
74 80 IS_SMALLER_OR_EQUAL ~52 32, !8
81 > JMPZ_EX ~52 ~52, ->84
82 > IS_SMALLER_OR_EQUAL ~53 !8, 127
83 BOOL ~52 ~53
84 > > JMPZ ~52, ->87
85 > QM_ASSIGN ~54 !7
86 > JMP ->88
87 > QM_ASSIGN ~54 '.'
88 > ECHO ~54
67 89 PRE_INC !5
90 > IS_SMALLER !5, !3
91 > JMPNZ ~56, ->68
76 92 > ECHO '%0A'
52 93 ASSIGN_OP 1 !4, !3
94 > STRLEN ~58 !2
95 IS_SMALLER !4, ~58
96 > JMPNZ ~59, ->29
77 97 > > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.5.0