Function at 0x472b09
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov eax, 0x134c
call fcn.00597854
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x12ec], 0xffffffff
test ebx, ebx
je 0x47318a
test esi, esi
jne 0x472b7e
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCwd
test eax, eax
jle 0x47318a
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPGetConnection
mov dword [ebx + 0x30], eax
inc eax
je 0x47318a
mov dword [esp + 8], str.LIST__L_r_n
mov dword [esp + 4], 0x1001
lea eax, [ebp - 0x12e5]
mov dword [esp], eax
call fcn.00597e90
jmp 0x472bd8
cmp byte [esi], 0x2f
je 0x472b9a
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCwd
test eax, eax
jle 0x47318a
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPGetConnection
mov dword [ebx + 0x30], eax
mov dword [ebp - 0x12ec], 0xffffffff
inc eax
je 0x47318a
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.LIST__L__s_r_n
mov dword [esp + 4], 0x1001
lea eax, [ebp - 0x12e5]
mov dword [esp], eax
call fcn.00597e90
mov byte [ebp - 0x2e5], 0
lea esi, [ebp - 0x12e5]
xor eax, eax
or ecx, 0xffffffff
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x12f4], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call sub.WS2_32.dll_send
sub esp, 0x10
mov dword [ebp - 0x12ec], eax
test eax, eax
jns 0x472c40
mov dword [esp + 8], str.send_failed
mov dword [esp + 4], 0
mov dword [esp], 9
call fcn.00449dd2
jmp 0x472d02
mov eax, ebx
call fcn.004714fc
mov edx, eax
xor edi, edi
cmp eax, 1
je 0x472c7c
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
mov dword [ebp - 0x130c], edx
call sub.WS2_32.dll_closesocket
push edi
mov dword [ebx + 0x30], 0xffffffff
mov edx, dword [ebp - 0x130c]
neg edx
mov dword [ebp - 0x12ec], edx
jmp 0x47318a
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x20], 0
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1e0], 1
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 1
lea edx, [ebp - 0x24]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x2e4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
lea edx, [ebp - 0x1e0]
mov dword [esp + 4], edx
inc eax
mov dword [esp], eax
call sub.WS2_32.dll_select
sub esp, 0x14
mov dword [ebp - 0x12ec], eax
cmp eax, 0
jl 0x472d6f
jne 0x472d1a
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCheckResponse
test eax, eax
js 0x472d6f
cmp eax, 2
jne 0x47316b
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sub.WS2_32.dll_closesocket
push esi
mov dword [ebx + 0x30], 0xffffffff
jmp 0x47318a
mov dword [esp + 0xc], 0
mov eax, edi
not eax
add eax, 0x1001
mov dword [esp + 8], eax
lea eax, [ebp - 0x12e5]
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sub.WS2_32.dll_recv
sub esp, 0x10
mov dword [ebp - 0x12f4], eax
test eax, eax
jns 0x472d91
mov dword [esp + 8], str.recv
mov dword [esp + 4], 0
mov dword [esp], 9
call fcn.00449dd2
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sub.WS2_32.dll_closesocket
push ecx
mov dword [ebx + 0x30], 0xffffffff
mov dword [ebp - 0x12ec], 0xffffffff
jmp 0x47318a
add edi, dword [ebp - 0x12f4]
mov dword [ebp - 0x1304], edi
mov byte [ebp + edi - 0x12e5], 0
mov dword [ebp - 0x12ec], 0
mov dword [ebp - 0x1308], ebx
lea ebx, [ebp - 0x12e5]
add ebx, dword [ebp - 0x12ec]
mov dword [esp + 8], 5
mov dword [esp + 4], str.total
mov dword [esp], ebx
call fcn.005a0f10
test eax, eax
jne 0x472e0e
lea eax, [ebx + 5]
jmp 0x472de3
inc eax
cmp byte [eax], 0x20
je 0x472de2
jmp 0x472deb
inc eax
mov dl, byte [eax]
sub edx, 0x30
cmp dl, 9
jbe 0x472dea
jmp 0x472df8
inc eax
mov dl, byte [eax]
cmp dl, 0xa
je 0x472df7
cmp dl, 0x20
je 0x472df7
cmp dl, 0xd
je 0x472df7
jmp 0x473123
xor eax, eax
mov edx, dword [ebp - 0x12ec]
mov esi, ebx
cmp byte [ebp + edx - 0x12e5], 0x2b
jne 0x472e28
jmp 0x473129
inc esi
mov dl, byte [esi]
cmp dl, 0xa
je 0x472e27
cmp dl, 0x20
je 0x472e27
cmp dl, 0xd
je 0x472e27
xor eax, eax
test dl, dl
jne 0x472e58
jmp 0x473129
cmp eax, 9
jg 0x472e4e
mov byte [ebp + eax - 0x2f], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x473127
mov dl, byte [esi]
cmp dl, 0x20
jne 0x472e44
mov byte [ebp - 0x25], 0
jmp 0x472e66
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472e65
xor eax, eax
test dl, dl
je 0x473129
mov dword [ebp - 0x12f8], 0
jmp 0x472e98
imul edx, dword [ebp - 0x12f8], 0xa
movsx eax, al
lea eax, [edx + eax - 0x30]
mov dword [ebp - 0x12f8], eax
inc esi
mov al, byte [esi]
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x472e83
jmp 0x472ea5
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472ea4
xor eax, eax
test dl, dl
jne 0x472ecb
jmp 0x473129
cmp eax, 9
jg 0x472ec1
mov byte [ebp + eax - 0x3a], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x473127
mov dl, byte [esi]
cmp dl, 0x20
jne 0x472eb7
mov byte [ebp + eax - 0x3a], 0
jmp 0x472eda
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472ed9
xor eax, eax
test dl, dl
jne 0x472f00
jmp 0x473129
cmp eax, 9
jg 0x472ef6
mov byte [ebp + eax - 0x45], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x473127
mov dl, byte [esi]
cmp dl, 0x20
jne 0x472eec
mov byte [ebp + eax - 0x45], 0
jmp 0x472f0f
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472f0e
xor eax, eax
test dl, dl
je 0x473129
mov dword [ebp - 0x12fc], 0
jmp 0x472f41
imul edx, dword [ebp - 0x12fc], 0xa
movsx eax, al
lea eax, [edx + eax - 0x30]
mov dword [ebp - 0x12fc], eax
inc esi
mov al, byte [esi]
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x472f2c
jmp 0x472f4e
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472f4d
xor eax, eax
test dl, dl
jne 0x472f74
jmp 0x473129
cmp eax, 2
jg 0x472f6a
mov byte [ebp + eax - 0x1c], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x473127
mov dl, byte [esi]
cmp dl, 0x20
jne 0x472f60
mov byte [ebp + eax - 0x1c], 0
jmp 0x472f83
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472f82
xor eax, eax
test dl, dl
je 0x473129
mov dword [ebp - 0x1300], 0
jmp 0x472fb5
imul edx, dword [ebp - 0x1300], 0xa
movsx eax, al
lea eax, [edx + eax - 0x30]
mov dword [ebp - 0x1300], eax
inc esi
mov al, byte [esi]
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x472fa0
jmp 0x472fc2
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x472fc1
xor eax, eax
test dl, dl
je 0x473129
mov cl, byte [esi + 1]
test cl, cl
je 0x473129
mov dl, byte [esi + 2]
test dl, dl
je 0x473129
cmp cl, 0x3a
je 0x473004
cmp dl, 0x3a
je 0x473004
xor ecx, ecx
jmp 0x473042
imul edx, edx, 0xa
movsx eax, al
lea edx, [edx + eax - 0x30]
inc esi
jmp 0x473006
xor edx, edx
mov al, byte [esi]
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x472ff7
cmp al, 0x3a
sete al
movzx eax, al
add esi, eax
xor edi, edi
jmp 0x473029
imul edi, edi, 0xa
movsx eax, al
lea edi, [edi + eax - 0x30]
inc esi
mov al, byte [esi]
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x47301e
xor ecx, ecx
jmp 0x473053
imul ecx, ecx, 0xa
movsx eax, al
lea ecx, [ecx + eax - 0x30]
inc esi
mov al, byte [esi]
lea edx, [eax - 0x30]
cmp dl, 9
jbe 0x473037
xor edx, edx
xor edi, edi
jmp 0x473053
inc esi
mov al, byte [esi]
mov byte [ebp - 0x12ed], al
cmp al, 0x20
je 0x473052
xor eax, eax
cmp byte [ebp - 0x12ed], 0
je 0x473129
mov dword [ebp - 0x131c], edx
jmp 0x473095
cmp eax, 0x95
jg 0x47308b
mov dl, byte [ebp - 0x12ed]
mov byte [ebp + eax - 0xdc], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x473127
mov dl, byte [esi]
mov byte [ebp - 0x12ed], dl
cmp dl, 0xd
je 0x4730a7
cmp dl, 0xa
jne 0x473076
mov edx, dword [ebp - 0x131c]
mov byte [ebp + eax - 0xdc], 0
jmp 0x4730b8
inc esi
mov al, byte [esi]
cmp al, 0xd
je 0x4730b7
cmp al, 0xa
je 0x4730b7
cmp dword [ebp + 0xc], 0
je 0x473121
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edx
mov eax, dword [ebp - 0x1300]
mov dword [esp + 0x24], eax
lea edx, [ebp - 0x1c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
mov eax, dword [ebp - 0x12f8]
mov dword [esp + 0x18], eax
mov edx, dword [ebp - 0x12fc]
mov dword [esp + 0x14], edx
lea eax, [ebp - 0x45]
mov dword [esp + 0x10], eax
lea edx, [ebp - 0x3a]
mov dword [esp + 0xc], edx
lea eax, [ebp - 0x2f]
mov dword [esp + 8], eax
lea eax, [ebp - 0xdc]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
call dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
jmp 0x473129
xor eax, eax
add dword [ebp - 0x12ec], eax
test eax, eax
jg 0x472db5
mov ebx, dword [ebp - 0x1308]
mov edi, dword [ebp - 0x1304]
sub edi, dword [ebp - 0x12ec]
mov dword [esp + 8], edi
lea eax, [ebp - 0x12e5]
add eax, dword [ebp - 0x12ec]
mov dword [esp + 4], eax
lea eax, [ebp - 0x12e5]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
cmp dword [ebp - 0x12f4], 0
jne 0x472c7c
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCloseConnection
mov dword [ebp - 0x12ec], 0
mov eax, dword [ebp - 0x12ec]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret