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

Disassembly:
sub esp, 0x40
mov eax, dword [esi]
push ebx
push ebp
xor ebp, ebp
mov dword [esp + 8], ebp
cmp eax, ebp
jne 0x1006ffdc
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0x50], ebp
call fcn.10092808
mov dword [esi + 0x34], eax
call fcn.10092742
mov dword [esi + 0x38], eax
call fcn.10092742
mov dword [esi + 0x3c], eax
call fcn.10092742
mov dword [esi + 0x40], eax
call fcn.10092742
mov dword [esi + 0x44], eax
xor eax, eax
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
push 0xffffffffffffffff
mov dword [esi + 0x8c], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esi + 0x38]
push ebp
push eax
push ecx
call fcn.10092802
mov edx, dword [esi + 0x34]
mov eax, dword [esp + 0x60]
mov ecx, dword [esi + 0x38]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esi + 0x3c]
push ecx
push edx
push eax
call fcn.100927fc
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.100926a6
add eax, 7
cdq
and edx, 7
add eax, edx
mov edx, dword [esi + 0x3c]
sar eax, 3
add eax, 6
push edx
mov dword [esi + 0x28], eax
call fcn.100926a6
add esp, 0x2c
and eax, reloc.WS2_32.dll_getsockopt
jns 0x1006ff4f
dec eax
or eax, 0xfffffff8
inc eax
je 0x1006ff54
dec dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov ecx, dword [edi + 4]
push edi
push eax
call ecx
add esp, 8
mov dword [esi + 4], eax
cmp eax, ebp
jne 0x1006ff81
push str.Out_of_memory_error
push 0xfffffffffffffffa
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov dl, byte [esp + 0x58]
mov byte [eax], dl
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 4]
sub eax, 5
push eax
inc ecx
push ecx
call fcn.1006cc80
mov edx, dword [esi + 0x3c]
push edx
call fcn.100926a6
add esp, 0xc
and eax, reloc.WS2_32.dll_getsockopt
jns 0x1006ffb0
dec eax
or eax, 0xfffffff8
inc eax
je 0x1006ffba
mov eax, dword [esi + 4]
add eax, 5
jmp 0x1006ffc7
mov edx, dword [esi + 4]
mov byte [edx + 5], 0
mov eax, dword [esi + 4]
add eax, 6
mov ecx, dword [esi + 0x3c]
push eax
push ecx
call fcn.100926a0
add esp, 8
mov dword [esi], 2
jmp 0x1006ffe1
cmp eax, 2
jne 0x10070028
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 4]
push ebp
push ebp
push edx
push eax
push edi
call fcn.1006fb30
add esp, 0x14
cmp eax, 0xffffffdb
jne 0x10070004
pop ebp
mov eax, 0xffffffdb
pop ebx
add esp, 0x40
ret
cmp eax, ebp
je 0x10070020
push str.Unable_to_send_KEX_init_message
push eax
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov dword [esi], 3
jmp 0x1007002d
cmp eax, 3
jne 0x10070061
test byte [edi + 0x44], 1
je 0x10070059
lea ecx, [esi + 0x90]
push ecx
push edi
call fcn.1006f130
add esp, 8
cmp eax, 0xffffffdb
je 0x1006fff9
cmp eax, ebp
jg 0x10070055
mov dword [esp + 8], eax
jmp 0x10070dbe
and dword [edi + 0x44], 0xfffffffe
mov dword [esi], 4
jmp 0x1007006a
cmp eax, 4
jne 0x10070501
mov ecx, dword [esp + 0x5c]
lea edx, [esi + 0x80]
push edx
push ebp
push ebp
push ebp
lea eax, [esi + 0x2c]
push eax
lea ebx, [esi + 8]
push ebx
push ecx
push edi
call fcn.1006f020
add esp, 0x20
cmp eax, 0xffffffdb
je 0x1006fff9
cmp eax, ebp
je 0x100700b0
push str.Timed_out_waiting_for_KEX_reply
push 0xfffffffffffffff7
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov ebx, dword [ebx]
lea eax, [ebx + 1]
push eax
mov dword [esi + 0x48], eax
call fcn.1006cc00
mov dword [edi + 0x64], eax
add dword [esi + 0x48], 4
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 4]
push edi
push edx
call eax
add esp, 0xc
mov dword [edi + 0x60], eax
cmp eax, ebp
jne 0x100700f2
push str.Unable_to_allocate_memory_for_a_copy_of_the_host_key
push 0xfffffffffffffffa
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov ecx, dword [edi + 0x64]
mov edx, dword [esi + 0x48]
push ecx
push edx
push eax
call fcn.100752a0
mov eax, dword [edi + 0x64]
add dword [esi + 0x48], eax
push 0x100a56cc
call fcn.1009272a
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.10092724
add esp, 0x18
test eax, eax
je 0x1007014f
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
push edx
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.1009271e
push ebp
lea edx, [edi + 0x68]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.10092718
add esp, 0x18
mov dword [edi + 0x78], 1
jmp 0x10070152
mov dword [edi + 0x78], ebp
push str.sha1
call fcn.1009272a
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10092724
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.1009271e
push ebp
lea edx, [edi + 0x7c]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.10092718
mov edx, dword [edi + 0x64]
mov ecx, dword [edi + 0x58]
mov ecx, dword [ecx + 8]
lea eax, [edi + 0x5c]
push eax
mov eax, dword [edi + 0x60]
push edx
push eax
push edi
call ecx
add esp, 0x34
test eax, eax
je 0x100701bd
push str.Unable_to_initialize_hostkey_importer
push 0xfffffffffffffff6
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov edx, dword [esi + 0x48]
push edx
call fcn.1006cc00
mov ecx, dword [esi + 0x48]
add ecx, 4
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x4c]
add ecx, eax
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x40]
push ecx
push eax
push edx
mov dword [esi + 0x58], eax
call fcn.1009273c
mov eax, dword [esi + 0x48]
push eax
call fcn.1006cc00
mov ecx, dword [esi + 0x34]
add dword [esi + 0x48], 4
mov edx, dword [esp + 0x64]
push ecx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x48]
push edx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x38]
push eax
push ecx
push edx
call fcn.100927fc
mov eax, dword [esi + 0x44]
push eax
call fcn.100926a6
mov ecx, dword [esi + 0x44]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 5
push ecx
mov dword [esi + 0x5c], eax
call fcn.100926a6
add esp, 0x30
and eax, reloc.WS2_32.dll_getsockopt
jns 0x10070248
dec eax
or eax, 0xfffffff8
inc eax
je 0x1007024d
dec dword [esi + 0x5c]
mov edx, dword [esi + 0x5c]
mov eax, dword [edi + 4]
push edi
push edx
call eax
add esp, 8
mov dword [esi + 0x50], eax
cmp eax, ebp
jne 0x1007027a
push str.Unable_to_allocate_buffer_for_K
push 0xfffffffffffffffa
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov ecx, dword [esi + 0x5c]
sub ecx, 4
push ecx
push eax
call fcn.1006cc80
mov edx, dword [esi + 0x44]
push edx
call fcn.100926a6
add esp, 0xc
and eax, reloc.WS2_32.dll_getsockopt
jns 0x1007029f
dec eax
or eax, 0xfffffff8
inc eax
je 0x100702a9
mov eax, dword [esi + 0x50]
add eax, 4
jmp 0x100702b6
mov edx, dword [esi + 0x50]
mov byte [edx + 4], 0
mov eax, dword [esi + 0x50]
add eax, 5
mov ecx, dword [esi + 0x44]
push eax
push ecx
call fcn.100926a0
add esp, 8
push str.sha1
lea ebx, [esi + 0x64]
call fcn.1009272a
push eax
push ebx
call fcn.10092724
mov eax, dword [edi + 0xc8]
add esp, 0xc
cmp eax, ebp
je 0x10070333
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100702e7
sub eax, edx
add eax, 0xfffffffe
push eax
lea ebp, [esi + 0x10]
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
mov ecx, dword [edi + 0xc8]
mov eax, ecx
lea edx, [eax + 1]
add esp, 0x14
mov dword [esp + 0x14], edx
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10070318
sub eax, dword [esp + 0x14]
add eax, 0xfffffffe
push eax
push ecx
push ebx
call fcn.1009271e
add esp, 0xc
jmp 0x10070357
lea ebp, [esi + 0x10]
push 0x15
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
push 0x15
push str.SSH_2.0_libssh2_1.4.3
push ebx
call fcn.1009271e
add esp, 0x20
mov eax, dword [edi + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10070360
sub eax, edx
push eax
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
mov ecx, dword [edi + 0x90]
mov eax, ecx
lea edx, [eax + 1]
add esp, 0x14
mov dword [esp + 0x14], edx
jmp 0x10070390
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10070390
sub eax, dword [esp + 0x14]
push eax
push ecx
push ebx
call fcn.1009271e
mov eax, dword [edi + 0xd0]
push eax
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
mov ecx, dword [edi + 0xd0]
mov edx, dword [edi + 0xcc]
push ecx
push edx
push ebx
call fcn.1009271e
mov eax, dword [edi + 0x98]
push eax
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
mov ecx, dword [edi + 0x98]
mov edx, dword [edi + 0x94]
add esp, 0x40
push ecx
push edx
push ebx
call fcn.1009271e
mov eax, dword [edi + 0x64]
push eax
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
mov ecx, dword [edi + 0x64]
mov edx, dword [edi + 0x60]
push ecx
push edx
push ebx
call fcn.1009271e
add esp, 0x2c
cmp byte [esp + 0x58], 0x20
jne 0x10070458
push 0x400
push ebp
call fcn.1006cc80
lea eax, [esi + 0x14]
push 0x600
push eax
call fcn.1006cc80
lea ecx, [esi + 0x18]
push 0x800
push ecx
call fcn.1006cc80
push 0xc
push ebp
push ebx
call fcn.1009271e
add esp, 0x24
cmp dword [esp + 0x60], 0
je 0x10070472
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push edx
push eax
push ebx
call fcn.1009271e
add esp, 0xc
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 4]
dec ecx
push ecx
inc edx
push edx
push ebx
call fcn.1009271e
mov eax, dword [esi + 0x58]
push eax
push ebp
call fcn.1006cc80
push 4
push ebp
push ebx
call fcn.1009271e
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
push ecx
push edx
push ebx
call fcn.1009271e
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
push ebx
call fcn.1009271e
push 0
push ebp
push ebx
call fcn.10092718
mov ecx, dword [esi + 0x54]
mov edx, dword [edi + 0x58]
mov edx, dword [edx + 0x10]
add esp, 0x44
lea eax, [edi + 0x5c]
push eax
mov eax, dword [esi + 0x60]
push 0x14
push ebp
push eax
push ecx
push edi
call edx
add esp, 0x18
test eax, eax
je 0x100704f5
push str.Unable_to_verify_hostkey_signature
push 0xfffffffffffffff5
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov byte [esi + 0x24], 0x15
mov dword [esi], 5
jmp 0x10070506
cmp eax, 5
jne 0x10070546
push 0
push 0
push 1
lea eax, [esi + 0x24]
push eax
push edi
call fcn.1006fb30
add esp, 0x14
cmp eax, 0xffffffdb
je 0x1006fff9
test eax, eax
je 0x1007053e
push str.Unable_to_send_NEWKEYS_message
push eax
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov dword [esi], 6
jmp 0x1007054f
cmp eax, 6
jne 0x10070dbe
lea ecx, [esi + 0x80]
push ecx
push 0
push 0
push 0
lea edx, [esi + 0x30]
push edx
lea ebx, [esi + 0xc]
push ebx
push 0x15
push edi
call fcn.1006f020
add esp, 0x20
cmp eax, 0xffffffdb
je 0x1006fff9
test eax, eax
je 0x10070594
push str.Timed_out_waiting_for_NEWKEYS
push eax
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
or dword [edi + 0x34], 2
mov eax, dword [ebx]
mov ecx, dword [edi + 0xc]
push edi
push eax
call ecx
add esp, 8
cmp dword [edi + 0x48], 0
jne 0x100705f9
mov edx, dword [edi + 4]
push edi
push 0x14
call edx
add esp, 8
mov dword [edi + 0x48], eax
test eax, eax
jne 0x100705d5
push 0x100a5c64
push 0xfffffffffffffffa
push edi
call fcn.1006cb50
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x10070dbe
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov edx, dword [esi + 0x14]
mov dword [eax + 4], edx
mov ecx, dword [esi + 0x18]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0x1c]
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 0x20]
mov dword [eax + 0x10], ecx
mov dword [edi + 0x4c], 0x14
mov edx, dword [edi + 0xd4]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x10070613
lea ecx, [edi + 0xd8]
push ecx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0xd4]
cmp dword [eax + 0x14], 0
je 0x10070873
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov edx, dword [eax + 8]
mov eax, dword [edi + 4]
add edx, 0x14
push edi
push edx
call eax
mov ebp, eax
add esp, 8
mov dword [esp + 0xc], ebp
test ebp, ebp
je 0x1007077f
mov ecx, dword [edi + 0xd4]
cmp dword [ecx + 8], ebx
jbe 0x100706fa
lea ebx, [ebx]
push str.sha1
call fcn.1009272a
push eax
lea edx, [esp + 0x20]
push edx
call fcn.10092724
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.1009271e
push 0x14
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1009271e
add esp, 0x24
test ebx, ebx
jbe 0x100706af
push ebx
lea ecx, [esp + 0x1c]
push ebp
push ecx
call fcn.1009271e
add esp, 0xc
jmp 0x100706d5
push 1
lea edx, [esp + 0x1c]
push 0x100a5c60
push edx
call fcn.1009271e
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x48]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.1009271e
add esp, 0x18
push 0
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.10092718
mov edx, dword [edi + 0xd4]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [edx + 8]
jb 0x10070660
mov eax, dword [edi + 0xd4]
mov ecx, dword [eax + 0xc]
mov edx, dword [edi + 4]
add ecx, 0x14
push edi
push ecx
xor ebx, ebx
call edx
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x1007081a
mov eax, dword [edi + 0xd4]
cmp dword [eax + 0xc], ebx
jbe 0x100707d7
jmp 0x10070730
push str.sha1
call fcn.1009272a
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10092724
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x50]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.1009271e
push 0x14
lea eax, [esi + 0x10]
push eax
lea edx, [esp + 0x50]
push edx
call fcn.1009271e
add esp, 0x24
test ebx, ebx
jbe 0x1007078c
push ebx
lea eax, [esp + 0x34]
push ebp
push eax
call fcn.1009271e
add esp, 0xc
jmp 0x100707b2
mov dword [esp + 8], 0xffffffff
jmp 0x10070dbe
push 1
lea ecx, [esp + 0x34]
push 0x100a5c5c
push ecx
call fcn.1009271e
mov edx, dword [edi + 0x4c]
mov eax, dword [edi + 0x48]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.1009271e
add esp, 0x18
push 0
lea edx, [ebx + ebp]
push edx
lea eax, [esp + 0x38]
push eax
call fcn.10092718
mov ecx, dword [edi + 0xd4]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [ecx + 0xc]
jb 0x10070730
mov eax, dword [edi + 0xd4]
mov ebx, dword [esp + 0xc]
lea ecx, [edi + 0xd8]
push ecx
push 1
lea edx, [esp + 0x1c]
push edx
mov edx, dword [eax + 0x14]
push ebp
lea ecx, [esp + 0x20]
push ecx
push ebx
push eax
push edi
call edx
add esp, 0x20
test eax, eax
je 0x1007082d
mov eax, dword [edi + 0xc]
push edi
push ebx
call eax
mov ecx, dword [edi + 0xc]
push edi
push ebp
call ecx
add esp, 0x10
jmp 0x10070db6
mov edx, dword [esp + 0xc]
mov eax, dword [edi + 0xc]
push edi
push edx
call eax
add esp, 8
jmp 0x10070db6
cmp dword [esp + 0x10], 0
je 0x10070850
mov edx, dword [edi + 0xd4]
mov eax, dword [edx + 8]
push eax
push 0
push ebx
call fcn.10075220
mov ecx, dword [edi + 0xc]
push edi
push ebx
call ecx
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x10070873
mov edx, dword [edi + 0xd4]
mov eax, dword [edx + 0xc]
push eax
push 0
push ebp
call fcn.10075220
mov ecx, dword [edi + 0xc]
push edi
push ebp
call ecx
add esp, 0x14
mov edx, dword [edi + 0x9c]
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x1007088d
lea ecx, [edi + 0xa0]
push ecx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0x9c]
cmp dword [eax + 0x14], 0
je 0x10070ab0
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
mov edx, dword [eax + 8]
mov eax, dword [edi + 4]
add edx, 0x14
push edi
push edx
call eax
mov ebp, eax
add esp, 8
mov dword [esp + 0x14], ebp
test ebp, ebp
je 0x10070db6
mov ecx, dword [edi + 0x9c]
cmp dword [ecx + 8], ebx
jbe 0x1007096e
push str.sha1
call fcn.1009272a
push eax
lea edx, [esp + 0x38]
push edx
call fcn.10092724
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.1009271e
push 0x14
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1009271e
add esp, 0x24
test ebx, ebx
jbe 0x10070923
push ebx
lea ecx, [esp + 0x34]
push ebp
push ecx
call fcn.1009271e
add esp, 0xc
jmp 0x10070949
push 1
lea edx, [esp + 0x34]
push 0x100a5c58
push edx
call fcn.1009271e
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x48]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.1009271e
add esp, 0x18
push 0
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10092718
mov edx, dword [edi + 0x9c]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [edx + 8]
jb 0x100708d4
mov eax, dword [edi + 0x9c]
mov ecx, dword [eax + 0xc]
mov edx, dword [edi + 4]
add ecx, 0x14
push edi
push ecx
xor ebx, ebx
call edx
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x10070b5f
mov eax, dword [edi + 0x9c]
cmp dword [eax + 0xc], ebx
jbe 0x10070a3a
nop
push str.sha1
call fcn.1009272a
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.10092724
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x50]
push edx
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.1009271e
push 0x14
lea eax, [esi + 0x10]
push eax
lea edx, [esp + 0x38]
push edx
call fcn.1009271e
add esp, 0x24
test ebx, ebx
jbe 0x100709ef
push ebx
lea eax, [esp + 0x1c]
push ebp
push eax
call fcn.1009271e
add esp, 0xc
jmp 0x10070a15
push 1
lea ecx, [esp + 0x1c]
push 0x100a5c54
push ecx
call fcn.1009271e
mov edx, dword [edi + 0x4c]
mov eax, dword [edi + 0x48]
push edx
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.1009271e
add esp, 0x18
push 0
lea edx, [ebx + ebp]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.10092718
mov ecx, dword [edi + 0x9c]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [ecx + 0xc]
jb 0x100709a0
mov eax, dword [edi + 0x9c]
mov ebx, dword [esp + 0x14]
lea ecx, [edi + 0xa0]
push ecx
push 0
lea edx, [esp + 0x14]
push edx
mov edx, dword [eax + 0x14]
push ebp
lea ecx, [esp + 0x20]
push ecx
push ebx
push eax
push edi
call edx
add esp, 0x20
test eax, eax
jne 0x10070804
cmp dword [esp + 0x10], eax
je 0x10070a8d
mov edx, dword [edi + 0x9c]
mov eax, dword [edx + 8]
push eax
push 0
push ebx
call fcn.10075220
mov ecx, dword [edi + 0xc]
push edi
push ebx
call ecx
add esp, 0x14
cmp dword [esp + 0xc], 0
je 0x10070ab0
mov edx, dword [edi + 0x9c]
mov eax, dword [edx + 0xc]
push eax
push 0
push ebp
call fcn.10075220
mov ecx, dword [edi + 0xc]
push edi
push ebp
call ecx
add esp, 0x14
mov edx, dword [edi + 0xdc]
mov eax, dword [edx + 0x14]
test eax, eax
je 0x10070aca
lea ecx, [edi + 0xe4]
push ecx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0xdc]
cmp dword [eax + 0xc], 0
je 0x10070bfc
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov edx, dword [eax + 8]
mov eax, dword [edi + 4]
add edx, 0x14
push edi
push edx
call eax
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x10070db6
mov ecx, dword [edi + 0xdc]
cmp dword [ecx + 8], ebx
jbe 0x10070bbd
lea esp, [esp]
push str.sha1
call fcn.1009272a
push eax
lea edx, [esp + 0x38]
push edx
call fcn.10092724
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.1009271e
push 0x14
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1009271e
add esp, 0x24
test ebx, ebx
jbe 0x10070b72
push ebx
lea ecx, [esp + 0x34]
push ebp
push ecx
call fcn.1009271e
add esp, 0xc
jmp 0x10070b98
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
push edi
push edx
call eax
add esp, 8
jmp 0x10070db6
push 1
lea edx, [esp + 0x34]
push 0x100a5c50
push edx
call fcn.1009271e
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x48]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.1009271e
add esp, 0x18
push 0
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10092718
mov edx, dword [edi + 0xdc]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [edx + 8]
jb 0x10070b10
mov eax, dword [edi + 0xdc]
mov eax, dword [eax + 0xc]
lea ecx, [edi + 0xe4]
push ecx
lea edx, [esp + 0x18]
push edx
push ebp
push edi
call eax
add esp, 0x10
cmp dword [esp + 0x14], 0
je 0x10070bfc
mov ecx, dword [edi + 0xdc]
mov edx, dword [ecx + 8]
push edx
push 0
push ebp
call fcn.10075220
mov eax, dword [edi + 0xc]
push edi
push ebp
call eax
add esp, 0x14
mov ecx, dword [edi + 0xa4]
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x10070c16
lea edx, [edi + 0xac]
push edx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0xa4]
cmp dword [eax + 0xc], 0
je 0x10070d2e
mov ecx, dword [edi + 4]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 8]
add eax, 0x14
push edi
push eax
call ecx
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x10070db6
mov edx, dword [edi + 0xa4]
cmp dword [edx + 8], ebx
jbe 0x10070cef
push str.sha1
call fcn.1009272a
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10092724
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x50]
push ecx
push edx
lea eax, [esp + 0x44]
push eax
call fcn.1009271e
push 0x14
lea eax, [esi + 0x10]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.1009271e
add esp, 0x24
test ebx, ebx
jbe 0x10070ca4
push ebx
lea edx, [esp + 0x34]
push ebp
push edx
call fcn.1009271e
add esp, 0xc
jmp 0x10070cca
push 1
lea eax, [esp + 0x34]
push str.FEDBCA
push eax
call fcn.1009271e
mov ecx, dword [edi + 0x4c]
mov edx, dword [edi + 0x48]
push ecx
push edx
lea eax, [esp + 0x44]
push eax
call fcn.1009271e
add esp, 0x18
push 0
lea ecx, [ebx + ebp]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.10092718
mov eax, dword [edi + 0xa4]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [eax + 8]
jb 0x10070c55
mov ecx, dword [edi + 0xa4]
mov ecx, dword [ecx + 0xc]
lea edx, [edi + 0xac]
push edx
lea eax, [esp + 0x18]
push eax
push ebp
push edi
call ecx
add esp, 0x10
cmp dword [esp + 0x14], 0
je 0x10070d2e
mov edx, dword [edi + 0xa4]
mov eax, dword [edx + 8]
push eax
push 0
push ebp
call fcn.10075220
mov ecx, dword [edi + 0xc]
push edi
push ebp
call ecx
add esp, 0x14
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x10070d4e
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10070d4e
lea edx, [edi + 0xec]
push edx
push 1
push edi
call eax
add esp, 0xc
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x10070d72
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10070d72
lea ecx, [edi + 0xec]
push ecx
push 1
push edi
call eax
add esp, 0xc
test eax, eax
jne 0x10070db6
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x10070d92
mov eax, dword [eax + 0x18]
test eax, eax
je 0x10070d92
lea edx, [edi + 0xb4]
push edx
push 0
push edi
call eax
add esp, 0xc
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x10070dbe
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10070dbe
lea ecx, [edi + 0xb4]
push ecx
push 0
push edi
call eax
add esp, 0xc
test eax, eax
je 0x10070dbe
mov dword [esp + 8], 0xfffffffb
mov edx, dword [esi + 0x38]
push edx
call fcn.100927ea
mov eax, dword [esi + 0x3c]
xor ebx, ebx
push eax
mov dword [esi + 0x38], ebx
call fcn.100927ea
mov ecx, dword [esi + 0x40]
push ecx
mov dword [esi + 0x3c], ebx
call fcn.100927ea
mov edx, dword [esi + 0x44]
push edx
mov dword [esi + 0x40], ebx
call fcn.100927ea
mov eax, dword [esi + 0x34]
push eax
mov dword [esi + 0x44], ebx
call fcn.100927f6
mov eax, dword [esi + 4]
add esp, 0x14
mov dword [esi + 0x34], ebx
cmp eax, ebx
je 0x10070e13
mov ecx, dword [edi + 0xc]
push edi
push eax
call ecx
add esp, 8
mov dword [esi + 4], ebx
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x10070e27
mov edx, dword [edi + 0xc]
push edi
push eax
call edx
add esp, 8
mov dword [esi + 8], ebx
mov eax, dword [esi + 0x50]
cmp eax, ebx
je 0x10070e3b
push edi
push eax
mov eax, dword [edi + 0xc]
call eax
add esp, 8
mov dword [esi + 0x50], ebx
mov eax, dword [esp + 8]
pop ebp
mov dword [esi], ebx
pop ebx
add esp, 0x40
ret