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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x51ffb3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
mov eax, dword [0x569c90]
push ebx
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x10], eax
push ebx
mov byte [esp + 0x88], 1
call fcn.004390c0
mov edi, eax
and eax, 0xffff0000
cmp eax, 0x10000
jne 0x430a53
mov ecx, esi
call fcn.004e2fe0
test eax, eax
mov ecx, esi
je 0x4302a7
push ebx
call fcn.0042d290
mov edi, eax
mov ecx, edi
and ecx, 0xffff0000
cmp ecx, 0x10000
je 0x4302c4
jmp 0x430a53
push 1
call fcn.0042d290
mov edi, eax
mov edx, edi
and edx, 0xffff0000
cmp edx, 0x10000
jne 0x430a53
mov ecx, esi
call fcn.004dee90
cmp eax, 1
je 0x4302de
cmp eax, 2
je 0x4302de
cmp eax, 8
jne 0x43035e
mov ecx, esi
call fcn.004e3820
test eax, eax
je 0x43035e
cmp dword [esi + 0x154], 1
je 0x43035e
mov eax, dword [esi]
push ebx
lea ecx, [esp + 0x28]
push 1
push ecx
push 0x55ea74
mov ecx, esi
mov dword [esp + 0x34], ebx
call dword [eax + 0x94]
mov edi, eax
mov edx, edi
and edx, 0xffff0000
cmp edx, 0x10000
jne 0x430a53
mov eax, dword [esp + 0x24]
mov ecx, esi
push eax
call fcn.00432f40
mov eax, dword [esp + 0x24]
cmp eax, 0x1f4
jge 0x4303eb
cmp eax, 0x190
jge 0x4303f2
mov ecx, dword [esi + 0x120]
call fcn.0048c2d0
mov dword [esi + 0x154], 1
mov ecx, esi
mov dword [esp + 0x1c], ebx
call fcn.004dfc80
cmp eax, 1
je 0x43038a
mov ecx, esi
call fcn.004dfc80
cmp eax, 4
je 0x43038a
mov ecx, esi
call fcn.004dfc80
cmp eax, 2
jne 0x43064d
lea ebx, [esi + 0x118]
lea eax, [esi + 0x11c]
xor ecx, ecx
mov dword [esp + 0x34], ebx
mov dword [ebx], ecx
mov dword [esp + 0x2c], eax
mov dword [eax], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4303c8
mov eax, dword [esp + 0x20]
mov ecx, eax
inc eax
cmp ecx, 0x64
mov dword [esp + 0x20], eax
jg 0x430624
mov ecx, esi
call fcn.004dfc80
mov edx, dword [esi]
cmp eax, 4
lea eax, [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
push 1
push ecx
mov ecx, esi
jne 0x430430
push str.EPSV
jmp 0x430435
mov esi, 0x30007
jmp 0x4303f7
mov esi, 0x30002
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 0
call fcn.00507d3a
lea ecx, [esp + 0x14]
mov dword [esp + 0x84], 0xffffffff
call fcn.00507d3a
mov eax, esi
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.PASV
call dword [edx + 0x94]
mov edi, eax
mov edx, edi
and edx, 0xffff0000
cmp edx, 0x10000
jne 0x430a53
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x1f4
jl 0x430464
mov edi, 0x30007
jmp 0x43047c
xor eax, eax
cmp ecx, 0x190
setl al
dec eax
and eax, 0x20001
add eax, 0x10001
mov edi, eax
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4304b7
mov ecx, esi
call fcn.004dfc80
mov ecx, dword [esp + 0x1c]
cmp eax, 2
jne 0x4304b7
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 4
je 0x430634
cmp edx, 5
je 0x430634
mov edx, edi
and edx, 0xffff0000
cmp edx, 0x10000
jne 0x430aa2
mov ecx, esi
call fcn.004dfc80
cmp eax, 4
je 0x430aac
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x10]
push edi
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00507aaf
call fcn.00435ce0
add esp, 0xc
test eax, eax
je 0x430b07
mov edi, dword [edi]
mov ebx, dword [ebx]
push 0x56fc8c
mov dword [esp + 0x28], 0x56fc84
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, ebx
push 1
cdq
push 0
push edx
push eax
mov byte [esp + 0x94], 2
call fcn.004f2ba0
mov ecx, eax
mov eax, edi
mov ebx, edx
mov edi, dword [0x56fc78]
cdq
add ecx, eax
lea eax, [esp + 0x30]
adc ebx, edx
lea edx, [esp + 0x38]
mov dword [esp + 0x38], ecx
push edx
push eax
mov ecx, 0x56fc74
mov dword [esp + 0x44], ebx
call fcn.00439af0
cmp dword [esp + 0x30], edi
je 0x430597
mov edx, dword [0x56fc84]
mov ecx, 0x56fc84
mov byte [esp + 0x84], 1
call dword [edx + 0x14]
push 1
push 0x1484
mov ecx, esi
call fcn.004de740
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x24], 1
jmp 0x4303ac
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
lea edx, [esp + 0x68]
lea eax, [esp + 0x40]
mov dword [esp + 0x6c], ecx
push edx
push eax
mov ecx, 0x56fc74
mov byte [esp + 0x78], 1
call fcn.004397b0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x50]
call fcn.0045afe0
mov eax, dword [0x56fc84]
mov ecx, 0x56fc84
mov byte [esp + 0x84], 1
call dword [eax + 0x14]
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 0
call fcn.00507d3a
lea ecx, [esp + 0x14]
mov dword [esp + 0x84], 0xffffffff
call fcn.00507d3a
mov eax, 0x10001
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 0x1497
mov ecx, esi
call fcn.004de740
jmp 0x43069b
push 0
mov ecx, esi
call fcn.004dfcb0
push 1
push 0x1483
mov ecx, esi
call fcn.004de740
xor ebx, ebx
mov ecx, esi
call fcn.00430b50
test eax, eax
jne 0x43066b
push 2
push 0x1510
mov ecx, esi
call fcn.004de740
jmp 0x43084d
mov ecx, dword [esi + 0x128]
cmp ecx, ebx
je 0x4306d7
push 1
call fcn.004896c0
test eax, eax
jne 0x4306d7
push 2
push 0x145b
mov ecx, esi
call fcn.004de740
mov esi, dword [esi + 0x128]
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 8]
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 0
call fcn.00507d3a
lea ecx, [esp + 0x14]
mov dword [esp + 0x84], 0xffffffff
call fcn.00507d3a
mov eax, 0x30001
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x569c90]
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 0x128]
mov ebx, 3
test ecx, ecx
mov byte [esp + 0x84], bl
mov dword [esp + 0x28], 0x10
je 0x43070d
lea edx, [esp + 0x28]
lea eax, [esp + 0x58]
push edx
push eax
call fcn.00489330
mov eax, dword [0x571fec]
test eax, eax
je 0x4308f7
push 1
push 0x143
mov ecx, esi
call fcn.004de740
mov ecx, dword [0x569c90]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x5f]
mov eax, dword [esp + 0x5e]
mov ecx, dword [esp + 0x5d]
and edx, 0xff
push edx
mov edx, dword [esp + 0x60]
and eax, 0xff
and ecx, 0xff
push eax
and edx, 0xff
push ecx
push edx
lea eax, [esp + 0x30]
push str._u._u._u._u
push eax
mov byte [esp + 0x9c], 4
call fcn.005054dc
mov eax, dword [esi + 0x16c]
add esp, 0x18
test eax, eax
jne 0x4307b6
push 0x24
call fcn.0050c4a3
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov byte [esp + 0x84], 5
je 0x4307a6
push 1
mov ecx, eax
call fcn.0046b750
jmp 0x4307a8
xor eax, eax
mov byte [esp + 0x84], 4
mov dword [esi + 0x16c], eax
mov edx, dword [esp + 0x5a]
mov ecx, dword [esp + 0x20]
push str.FTPDATA
and edx, 0xffff
push ecx
mov ecx, dword [esi + 0x16c]
push edx
push 0x7d0
push 0x3e8
call fcn.0046b850
test eax, eax
mov ecx, esi
jne 0x430889
mov eax, dword [esi + 0x16c]
push 2
mov eax, dword [eax]
push eax
call fcn.004de7c0
push 2
push 0x111
mov ecx, esi
call fcn.004de740
mov edi, dword [esi + 0x16c]
test edi, edi
je 0x430822
mov ecx, edi
call fcn.0046b7b0
push edi
call fcn.0050c4cc
add esp, 4
lea ecx, [esp + 0x20]
mov dword [esi + 0x16c], 0
mov byte [esp + 0x84], bl
call fcn.00507d3a
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 1
call fcn.00507d3a
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 0
call fcn.00507d3a
lea ecx, [esp + 0x14]
mov dword [esp + 0x84], 0xffffffff
call fcn.00507d3a
mov eax, 0x30003
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004dfc80
cmp eax, ebx
mov eax, dword [esi + 0x16c]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
push edx
lea eax, [esp + 0x38]
push ecx
push eax
jne 0x4308b7
call fcn.00428530
add esp, 0xc
mov byte [esp + 0x84], 6
jmp 0x4308c7
call fcn.00428430
add esp, 0xc
mov byte [esp + 0x84], 7
lea ecx, [esp + 0x18]
push eax
call fcn.00507e73
lea ecx, [esp + 0x34]
mov byte [esp + 0x84], 4
call fcn.00507d3a
lea ecx, [esp + 0x20]
mov byte [esp + 0x84], bl
call fcn.00507d3a
jmp 0x4309c6
mov ecx, 0x571fb8
call fcn.00482be0
test eax, eax
je 0x430919
mov eax, dword [0x5724d4]
test eax, eax
je 0x430919
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
mov dword [esp + 0x5c], eax
mov ecx, esi
call fcn.004dfc80
cmp eax, ebx
jne 0x430974
mov ecx, dword [esp + 0x5a]
push ecx
call dword [sym.imp.WSOCK32.dll_ntohs]
mov edx, dword [esp + 0x5f]
mov ecx, dword [esp + 0x5d]
and eax, 0xffff
and edx, 0xff
push eax
mov eax, dword [esp + 0x62]
push edx
mov edx, dword [esp + 0x64]
and eax, 0xff
and ecx, 0xff
push eax
and edx, 0xff
push ecx
push edx
lea eax, [esp + 0x2c]
push str.EPRT_1_u._u._u._u_u
push eax
call fcn.005054dc
add esp, 0x1c
jmp 0x4309c6
mov eax, dword [esp + 0x5a]
mov edx, dword [esp + 0x5f]
xor ecx, ecx
and edx, 0xff
mov cl, ah
and eax, 0xff
and ecx, 0xff
push ecx
mov ecx, dword [esp + 0x61]
push eax
mov eax, dword [esp + 0x66]
push edx
mov edx, dword [esp + 0x68]
and eax, 0xff
and ecx, 0xff
push eax
and edx, 0xff
push ecx
push edx
lea eax, [esp + 0x30]
push str.PORT__u__u__u__u__u__u
push eax
call fcn.005054dc
add esp, 0x20
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
push 0
lea eax, [esp + 0x20]
push 1
push eax
push ecx
mov ecx, esi
call dword [edx + 0x94]
mov ecx, dword [esp + 0x1c]
mov edx, eax
and edx, 0xffff0000
cmp edx, 0x30000
je 0x430a17
cmp ecx, 0x1f4
jl 0x430a01
mov edi, 0x30007
jmp 0x430a19
xor eax, eax
cmp ecx, 0x190
setl al
dec eax
and eax, 0x20001
add eax, 0x10001
mov edi, eax
mov edx, edi
and edx, 0xffff0000
cmp edx, 0x10000
je 0x430a8c
push ecx
mov ecx, esi
call fcn.00432f40
mov esi, dword [esi + 0x128]
test esi, esi
je 0x430a42
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 1
call fcn.00507d3a
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 0
call fcn.00507d3a
lea ecx, [esp + 0x14]
mov dword [esp + 0x84], 0xffffffff
call fcn.00507d3a
mov eax, edi
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 1
call fcn.00507d3a
jmp 0x4305e8
push ecx
mov ecx, esi
call fcn.00432f40
jmp 0x430a53
xor ecx, ecx
lea edx, [esp + 0x30]
mov dword [esp + 0x48], ecx
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], ecx
push edx
mov dword [esp + 0x54], ecx
push eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esi + 0x120]
mov dword [esp + 0x38], 0x10
call fcn.00489260
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
push edx
push ecx
mov dword [ebx], ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00507aaf
call fcn.00435db0
add esp, 8
test eax, eax
jne 0x4305e8
lea ecx, [esp + 0x10]
mov byte [esp + 0x84], 0
call fcn.00507d3a
lea ecx, [esp + 0x14]
mov dword [esp + 0x84], 0xffffffff
call fcn.00507d3a
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
mov eax, 0x30002
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret