Function at 0x4718a9
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.00596604
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x12ec], 0xffffffff
test ebx, ebx
je 0x471f2a
test esi, esi
jne 0x47191e
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCwd
test eax, eax
jle 0x471f2a
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPGetConnection
mov dword [ebx + 0x30], eax
inc eax
je 0x471f2a
mov dword [esp + 8], str.LIST__L_r_n
mov dword [esp + 4], 0x1001
lea eax, [ebp - 0x12e5]
mov dword [esp], eax
call fcn.00597a20
jmp 0x471978
cmp byte [esi], 0x2f
je 0x47193a
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCwd
test eax, eax
jle 0x471f2a
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPGetConnection
mov dword [ebx + 0x30], eax
mov dword [ebp - 0x12ec], 0xffffffff
inc eax
je 0x471f2a
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.00597a20
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 0x4719e0
mov dword [esp + 8], str.send_failed
mov dword [esp + 4], 0
mov dword [esp], 9
call fcn.00448b72
jmp 0x471aa2
mov eax, ebx
call fcn.0047029c
mov edx, eax
xor edi, edi
cmp eax, 1
je 0x471a1c
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 0x471f2a
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 0x471b0f
jne 0x471aba
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNanoFTPCheckResponse
test eax, eax
js 0x471b0f
cmp eax, 2
jne 0x471f0b
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sub.WS2_32.dll_closesocket
push esi
mov dword [ebx + 0x30], 0xffffffff
jmp 0x471f2a
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 0x471b31
mov dword [esp + 8], str.recv
mov dword [esp + 4], 0
mov dword [esp], 9
call fcn.00448b72
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 0x471f2a
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.0059fca8
test eax, eax
jne 0x471bae
lea eax, [ebx + 5]
jmp 0x471b83
inc eax
cmp byte [eax], 0x20
je 0x471b82
jmp 0x471b8b
inc eax
mov dl, byte [eax]
sub edx, 0x30
cmp dl, 9
jbe 0x471b8a
jmp 0x471b98
inc eax
mov dl, byte [eax]
cmp dl, 0xa
je 0x471b97
cmp dl, 0x20
je 0x471b97
cmp dl, 0xd
je 0x471b97
jmp 0x471ec3
xor eax, eax
mov edx, dword [ebp - 0x12ec]
mov esi, ebx
cmp byte [ebp + edx - 0x12e5], 0x2b
jne 0x471bc8
jmp 0x471ec9
inc esi
mov dl, byte [esi]
cmp dl, 0xa
je 0x471bc7
cmp dl, 0x20
je 0x471bc7
cmp dl, 0xd
je 0x471bc7
xor eax, eax
test dl, dl
jne 0x471bf8
jmp 0x471ec9
cmp eax, 9
jg 0x471bee
mov byte [ebp + eax - 0x2f], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x471ec7
mov dl, byte [esi]
cmp dl, 0x20
jne 0x471be4
mov byte [ebp - 0x25], 0
jmp 0x471c06
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471c05
xor eax, eax
test dl, dl
je 0x471ec9
mov dword [ebp - 0x12f8], 0
jmp 0x471c38
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 0x471c23
jmp 0x471c45
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471c44
xor eax, eax
test dl, dl
jne 0x471c6b
jmp 0x471ec9
cmp eax, 9
jg 0x471c61
mov byte [ebp + eax - 0x3a], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x471ec7
mov dl, byte [esi]
cmp dl, 0x20
jne 0x471c57
mov byte [ebp + eax - 0x3a], 0
jmp 0x471c7a
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471c79
xor eax, eax
test dl, dl
jne 0x471ca0
jmp 0x471ec9
cmp eax, 9
jg 0x471c96
mov byte [ebp + eax - 0x45], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x471ec7
mov dl, byte [esi]
cmp dl, 0x20
jne 0x471c8c
mov byte [ebp + eax - 0x45], 0
jmp 0x471caf
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471cae
xor eax, eax
test dl, dl
je 0x471ec9
mov dword [ebp - 0x12fc], 0
jmp 0x471ce1
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 0x471ccc
jmp 0x471cee
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471ced
xor eax, eax
test dl, dl
jne 0x471d14
jmp 0x471ec9
cmp eax, 2
jg 0x471d0a
mov byte [ebp + eax - 0x1c], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x471ec7
mov dl, byte [esi]
cmp dl, 0x20
jne 0x471d00
mov byte [ebp + eax - 0x1c], 0
jmp 0x471d23
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471d22
xor eax, eax
test dl, dl
je 0x471ec9
mov dword [ebp - 0x1300], 0
jmp 0x471d55
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 0x471d40
jmp 0x471d62
inc esi
mov dl, byte [esi]
cmp dl, 0x20
je 0x471d61
xor eax, eax
test dl, dl
je 0x471ec9
mov cl, byte [esi + 1]
test cl, cl
je 0x471ec9
mov dl, byte [esi + 2]
test dl, dl
je 0x471ec9
cmp cl, 0x3a
je 0x471da4
cmp dl, 0x3a
je 0x471da4
xor ecx, ecx
jmp 0x471de2
imul edx, edx, 0xa
movsx eax, al
lea edx, [edx + eax - 0x30]
inc esi
jmp 0x471da6
xor edx, edx
mov al, byte [esi]
lea ecx, [eax - 0x30]
cmp cl, 9
jbe 0x471d97
cmp al, 0x3a
sete al
movzx eax, al
add esi, eax
xor edi, edi
jmp 0x471dc9
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 0x471dbe
xor ecx, ecx
jmp 0x471df3
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 0x471dd7
xor edx, edx
xor edi, edi
jmp 0x471df3
inc esi
mov al, byte [esi]
mov byte [ebp - 0x12ed], al
cmp al, 0x20
je 0x471df2
xor eax, eax
cmp byte [ebp - 0x12ed], 0
je 0x471ec9
mov dword [ebp - 0x131c], edx
jmp 0x471e35
cmp eax, 0x95
jg 0x471e2b
mov dl, byte [ebp - 0x12ed]
mov byte [ebp + eax - 0xdc], dl
inc eax
inc esi
cmp byte [esi], 0
je 0x471ec7
mov dl, byte [esi]
mov byte [ebp - 0x12ed], dl
cmp dl, 0xd
je 0x471e47
cmp dl, 0xa
jne 0x471e16
mov edx, dword [ebp - 0x131c]
mov byte [ebp + eax - 0xdc], 0
jmp 0x471e58
inc esi
mov al, byte [esi]
cmp al, 0xd
je 0x471e57
cmp al, 0xa
je 0x471e57
cmp dword [ebp + 0xc], 0
je 0x471ec1
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 0x471ec9
xor eax, eax
add dword [ebp - 0x12ec], eax
test eax, eax
jg 0x471b55
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 0x471a1c
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