Function at 0x4681b0
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 0x4682fc
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
mov dword [esi + 0x50], ebp
call fcn.00563dd0
mov dword [esi + 0x34], eax
call fcn.00537a50
mov dword [esi + 0x38], eax
call fcn.00537a50
mov dword [esi + 0x3c], eax
call fcn.00537a50
mov dword [esi + 0x40], eax
call fcn.00537a50
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.005796f0
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.005950c0
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.00537ab0
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.00537ab0
add esp, 0x2c
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x46826f
dec eax
or eax, 0xfffffff8
inc eax
je 0x468274
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 0x4682a1
push str.Out_of_memory_error
push 0xfffffffffffffffa
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
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.00465da0
mov edx, dword [esi + 0x3c]
push edx
call fcn.00537ab0
add esp, 0xc
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x4682d0
dec eax
or eax, 0xfffffff8
inc eax
je 0x4682da
mov eax, dword [esi + 4]
add eax, 5
jmp 0x4682e7
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.00537530
add esp, 8
mov dword [esi], 2
jmp 0x468301
cmp eax, 2
jne 0x468348
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 4]
push ebp
push ebp
push edx
push eax
push edi
call fcn.00467e50
add esp, 0x14
cmp eax, 0xffffffdb
jne 0x468324
pop ebp
mov eax, 0xffffffdb
pop ebx
add esp, 0x40
ret
cmp eax, ebp
je 0x468340
push str.Unable_to_send_KEX_init_message
push eax
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov dword [esi], 3
jmp 0x46834d
cmp eax, 3
jne 0x468381
test byte [edi + 0x44], 1
je 0x468379
lea ecx, [esi + 0x90]
push ecx
push edi
call fcn.00467450
add esp, 8
cmp eax, 0xffffffdb
je 0x468319
cmp eax, ebp
jg 0x468375
mov dword [esp + 8], eax
jmp 0x4690de
and dword [edi + 0x44], 0xfffffffe
mov dword [esi], 4
jmp 0x46838a
cmp eax, 4
jne 0x468821
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.00467340
add esp, 0x20
cmp eax, 0xffffffdb
je 0x468319
cmp eax, ebp
je 0x4683d0
push str.Timed_out_waiting_for_KEX_reply
push 0xfffffffffffffff7
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov ebx, dword [ebx]
lea eax, [ebx + 1]
push eax
mov dword [esi + 0x48], eax
call fcn.00465d20
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 0x468412
push str.Unable_to_allocate_memory_for_a_copy_of_the_host_key
push 0xfffffffffffffffa
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov ecx, dword [edi + 0x64]
mov edx, dword [esi + 0x48]
push ecx
push edx
push eax
call fcn.005e2940
mov eax, dword [edi + 0x64]
add dword [esi + 0x48], eax
push 0x63d178
call fcn.005295a0
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0053c9e0
add esp, 0x18
test eax, eax
je 0x46846f
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
push edx
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.0053cbb0
push ebp
lea edx, [edi + 0x68]
push edx
lea eax, [esp + 0x44]
push eax
call fcn.0053c930
add esp, 0x18
mov dword [edi + 0x78], 1
jmp 0x468472
mov dword [edi + 0x78], ebp
push str.sha1
call fcn.005295a0
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.0053c9e0
mov edx, dword [edi + 0x64]
mov eax, dword [edi + 0x60]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0053cbb0
push ebp
lea edx, [edi + 0x7c]
push edx
lea eax, [esp + 0x50]
push eax
call fcn.0053c930
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 0x4684dd
push str.Unable_to_initialize_hostkey_importer
push 0xfffffffffffffff6
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov edx, dword [esi + 0x48]
push edx
call fcn.00465d20
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.00537440
mov eax, dword [esi + 0x48]
push eax
call fcn.00465d20
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.005950c0
mov eax, dword [esi + 0x44]
push eax
call fcn.00537ab0
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.00537ab0
add esp, 0x30
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x468568
dec eax
or eax, 0xfffffff8
inc eax
je 0x46856d
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 0x46859a
push str.Unable_to_allocate_buffer_for_K
push 0xfffffffffffffffa
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov ecx, dword [esi + 0x5c]
sub ecx, 4
push ecx
push eax
call fcn.00465da0
mov edx, dword [esi + 0x44]
push edx
call fcn.00537ab0
add esp, 0xc
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x4685bf
dec eax
or eax, 0xfffffff8
inc eax
je 0x4685c9
mov eax, dword [esi + 0x50]
add eax, 4
jmp 0x4685d6
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.00537530
add esp, 8
push str.sha1
lea ebx, [esi + 0x64]
call fcn.005295a0
push eax
push ebx
call fcn.0053c9e0
mov eax, dword [edi + 0xc8]
add esp, 0xc
cmp eax, ebp
je 0x468653
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x468607
sub eax, edx
add eax, 0xfffffffe
push eax
lea ebp, [esi + 0x10]
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
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 0x468638
sub eax, dword [esp + 0x14]
add eax, 0xfffffffe
push eax
push ecx
push ebx
call fcn.0053cbb0
add esp, 0xc
jmp 0x468677
lea ebp, [esi + 0x10]
push 0x15
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
push 0x15
push str.SSH_2.0_libssh2_1.4.3
push ebx
call fcn.0053cbb0
add esp, 0x20
mov eax, dword [edi + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x468680
sub eax, edx
push eax
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
mov ecx, dword [edi + 0x90]
mov eax, ecx
lea edx, [eax + 1]
add esp, 0x14
mov dword [esp + 0x14], edx
jmp 0x4686b0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4686b0
sub eax, dword [esp + 0x14]
push eax
push ecx
push ebx
call fcn.0053cbb0
mov eax, dword [edi + 0xd0]
push eax
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
mov ecx, dword [edi + 0xd0]
mov edx, dword [edi + 0xcc]
push ecx
push edx
push ebx
call fcn.0053cbb0
mov eax, dword [edi + 0x98]
push eax
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
mov ecx, dword [edi + 0x98]
mov edx, dword [edi + 0x94]
add esp, 0x40
push ecx
push edx
push ebx
call fcn.0053cbb0
mov eax, dword [edi + 0x64]
push eax
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
mov ecx, dword [edi + 0x64]
mov edx, dword [edi + 0x60]
push ecx
push edx
push ebx
call fcn.0053cbb0
add esp, 0x2c
cmp byte [esp + 0x58], 0x20
jne 0x468778
push 0x400
push ebp
call fcn.00465da0
lea eax, [esi + 0x14]
push 0x600
push eax
call fcn.00465da0
lea ecx, [esi + 0x18]
push 0x800
push ecx
call fcn.00465da0
push 0xc
push ebp
push ebx
call fcn.0053cbb0
add esp, 0x24
cmp dword [esp + 0x60], 0
je 0x468792
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
push edx
push eax
push ebx
call fcn.0053cbb0
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.0053cbb0
mov eax, dword [esi + 0x58]
push eax
push ebp
call fcn.00465da0
push 4
push ebp
push ebx
call fcn.0053cbb0
mov ecx, dword [esi + 0x58]
mov edx, dword [esi + 0x4c]
push ecx
push edx
push ebx
call fcn.0053cbb0
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
push ebx
call fcn.0053cbb0
push 0
push ebp
push ebx
call fcn.0053c930
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 0x468815
push str.Unable_to_verify_hostkey_signature
push 0xfffffffffffffff5
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov byte [esi + 0x24], 0x15
mov dword [esi], 5
jmp 0x468826
cmp eax, 5
jne 0x468866
push 0
push 0
push 1
lea eax, [esi + 0x24]
push eax
push edi
call fcn.00467e50
add esp, 0x14
cmp eax, 0xffffffdb
je 0x468319
test eax, eax
je 0x46885e
push str.Unable_to_send_NEWKEYS_message
push eax
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
mov dword [esi], 6
jmp 0x46886f
cmp eax, 6
jne 0x4690de
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.00467340
add esp, 0x20
cmp eax, 0xffffffdb
je 0x468319
test eax, eax
je 0x4688b4
push str.Timed_out_waiting_for_NEWKEYS
push eax
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
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 0x468919
mov edx, dword [edi + 4]
push edi
push 0x14
call edx
add esp, 8
mov dword [edi + 0x48], eax
test eax, eax
jne 0x4688f5
push 0x669f8c
push 0xfffffffffffffffa
push edi
call fcn.00465c70
add esp, 0xc
mov dword [esp + 8], eax
jmp 0x4690de
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 0x468933
lea ecx, [edi + 0xd8]
push ecx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0xd4]
cmp dword [eax + 0x14], 0
je 0x468b93
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 0x468a9f
mov ecx, dword [edi + 0xd4]
cmp dword [ecx + 8], ebx
jbe 0x468a1a
lea ebx, [ebx]
push str.sha1
call fcn.005295a0
push eax
lea edx, [esp + 0x20]
push edx
call fcn.0053c9e0
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.0053cbb0
push 0x14
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0053cbb0
add esp, 0x24
test ebx, ebx
jbe 0x4689cf
push ebx
lea ecx, [esp + 0x1c]
push ebp
push ecx
call fcn.0053cbb0
add esp, 0xc
jmp 0x4689f5
push 1
lea edx, [esp + 0x1c]
push 0x64f38c
push edx
call fcn.0053cbb0
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x48]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.0053cbb0
add esp, 0x18
push 0
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.0053c930
mov edx, dword [edi + 0xd4]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [edx + 8]
jb 0x468980
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 0x468b3a
mov eax, dword [edi + 0xd4]
cmp dword [eax + 0xc], ebx
jbe 0x468af7
jmp 0x468a50
push str.sha1
call fcn.005295a0
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.0053c9e0
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x50]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0053cbb0
push 0x14
lea eax, [esi + 0x10]
push eax
lea edx, [esp + 0x50]
push edx
call fcn.0053cbb0
add esp, 0x24
test ebx, ebx
jbe 0x468aac
push ebx
lea eax, [esp + 0x34]
push ebp
push eax
call fcn.0053cbb0
add esp, 0xc
jmp 0x468ad2
mov dword [esp + 8], 0xffffffff
jmp 0x4690de
push 1
lea ecx, [esp + 0x34]
push 0x619984
push ecx
call fcn.0053cbb0
mov edx, dword [edi + 0x4c]
mov eax, dword [edi + 0x48]
push edx
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0053cbb0
add esp, 0x18
push 0
lea edx, [ebx + ebp]
push edx
lea eax, [esp + 0x38]
push eax
call fcn.0053c930
mov ecx, dword [edi + 0xd4]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [ecx + 0xc]
jb 0x468a50
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 0x468b4d
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 0x4690d6
mov edx, dword [esp + 0xc]
mov eax, dword [edi + 0xc]
push edi
push edx
call eax
add esp, 8
jmp 0x4690d6
cmp dword [esp + 0x10], 0
je 0x468b70
mov edx, dword [edi + 0xd4]
mov eax, dword [edx + 8]
push eax
push 0
push ebx
call fcn.005e2ec0
mov ecx, dword [edi + 0xc]
push edi
push ebx
call ecx
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x468b93
mov edx, dword [edi + 0xd4]
mov eax, dword [edx + 0xc]
push eax
push 0
push ebp
call fcn.005e2ec0
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 0x468bad
lea ecx, [edi + 0xa0]
push ecx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0x9c]
cmp dword [eax + 0x14], 0
je 0x468dd0
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 0x4690d6
mov ecx, dword [edi + 0x9c]
cmp dword [ecx + 8], ebx
jbe 0x468c8e
push str.sha1
call fcn.005295a0
push eax
lea edx, [esp + 0x38]
push edx
call fcn.0053c9e0
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.0053cbb0
push 0x14
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0053cbb0
add esp, 0x24
test ebx, ebx
jbe 0x468c43
push ebx
lea ecx, [esp + 0x34]
push ebp
push ecx
call fcn.0053cbb0
add esp, 0xc
jmp 0x468c69
push 1
lea edx, [esp + 0x34]
push 0x669f88
push edx
call fcn.0053cbb0
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x48]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.0053cbb0
add esp, 0x18
push 0
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.0053c930
mov edx, dword [edi + 0x9c]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [edx + 8]
jb 0x468bf4
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 0x468e7f
mov eax, dword [edi + 0x9c]
cmp dword [eax + 0xc], ebx
jbe 0x468d5a
nop
push str.sha1
call fcn.005295a0
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.0053c9e0
mov edx, dword [esi + 0x5c]
mov eax, dword [esi + 0x50]
push edx
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.0053cbb0
push 0x14
lea eax, [esi + 0x10]
push eax
lea edx, [esp + 0x38]
push edx
call fcn.0053cbb0
add esp, 0x24
test ebx, ebx
jbe 0x468d0f
push ebx
lea eax, [esp + 0x1c]
push ebp
push eax
call fcn.0053cbb0
add esp, 0xc
jmp 0x468d35
push 1
lea ecx, [esp + 0x1c]
push 0x669f84
push ecx
call fcn.0053cbb0
mov edx, dword [edi + 0x4c]
mov eax, dword [edi + 0x48]
push edx
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.0053cbb0
add esp, 0x18
push 0
lea edx, [ebx + ebp]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.0053c930
mov ecx, dword [edi + 0x9c]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [ecx + 0xc]
jb 0x468cc0
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 0x468b24
cmp dword [esp + 0x10], eax
je 0x468dad
mov edx, dword [edi + 0x9c]
mov eax, dword [edx + 8]
push eax
push 0
push ebx
call fcn.005e2ec0
mov ecx, dword [edi + 0xc]
push edi
push ebx
call ecx
add esp, 0x14
cmp dword [esp + 0xc], 0
je 0x468dd0
mov edx, dword [edi + 0x9c]
mov eax, dword [edx + 0xc]
push eax
push 0
push ebp
call fcn.005e2ec0
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 0x468dea
lea ecx, [edi + 0xe4]
push ecx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0xdc]
cmp dword [eax + 0xc], 0
je 0x468f1c
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 0x4690d6
mov ecx, dword [edi + 0xdc]
cmp dword [ecx + 8], ebx
jbe 0x468edd
lea esp, [esp]
push str.sha1
call fcn.005295a0
push eax
lea edx, [esp + 0x38]
push edx
call fcn.0053c9e0
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.0053cbb0
push 0x14
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0053cbb0
add esp, 0x24
test ebx, ebx
jbe 0x468e92
push ebx
lea ecx, [esp + 0x34]
push ebp
push ecx
call fcn.0053cbb0
add esp, 0xc
jmp 0x468eb8
mov edx, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
push edi
push edx
call eax
add esp, 8
jmp 0x4690d6
push 1
lea edx, [esp + 0x34]
push 0x669f80
push edx
call fcn.0053cbb0
mov eax, dword [edi + 0x4c]
mov ecx, dword [edi + 0x48]
push eax
push ecx
lea edx, [esp + 0x44]
push edx
call fcn.0053cbb0
add esp, 0x18
push 0
lea eax, [ebx + ebp]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.0053c930
mov edx, dword [edi + 0xdc]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [edx + 8]
jb 0x468e30
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 0x468f1c
mov ecx, dword [edi + 0xdc]
mov edx, dword [ecx + 8]
push edx
push 0
push ebp
call fcn.005e2ec0
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 0x468f36
lea edx, [edi + 0xac]
push edx
push edi
call eax
add esp, 8
mov eax, dword [edi + 0xa4]
cmp dword [eax + 0xc], 0
je 0x46904e
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 0x4690d6
mov edx, dword [edi + 0xa4]
cmp dword [edx + 8], ebx
jbe 0x46900f
push str.sha1
call fcn.005295a0
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0053c9e0
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x50]
push ecx
push edx
lea eax, [esp + 0x44]
push eax
call fcn.0053cbb0
push 0x14
lea eax, [esi + 0x10]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.0053cbb0
add esp, 0x24
test ebx, ebx
jbe 0x468fc4
push ebx
lea edx, [esp + 0x34]
push ebp
push edx
call fcn.0053cbb0
add esp, 0xc
jmp 0x468fea
push 1
lea eax, [esp + 0x34]
push str.FEDB
push eax
call fcn.0053cbb0
mov ecx, dword [edi + 0x4c]
mov edx, dword [edi + 0x48]
push ecx
push edx
lea eax, [esp + 0x44]
push eax
call fcn.0053cbb0
add esp, 0x18
push 0
lea ecx, [ebx + ebp]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.0053c930
mov eax, dword [edi + 0xa4]
add ebx, 0x14
add esp, 0xc
cmp ebx, dword [eax + 8]
jb 0x468f75
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 0x46904e
mov edx, dword [edi + 0xa4]
mov eax, dword [edx + 8]
push eax
push 0
push ebp
call fcn.005e2ec0
mov ecx, dword [edi + 0xc]
push edi
push ebp
call ecx
add esp, 0x14
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x46906e
mov eax, dword [eax + 0x18]
test eax, eax
je 0x46906e
lea edx, [edi + 0xec]
push edx
push 1
push edi
call eax
add esp, 0xc
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x469092
mov eax, dword [eax + 0xc]
test eax, eax
je 0x469092
lea ecx, [edi + 0xec]
push ecx
push 1
push edi
call eax
add esp, 0xc
test eax, eax
jne 0x4690d6
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x4690b2
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4690b2
lea edx, [edi + 0xb4]
push edx
push 0
push edi
call eax
add esp, 0xc
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x4690de
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4690de
lea ecx, [edi + 0xb4]
push ecx
push 0
push edi
call eax
add esp, 0xc
test eax, eax
je 0x4690de
mov dword [esp + 8], 0xfffffffb
mov edx, dword [esi + 0x38]
push edx
call fcn.00537590
mov eax, dword [esi + 0x3c]
xor ebx, ebx
push eax
mov dword [esi + 0x38], ebx
call fcn.00537590
mov ecx, dword [esi + 0x40]
push ecx
mov dword [esi + 0x3c], ebx
call fcn.00537590
mov edx, dword [esi + 0x44]
push edx
mov dword [esi + 0x40], ebx
call fcn.00537590
mov eax, dword [esi + 0x34]
push eax
mov dword [esi + 0x44], ebx
call fcn.00563d40
mov eax, dword [esi + 4]
add esp, 0x14
mov dword [esi + 0x34], ebx
cmp eax, ebx
je 0x469133
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 0x469147
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 0x46915b
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