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 = 9
Branch analysis from position: 8
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 22
Branch analysis from position: 21
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 22
1 jumps found. (Code = 42) Position 1 = 100
Branch analysis from position: 100
2 jumps found. (Code = 44) Position 1 = 103, Position 2 = 25
Branch analysis from position: 103
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 69
Branch analysis from position: 69
2 jumps found. (Code = 44) Position 1 = 71, Position 2 = 40
Branch analysis from position: 71
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
2 jumps found. (Code = 44) Position 1 = 98, Position 2 = 74
Branch analysis from position: 98
2 jumps found. (Code = 44) Position 1 = 103, Position 2 = 25
Branch analysis from position: 103
Branch analysis from position: 25
Branch analysis from position: 74
2 jumps found. (Code = 43) Position 1 = 79, Position 2 = 80
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 98
Branch analysis from position: 98
Branch analysis from position: 80
2 jumps found. (Code = 46) Position 1 = 88, Position 2 = 90
Branch analysis from position: 88
2 jumps found. (Code = 43) Position 1 = 91, Position 2 = 93
Branch analysis from position: 91
1 jumps found. (Code = 42) Position 1 = 94
Branch analysis from position: 94
2 jumps found. (Code = 44) Position 1 = 98, Position 2 = 74
Branch analysis from position: 98
Branch analysis from position: 74
Branch analysis from position: 93
2 jumps found. (Code = 44) Position 1 = 98, Position 2 = 74
Branch analysis from position: 98
Branch analysis from position: 74
Branch analysis from position: 90
Branch analysis from position: 40
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 45
Branch analysis from position: 44
2 jumps found. (Code = 43) Position 1 = 50, Position 2 = 52
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
2 jumps found. (Code = 44) Position 1 = 71, Position 2 = 40
Branch analysis from position: 71
Branch analysis from position: 40
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 71, Position 2 = 40
Branch analysis from position: 71
Branch analysis from position: 40
Branch analysis from position: 45
Branch analysis from position: 6
filename: /in/OU9bs
function name: (null)
number of ops: 104
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, ->9
4 8 > > EXIT 'Unsupported+PHP+version+or+OpenSSH+extension+missing'
7 9 > 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 10 ASSIGN !1, 'eyJub25jZSI6IlpSQ0VyNXpDRmVlOVNnOGxCVzMtNEhHRG8tdGtuckxDQV96Y3VDUDg5ZTgiLCJhbGciOiJSUzI1NiIsImp3ayI6eyJlIjoiQVFBQiIsImt0eSI6IlJTQSIsIm4iOiJxMkMtV2F1SzcxOEJKMm5JencxNDY1ZEZKd0Nud0hJYlRVQ01oSFhfMnVOYlJZR1pNTlExMHRyUHZYbGpRV3ExbUJNQm9SYUlqbm5xS1VvVk82bXVTQ2ktNmNDMmp2THoyMHp6Vm1XZmJNdDFjZGZKUWVlQ01rVHdWLVpheTFQcDlGN21NaFhHV3RmaG5RN1lMdmdFRUtvd3hocmtpWG5MZ0FWaF9xODgzN3BqSXZTdUlEX1V0Q2ZMNnV0SmtaMnVrZU93TFl1N2Y0d1NabTlyMHFFbWxvN1NuOUN5YUVUNTIzTzBvR0JmQS1DVmlkOFVKN0d2QzY2d2JuVmVZX2pkN2tReklwbEhoeS1vbHRTcUFHX0lOU0twZjI5XzlndEdkRFB6djlkN0JBc3JSY1F3VlRfVnZwYng4RFJlNldVZmd2d2I0UlItaFo2eFNIMFlySnNQQVEifX0.eyJjb250YWN0IjpbIm1haWx0bzptbG9jYXRpQGdtYWlsLmNvbSJdLCJhZ3JlZW1lbnQiOiJodHRwOi8vMTI3LjAuMC4xOjQwMDEvdGVybXMvdjEiLCJyZXNvdXJjZSI6Im5ldy1yZWcifQ'
41 11 ASSIGN !2, null
42 12 INIT_FCALL_BY_NAME 'openssl_sign'
43 13 SEND_VAR_EX !1
14 SEND_VAR_EX !2
15 SEND_VAR_EX !0
46 16 FETCH_CONSTANT ~16 'OPENSSL_ALGO_SHA256'
17 SEND_VAL_EX ~16
42 18 DO_FCALL 0 $17
47 19 TYPE_CHECK 1014 $17
20 > JMPZ ~18, ->22
48 21 > > EXIT 'openssl_sign%28%29+failed'
51 22 > ASSIGN !3, 24
52 23 ASSIGN !4, 0
24 > JMP ->100
53 25 > INIT_FCALL 'substr'
26 INIT_FCALL 'strtoupper'
27 INIT_FCALL 'dechex'
28 SEND_VAR !4
29 DO_ICALL $21
30 SEND_VAR $21
31 DO_ICALL $22
32 CONCAT ~23 '00000000', $22
33 SEND_VAL ~23
34 SEND_VAL -8
35 DO_ICALL $24
36 CONCAT ~25 $24, '+'
37 ECHO ~25
54 38 ASSIGN !5, 0
39 > JMP ->69
55 40 > ECHO '+'
56 41 MOD ~27 !5, 4
42 IS_IDENTICAL ~27, 0
43 > JMPZ ~28, ->45
57 44 > ECHO '+'
59 45 > ADD ~29 !4, !5
46 ASSIGN !6, ~29
60 47 STRLEN ~31 !2
48 IS_SMALLER_OR_EQUAL ~31, !6
49 > JMPZ ~32, ->52
61 50 > ECHO '++'
60 51 > JMP ->68
63 52 > INIT_FCALL 'strtoupper'
53 INIT_FCALL 'substr'
54 INIT_FCALL 'dechex'
55 INIT_FCALL 'ord'
56 FETCH_DIM_R ~33 !2, !6
57 SEND_VAL ~33
58 DO_ICALL $34
59 SEND_VAR $34
60 DO_ICALL $35
61 CONCAT ~36 '00', $35
62 SEND_VAL ~36
63 SEND_VAL -2
64 DO_ICALL $37
65 SEND_VAR $37
66 DO_ICALL $38
67 ECHO $38
54 68 > PRE_INC !5
69 > IS_SMALLER !5, !3
70 > JMPNZ ~40, ->40
66 71 > ECHO '++'
67 72 ASSIGN !5, 0
73 > JMP ->96
68 74 > ADD ~42 !4, !5
75 ASSIGN !6, ~42
69 76 STRLEN ~44 !2
77 IS_SMALLER_OR_EQUAL ~44, !6
78 > JMPZ ~45, ->80
70 79 > > JMP ->98
72 80 > FETCH_DIM_R ~46 !2, !6
81 ASSIGN !7, ~46
73 82 INIT_FCALL 'ord'
83 SEND_VAR !7
84 DO_ICALL $48
85 ASSIGN !8, $48
74 86 IS_SMALLER_OR_EQUAL ~50 32, !8
87 > JMPZ_EX ~50 ~50, ->90
88 > IS_SMALLER_OR_EQUAL ~51 !8, 127
89 BOOL ~50 ~51
90 > > JMPZ ~50, ->93
91 > QM_ASSIGN ~52 !7
92 > JMP ->94
93 > QM_ASSIGN ~52 '.'
94 > ECHO ~52
67 95 PRE_INC !5
96 > IS_SMALLER !5, !3
97 > JMPNZ ~54, ->74
76 98 > ECHO '%0A'
52 99 ASSIGN_OP 1 !4, !3
100 > STRLEN ~56 !2
101 IS_SMALLER !4, ~56
102 > JMPNZ ~57, ->25
77 103 > > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0