Function at 0x1000e610
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2c
push ebp
push esi
mov esi, dword [esp + 0x38]
xor ebp, ebp
push edi
mov edi, dword [esp + 0x48]
cmp edi, 5
jae 0x1000e63c
push str.Host_key_data_is_too_short
push 0xfffffffffffffff6
push esi
call fcn.10013940
add esp, 0xc
pop edi
pop esi
pop ebp
add esp, 0x2c
ret
push ebx
mov ebx, dword [esp + 0x5c]
mov eax, dword [ebx]
test eax, eax
jne 0x1000e657
call sub.libcrypto_3.dll_BN_new
mov dword [ebx + 0x70], eax
mov dword [ebx], 2
jmp 0x1000e660
cmp eax, 2
jne 0x1000ef52
mov eax, dword [esp + 0x48]
lea ebp, [esi + 0x60]
mov dword [esp + 0x30], eax
inc eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push ebp
lea eax, [esp + 0x38]
mov dword [esp + 0x40], edi
push eax
push esi
call fcn.100138b0
add esp, 0x10
test eax, eax
je 0x1000e6a3
push str.Unable_to_allocate_memory_for_a_copy_of_the_host_key
push 0xfffffffffffffffa
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
mov eax, dword [esp + 0x10]
mov dword [esi + 0x64], eax
lea eax, [esp + 0x4c]
push eax
call fcn.10002500
add esp, 4
test eax, eax
je 0x1000e6ec
push dword [esi + 0x64]
push dword [ebp]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0
lea eax, [esi + 0x68]
push eax
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
add esp, 0x1c
mov eax, 1
jmp 0x1000e6ee
xor eax, eax
mov dword [esi + 0x78], eax
lea eax, [esp + 0x4c]
push eax
call fcn.10003580
add esp, 4
test eax, eax
je 0x1000e733
push dword [esi + 0x64]
push dword [ebp]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0
lea eax, [esi + 0x7c]
push eax
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
add esp, 0x1c
mov eax, 1
jmp 0x1000e735
xor eax, eax
mov dword [esi + 0x90], eax
lea eax, [esp + 0x4c]
push eax
call fcn.100035d0
add esp, 4
test eax, eax
je 0x1000e780
push dword [esi + 0x64]
push dword [ebp]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0
lea eax, [esi + 0x94]
push eax
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
add esp, 0x1c
mov eax, 1
jmp 0x1000e782
xor eax, eax
mov dword [esi + 0xb4], eax
lea ecx, [esi + 0x5c]
mov eax, dword [esi + 0x58]
push ecx
push dword [esi + 0x64]
push dword [ebp]
mov eax, dword [eax + 8]
push esi
call eax
add esp, 0x10
test eax, eax
je 0x1000e7b9
push str.Unable_to_initialize_hostkey_importer
push 0xfffffffffffffff6
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10013ad0
add esp, 0xc
test eax, eax
je 0x1000e7eb
push str.Unexpected_key_length
push 0xfffffffffffffff2
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
lea eax, [ebx + 0x88]
push eax
lea ecx, [ebx + 0x7c]
push ecx
lea eax, [esp + 0x38]
push eax
call fcn.10013ad0
add esp, 0xc
test eax, eax
je 0x1000e81e
push str.Unexpected_ecdh_server_sig_length
push 0xfffffffffffffff6
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
push dword [esp + 0x10]
lea edi, [ebx + 0x70]
push dword [esp + 0x28]
push dword [esp + 0x60]
push edi
call fcn.10001860
add esp, 0x10
test eax, eax
je 0x1000e851
push str.Unable_to_create_ECDH_shared_secret
push 0xfffffffffffffffb
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
push dword [edi]
call sub.libcrypto_3.dll_BN_num_bits
push dword [edi]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 5
mov dword [ebx + 0x84], eax
call sub.libcrypto_3.dll_BN_num_bits
add esp, 8
and eax, reloc.WS2_32.dll_getsockopt
jns 0x1000e885
dec eax
or eax, 0xfffffff8
add eax, 1
je 0x1000e88d
dec dword [ebx + 0x84]
mov eax, dword [esi + 4]
push esi
push dword [ebx + 0x84]
call eax
mov ecx, eax
add esp, 8
mov dword [ebx + 0x78], ecx
test ecx, ecx
jne 0x1000e8bc
push str.Unable_to_allocate_buffer_for_K
push 0xfffffffffffffffa
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
mov eax, dword [ebx + 0x84]
sub eax, 4
push eax
push ecx
call fcn.10013d60
push dword [edi]
call sub.libcrypto_3.dll_BN_num_bits
add esp, 0xc
and eax, reloc.WS2_32.dll_getsockopt
jns 0x1000e8e2
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, dword [ebx + 0x78]
add ecx, 4
test eax, eax
jne 0x1000e8f4
mov byte [ecx], al
mov ecx, dword [ebx + 0x78]
add ecx, 5
mov eax, dword [edi]
push ecx
push eax
call sub.libcrypto_3.dll_BN_bn2bin
mov eax, dword [esp + 0x4c]
add esp, 8
sub eax, 0x19f
je 0x1000ed18
sub eax, 0x12c
je 0x1000eb18
sub eax, 1
jne 0x1000ef44
lea eax, [esp + 0x4c]
push eax
mov dword [ebx + 0x8c], eax
call fcn.10003670
mov ecx, dword [esi + 0xf0]
lea ebp, [ebx + 0x10]
add esp, 4
test ecx, ecx
je 0x1000e98f
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000e946
sub ecx, edx
lea eax, [ecx - 2]
push eax
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edx, dword [esi + 0xf0]
add esp, 0x14
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000e973
sub ecx, edi
lea eax, [ecx - 2]
push eax
push edx
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000e9b6
push 0x19
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x19
push str.SSH_2.0_libssh2_1.9.0_DEV
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x20
mov ecx, dword [esi + 0xb8]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000e9c0
sub ecx, edx
push ecx
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edx, dword [esi + 0xb8]
add esp, 0x14
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000e9f0
sub ecx, edi
push ecx
push edx
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xf8]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xf8]
push dword [esi + 0xf4]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xc0]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x88]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x40
push dword [esi + 0xc0]
push dword [esi + 0xbc]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x64]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x64]
push dword [esi + 0x60]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edi, dword [esp + 0x80]
push edi
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x88]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x40
push edi
push dword [esp + 0x54]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esp + 0x1c]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esp + 0x30]
push dword [esp + 0x48]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x80]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0
push ebp
push dword [esp + 0x8c]
call sub.libcrypto_3.dll_EVP_DigestFinal
add esp, 0x44
push dword [esp + 0x4c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
lea ecx, [esi + 0x5c]
push ecx
push 0x40
jmp 0x1000ef13
lea eax, [esp + 0x4c]
push eax
mov dword [ebx + 0x8c], eax
call fcn.10003620
mov ecx, dword [esi + 0xf0]
lea ebp, [ebx + 0x10]
add esp, 4
test ecx, ecx
je 0x1000eb8c
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000eb40
sub ecx, edx
lea eax, [ecx - 2]
push eax
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edx, dword [esi + 0xf0]
add esp, 0x14
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000eb70
sub ecx, edi
lea eax, [ecx - 2]
push eax
push edx
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000ebb3
push 0x19
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x19
push str.SSH_2.0_libssh2_1.9.0_DEV
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x20
mov ecx, dword [esi + 0xb8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ebc0
sub ecx, edx
push ecx
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edx, dword [esi + 0xb8]
add esp, 0x14
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ebf0
sub ecx, edi
push ecx
push edx
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xf8]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xf8]
push dword [esi + 0xf4]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xc0]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x88]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x40
push dword [esi + 0xc0]
push dword [esi + 0xbc]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x64]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x64]
push dword [esi + 0x60]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edi, dword [esp + 0x80]
push edi
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x88]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x40
push edi
push dword [esp + 0x54]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esp + 0x1c]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esp + 0x30]
push dword [esp + 0x48]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x80]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0
push ebp
push dword [esp + 0x8c]
call sub.libcrypto_3.dll_EVP_DigestFinal
add esp, 0x44
push dword [esp + 0x4c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
lea ecx, [esi + 0x5c]
push ecx
push 0x30
jmp 0x1000ef13
lea eax, [esp + 0x4c]
push eax
mov dword [ebx + 0x8c], eax
call fcn.100035d0
mov ecx, dword [esi + 0xf0]
lea ebp, [ebx + 0x10]
add esp, 4
test ecx, ecx
je 0x1000ed8c
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ed40
sub ecx, edx
lea eax, [ecx - 2]
push eax
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edx, dword [esi + 0xf0]
add esp, 0x14
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000ed70
sub ecx, edi
lea eax, [ecx - 2]
push eax
push edx
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000edb3
push 0x19
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x19
push str.SSH_2.0_libssh2_1.9.0_DEV
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x20
mov ecx, dword [esi + 0xb8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000edc0
sub ecx, edx
push ecx
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x5c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edx, dword [esi + 0xb8]
add esp, 0x14
mov ecx, edx
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000edf0
sub ecx, edi
push ecx
push edx
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xf8]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xf8]
push dword [esi + 0xf4]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0xc0]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x88]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x40
push dword [esi + 0xc0]
push dword [esi + 0xbc]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x64]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x64]
push dword [esi + 0x60]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
mov edi, dword [esp + 0x80]
push edi
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x88]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x40
push edi
push dword [esp + 0x54]
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esp + 0x1c]
push ebp
call fcn.10013d60
push 4
push ebp
push dword [esp + 0x68]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esp + 0x30]
push dword [esp + 0x48]
push dword [esp + 0x74]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x80]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0
push ebp
push dword [esp + 0x8c]
call sub.libcrypto_3.dll_EVP_DigestFinal
add esp, 0x44
push dword [esp + 0x4c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
lea ecx, [esi + 0x5c]
push ecx
push 0x20
mov eax, dword [esi + 0x58]
push ebp
push dword [ebx + 0x88]
push dword [ebx + 0x7c]
mov eax, dword [eax + 0x14]
push esi
call eax
add esp, 0x1c
test eax, eax
je 0x1000ef44
push str.Unable_to_verify_hostkey_signature
push 0xfffffffffffffff5
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
lea ecx, [ebx + 0x50]
mov dword [ebx], 3
mov byte [ecx], 0x15
jmp 0x1000ef5a
lea ecx, [ebx + 0x50]
cmp eax, 3
jne 0x1000ef91
push 0
push 0
push 1
push ecx
push esi
call fcn.1001f6b0
add esp, 0x14
cmp eax, 0xffffffdb
je 0x1000efbf
test eax, eax
je 0x1000ef89
push str.Unable_to_send_NEWKEYS_message
push eax
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
mov dword [ebx], 5
jmp 0x1000ef9a
cmp eax, 5
jne 0x100101ef
lea eax, [ebx + 0x90]
push eax
push 0
push 0
push 0
lea eax, [ebx + 0x5c]
push eax
lea edi, [ebx + 0xc]
push edi
push 0x15
push esi
call fcn.10014f60
add esp, 0x20
cmp eax, 0xffffffdb
jne 0x1000efcc
pop ebx
pop edi
pop esi
mov eax, 0xffffffdb
pop ebp
add esp, 0x2c
ret
test eax, eax
je 0x1000efe6
push str.Timed_out_waiting_for_NEWKEYS
push eax
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
or dword [esi + 0x34], 2
mov eax, dword [esi + 0xc]
push esi
push dword [edi]
call eax
mov ebp, dword [esp + 0x4c]
add esp, 8
cmp dword [esi + 0x48], 0
jne 0x1000f069
cmp ebp, 0x19f
jne 0x1000f00e
mov edi, 0x20
jmp 0x1000f02e
cmp ebp, 0x2cb
jne 0x1000f01d
mov edi, 0x30
jmp 0x1000f02e
cmp ebp, 0x2cc
jne 0x1000f122
mov edi, 0x40
mov eax, dword [esi + 4]
push esi
push edi
call eax
mov ecx, eax
add esp, 8
mov dword [esi + 0x48], ecx
test ecx, ecx
jne 0x1000f058
push str.Unable_to_allocate_buffer_for_SHA_digest
push 0xfffffffffffffffa
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
push edi
lea eax, [ebx + 0x10]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x4c], edi
mov eax, dword [esi + 0xfc]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1000f083
lea eax, [esi + 0x100]
push eax
push esi
call ecx
add esp, 8
mov eax, dword [esi + 0xfc]
cmp dword [eax + 0x18], 0
je 0x1000f608
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
cmp ebp, 0x19f
jne 0x1000f257
mov eax, dword [eax + 0xc]
xor edi, edi
add eax, 0x20
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ebp, eax
add esp, 8
mov dword [esp + 0x24], ebp
test ebp, ebp
je 0x1000f6da
mov eax, dword [esi + 0xfc]
cmp dword [eax + 0xc], edi
jbe 0x1000f188
nop
lea eax, [esp + 0x4c]
push eax
call fcn.100035d0
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x20
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test edi, edi
je 0x1000f139
push edi
push ebp
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f15b
push str.Unknown_SHA_digest_for_EC_curve
push 0xfffffffffffffffb
push esi
call fcn.10013940
add esp, 0xc
mov ebp, eax
jmp 0x100101ef
push 1
push str.ACBDEF
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov eax, dword [esi + 0xfc]
add edi, 0x20
add esp, 0x10
cmp edi, dword [eax + 0xc]
jb 0x1000f0e0
mov eax, dword [eax + 0x10]
xor ebp, ebp
add eax, 0x20
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edx, dword [esp + 0x2c]
mov edi, eax
add esp, 8
mov eax, edx
test edi, edi
je 0x1000f6c6
mov ecx, dword [esi + 0xfc]
mov dword [esp + 0x24], edx
cmp dword [ecx + 0x10], ebp
jbe 0x1000f586
mov dword [esp + 0x24], edx
lea eax, [esp + 0x10]
push eax
call fcn.100035d0
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x20
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000f203
push ebp
push edi
push dword [esp + 0x18]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f225
push 1
push 0x10027c14
push dword [esp + 0x18]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x18]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xfc]
add ebp, 0x20
add esp, 0x10
cmp ebp, dword [ecx + 0x10]
jb 0x1000f1c1
jmp 0x1000f586
cmp ebp, 0x2cb
jne 0x1000f3f8
mov eax, dword [eax + 0xc]
xor edi, edi
add eax, 0x30
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ebp, eax
add esp, 8
mov dword [esp + 0x4c], ebp
test ebp, ebp
je 0x1000f6da
mov eax, dword [esi + 0xfc]
cmp dword [eax + 0xc], edi
jbe 0x1000f323
lea eax, [esp + 0x14]
push eax
call fcn.10003620
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x30
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test edi, edi
je 0x1000f2d4
push edi
push ebp
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f2f6
push 1
push str.ACBDEF
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov eax, dword [esi + 0xfc]
add edi, 0x30
add esp, 0x10
cmp edi, dword [eax + 0xc]
jb 0x1000f292
mov eax, dword [eax + 0x10]
xor ebp, ebp
add eax, 0x30
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ecx, dword [esp + 0x54]
mov edi, eax
add esp, 8
mov eax, ecx
test edi, edi
je 0x1000f6c6
mov edx, dword [esi + 0xfc]
mov dword [esp + 0x24], ecx
cmp dword [edx + 0x10], ebp
jbe 0x1000f3f1
mov dword [esp + 0x24], ecx
nop dword [eax]
lea eax, [esp + 0x18]
push eax
call fcn.10003620
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x30
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000f3a2
push ebp
push edi
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f3c4
push 1
push 0x10027c14
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov edx, dword [esi + 0xfc]
add ebp, 0x30
add esp, 0x10
cmp ebp, dword [edx + 0x10]
jb 0x1000f360
mov ecx, edx
jmp 0x1000f586
cmp ebp, 0x2cc
jne 0x1000f6da
mov eax, dword [eax + 0xc]
xor edi, edi
add eax, 0x40
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ebp, eax
mov dword [esp + 0x2c], eax
add esp, 8
test ebp, ebp
je 0x1000f6da
mov eax, dword [esi + 0xfc]
cmp dword [eax + 0xc], edi
jbe 0x1000f4c6
lea eax, [esp + 0x1c]
push eax
call fcn.10003670
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x40
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x34]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test edi, edi
je 0x1000f475
push edi
push ebp
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f497
push 1
push str.ACBDEF
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov eax, dword [esi + 0xfc]
add edi, 0x40
add esp, 0x10
cmp edi, dword [eax + 0xc]
jb 0x1000f433
jmp 0x1000f4ca
mov dword [esp + 0x24], ebp
mov eax, dword [eax + 0x10]
xor ebp, ebp
add eax, 0x40
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6c2
mov ecx, dword [esi + 0xfc]
cmp dword [ecx + 0x10], ebp
jbe 0x1000f586
lea eax, [esp + 0x20]
push eax
call fcn.10003670
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x40
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000f537
push ebp
push edi
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f559
push 1
push 0x10027c14
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x34]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xfc]
add ebp, 0x40
add esp, 0x10
cmp ebp, dword [ecx + 0x10]
jb 0x1000f4f5
mov ebp, dword [esp + 0x24]
lea eax, [esi + 0x100]
push eax
push 1
lea eax, [esp + 0x34]
push eax
push edi
lea eax, [esp + 0x38]
push eax
mov eax, dword [ecx + 0x18]
push ebp
push ecx
push esi
call eax
add esp, 0x20
test eax, eax
je 0x1000f5c8
mov eax, dword [esi + 0xc]
push esi
push ebp
call eax
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 0x10
mov ebp, 0xfffffffb
jmp 0x100101ef
cmp dword [esp + 0x28], 0
je 0x1000f5e8
mov eax, dword [esi + 0xfc]
push dword [eax + 0xc]
push ebp
call fcn.10013a30
mov eax, dword [esi + 0xc]
push esi
push ebp
call eax
add esp, 0x10
cmp dword [esp + 0x2c], 0
je 0x1000f608
mov eax, dword [esi + 0xfc]
push dword [eax + 0x10]
push edi
call fcn.10013a30
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 0x10
mov eax, dword [esi + 0xc4]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x1000f622
lea eax, [esi + 0xc8]
push eax
push esi
call ecx
add esp, 8
mov eax, dword [esi + 0xc4]
cmp dword [eax + 0x18], 0
je 0x1000fba0
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
cmp ecx, 0x19f
jne 0x1000f806
mov eax, dword [eax + 0xc]
xor edi, edi
add eax, 0x20
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ebp, eax
add esp, 8
mov dword [esp + 0x20], ebp
test ebp, ebp
je 0x1000f6d0
mov eax, dword [esi + 0xc4]
cmp dword [eax + 0xc], edi
jbe 0x1000f731
nop dword [eax]
lea eax, [esp + 0x4c]
push eax
call fcn.100035d0
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x20
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test edi, edi
je 0x1000f6e2
push edi
push ebp
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f704
mov eax, dword [esp + 0x24]
push esi
push eax
mov eax, dword [esi + 0xc]
call eax
add esp, 8
mov ebp, 0xfffffffb
jmp 0x100101ef
or ebp, 0xffffffff
jmp 0x100101ef
push 1
push 0x10027c18
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov eax, dword [esi + 0xc4]
add edi, 0x20
add esp, 0x10
cmp edi, dword [eax + 0xc]
jb 0x1000f680
mov eax, dword [eax + 0x10]
xor ebp, ebp
add eax, 0x20
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edx, dword [esp + 0x28]
mov edi, eax
add esp, 8
mov eax, edx
test edi, edi
je 0x1000fc56
mov ecx, dword [esi + 0xc4]
mov dword [esp + 0x10], edx
cmp dword [ecx + 0x10], ebp
jbe 0x1000fb36
mov dword [esp + 0x10], edx
nop word [eax + eax]
lea eax, [esp + 0x24]
push eax
call fcn.100035d0
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x20
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x3c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000f7b2
push ebp
push edi
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f7d4
push 1
push 0x10027c1c
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xc4]
add ebp, 0x20
add esp, 0x10
cmp ebp, dword [ecx + 0x10]
jb 0x1000f770
jmp 0x1000fb36
cmp ecx, 0x2cb
jne 0x1000f9a8
mov eax, dword [eax + 0xc]
xor edi, edi
add eax, 0x30
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ebp, eax
add esp, 8
mov dword [esp + 0x4c], ebp
test ebp, ebp
je 0x1000f6d0
mov eax, dword [esi + 0xc4]
cmp dword [eax + 0xc], edi
jbe 0x1000f8d2
lea eax, [esp + 0x20]
push eax
call fcn.10003620
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x30
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test edi, edi
je 0x1000f883
push edi
push ebp
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f8a5
push 1
push 0x10027c18
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x34]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov eax, dword [esi + 0xc4]
add edi, 0x30
add esp, 0x10
cmp edi, dword [eax + 0xc]
jb 0x1000f841
mov eax, dword [eax + 0x10]
xor ebp, ebp
add eax, 0x30
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ecx, dword [esp + 0x54]
mov edi, eax
add esp, 8
mov eax, ecx
test edi, edi
je 0x1000fc56
mov edx, dword [esi + 0xc4]
mov dword [esp + 0x10], ecx
cmp dword [edx + 0x10], ebp
jbe 0x1000f9a1
mov dword [esp + 0x10], ecx
nop dword [eax + eax]
lea eax, [esp + 0x1c]
push eax
call fcn.10003620
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x30
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x34]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000f952
push ebp
push edi
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000f974
push 1
push 0x10027c1c
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov edx, dword [esi + 0xc4]
add ebp, 0x30
add esp, 0x10
cmp ebp, dword [edx + 0x10]
jb 0x1000f910
mov ecx, edx
jmp 0x1000fb36
cmp ecx, 0x2cc
jne 0x1000f6d0
mov eax, dword [eax + 0xc]
xor edi, edi
add eax, 0x40
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov ebp, eax
mov dword [esp + 0x18], eax
add esp, 8
test ebp, ebp
je 0x1000f6d0
mov eax, dword [esi + 0xc4]
cmp dword [eax + 0xc], edi
jbe 0x1000fa76
lea eax, [esp + 0x18]
push eax
call fcn.10003670
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x40
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test edi, edi
je 0x1000fa25
push edi
push ebp
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000fa47
push 1
push 0x10027c18
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x24]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov eax, dword [esi + 0xc4]
add edi, 0x40
add esp, 0x10
cmp edi, dword [eax + 0xc]
jb 0x1000f9e3
jmp 0x1000fa7a
mov dword [esp + 0x10], ebp
mov eax, dword [eax + 0x10]
xor ebp, ebp
add eax, 0x40
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000fc52
mov ecx, dword [esi + 0xc4]
cmp dword [ecx + 0x10], ebp
jbe 0x1000fb36
lea eax, [esp + 0x14]
push eax
call fcn.10003670
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x40
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000fae7
push ebp
push edi
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000fb09
push 1
push 0x10027c1c
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x1c]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x20]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xc4]
add ebp, 0x40
add esp, 0x10
cmp ebp, dword [ecx + 0x10]
jb 0x1000faa5
mov ebp, dword [esp + 0x10]
lea eax, [esi + 0xc8]
push eax
push 0
lea eax, [esp + 0x30]
push eax
push edi
lea eax, [esp + 0x3c]
push eax
mov eax, dword [ecx + 0x18]
push ebp
push ecx
push esi
call eax
add esp, 0x20
test eax, eax
jne 0x1000f5ad
cmp dword [esp + 0x2c], eax
je 0x1000fb80
mov eax, dword [esi + 0xc4]
push dword [eax + 0xc]
push ebp
call fcn.10013a30
mov eax, dword [esi + 0xc]
push esi
push ebp
call eax
add esp, 0x10
cmp dword [esp + 0x28], 0
je 0x1000fba0
mov eax, dword [esi + 0xc4]
push dword [eax + 0x10]
push edi
call fcn.10013a30
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 0x10
mov eax, dword [esi + 0x104]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1000fbba
lea eax, [esi + 0x10c]
push eax
push esi
call ecx
add esp, 8
mov eax, dword [esi + 0x104]
cmp dword [eax + 0xc], 0
je 0x1000fe89
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], 0
cmp ecx, 0x19f
jne 0x1000fcbe
mov eax, dword [eax + 8]
xor ebp, ebp
add eax, 0x20
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6d0
mov ecx, dword [esi + 0x104]
cmp dword [ecx + 8], ebp
jbe 0x1000fe53
nop dword [eax]
lea eax, [esp + 0x4c]
push eax
call fcn.100035d0
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x20
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000fc6a
push ebp
push edi
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000fc8c
mov eax, dword [esp + 0x10]
push esi
push eax
mov eax, dword [esi + 0xc]
call eax
add esp, 8
mov ebp, 0xfffffffb
jmp 0x100101ef
push 1
push 0x10027c20
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0x104]
add ebp, 0x20
add esp, 0x10
cmp ebp, dword [ecx + 8]
jb 0x1000fc10
jmp 0x1000fe53
cmp ecx, 0x2cb
jne 0x1000fd8b
mov eax, dword [eax + 8]
xor ebp, ebp
add eax, 0x30
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6d0
mov ecx, dword [esi + 0x104]
cmp dword [ecx + 8], ebp
jbe 0x1000fe53
lea eax, [esp + 0x24]
push eax
call fcn.10003620
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x30
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x3c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000fd37
push ebp
push edi
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000fd59
push 1
push 0x10027c20
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0x104]
add ebp, 0x30
add esp, 0x10
cmp ebp, dword [ecx + 8]
jb 0x1000fcf5
jmp 0x1000fe53
cmp ecx, 0x2cc
jne 0x1000f6d0
mov eax, dword [eax + 8]
xor ebp, ebp
add eax, 0x40
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6d0
mov ecx, dword [esi + 0x104]
cmp dword [ecx + 8], ebp
jbe 0x1000fe53
lea eax, [esp + 0x20]
push eax
call fcn.10003670
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x40
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000fe04
push ebp
push edi
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000fe26
push 1
push 0x10027c20
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x34]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0x104]
add ebp, 0x40
add esp, 0x10
cmp ebp, dword [ecx + 8]
jb 0x1000fdc2
lea eax, [esi + 0x10c]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [ecx + 0xc]
push edi
push esi
call eax
add esp, 0x10
cmp dword [esp + 0x2c], 0
je 0x1000fe89
mov eax, dword [esi + 0x104]
push dword [eax + 8]
push edi
call fcn.10013a30
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 0x10
mov eax, dword [esi + 0xcc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1000fea3
lea eax, [esi + 0xd4]
push eax
push esi
call ecx
add esp, 8
mov eax, dword [esi + 0xcc]
cmp dword [eax + 0xc], 0
je 0x10010157
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], 0
cmp ecx, 0x19f
jne 0x1000ff8c
mov eax, dword [eax + 8]
xor ebp, ebp
add eax, 0x20
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6d0
mov ecx, dword [esi + 0xcc]
cmp dword [ecx + 8], ebp
jbe 0x10010121
lea eax, [esp + 0x4c]
push eax
call fcn.100035d0
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x20
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x64]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x1000ff38
push ebp
push edi
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x1000ff5a
push 1
push 0x10027c24
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x60]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x54]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x58]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xcc]
add ebp, 0x20
add esp, 0x10
cmp ebp, dword [ecx + 8]
jb 0x1000fef6
jmp 0x10010121
cmp ecx, 0x2cb
jne 0x10010059
mov eax, dword [eax + 8]
xor ebp, ebp
add eax, 0x30
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6d0
mov ecx, dword [esi + 0xcc]
cmp dword [ecx + 8], ebp
jbe 0x10010121
lea eax, [esp + 0x24]
push eax
call fcn.10003620
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x30
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x3c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x10010005
push ebp
push edi
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x10010027
push 1
push 0x10027c24
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x30]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xcc]
add ebp, 0x30
add esp, 0x10
cmp ebp, dword [ecx + 8]
jb 0x1000ffc3
jmp 0x10010121
cmp ecx, 0x2cc
jne 0x1000f6d0
mov eax, dword [eax + 8]
xor ebp, ebp
add eax, 0x40
push esi
push eax
mov eax, dword [esi + 4]
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x1000f6d0
mov ecx, dword [esi + 0xcc]
cmp dword [ecx + 8], ebp
jbe 0x10010121
lea eax, [esp + 0x20]
push eax
call fcn.10003670
push dword [ebx + 0x84]
push dword [ebx + 0x78]
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push 0x40
lea eax, [ebx + 0x10]
push eax
push dword [esp + 0x38]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x1c
test ebp, ebp
je 0x100100d2
push ebp
push edi
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0xc
jmp 0x100100f4
push 1
push 0x10027c24
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestUpdate
push dword [esi + 0x4c]
push dword [esi + 0x48]
push dword [esp + 0x34]
call sub.libcrypto_3.dll_EVP_DigestUpdate
add esp, 0x18
push 0
lea eax, [edi + ebp]
push eax
push dword [esp + 0x28]
call sub.libcrypto_3.dll_EVP_DigestFinal
push dword [esp + 0x2c]
call sub.libcrypto_3.dll_EVP_MD_CTX_free
mov ecx, dword [esi + 0xcc]
add ebp, 0x40
add esp, 0x10
cmp ebp, dword [ecx + 8]
jb 0x10010090
lea eax, [esi + 0xd4]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [ecx + 0xc]
push edi
push esi
call eax
add esp, 0x10
cmp dword [esp + 0x2c], 0
je 0x10010157
mov eax, dword [esi + 0xcc]
push dword [eax + 8]
push edi
call fcn.10013a30
mov eax, dword [esi + 0xc]
push esi
push edi
call eax
add esp, 0x10
mov eax, dword [esi + 0x110]
test eax, eax
je 0x10010177
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x10010177
lea eax, [esi + 0x114]
push eax
push 1
push esi
call ecx
add esp, 0xc
mov eax, dword [esi + 0x110]
test eax, eax
je 0x1001019f
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1001019f
lea eax, [esi + 0x114]
push eax
push 1
push esi
call ecx
add esp, 0xc
test eax, eax
jne 0x1000f5be
mov eax, dword [esi + 0xd8]
test eax, eax
je 0x100101bf
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x100101bf
lea eax, [esi + 0xdc]
push eax
push 0
push esi
call ecx
add esp, 0xc
mov eax, dword [esi + 0xd8]
test eax, eax
je 0x100101ed
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x100101ed
lea eax, [esi + 0xdc]
push eax
push 0
push esi
call ecx
xor ebp, ebp
add esp, 0xc
test eax, eax
mov ecx, 0xfffffffb
cmovne ebp, ecx
jmp 0x100101ef
xor ebp, ebp
push dword [ebx + 0x70]
call sub.libcrypto_3.dll_BN_clear_free
mov eax, dword [ebx + 0x78]
add esp, 4
mov dword [ebx + 0x70], 0
test eax, eax
je 0x10010219
push esi
push eax
mov eax, dword [esi + 0xc]
call eax
add esp, 8
mov dword [ebx + 0x78], 0
mov dword [ebx], 0
mov eax, ebp
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x2c
ret