joyce8/EMBER2024-capa huggingface dataset:
Function at 0x441998
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x49b854]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x194]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x4419e1
cmp byte [ebp - 0x194], 2
jne 0x4419db
mov eax, dword [ebp - 0x194]
shr eax, 8
cmp al, 2
jne 0x4419db
xor eax, eax
jmp 0x4419e4
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 2
pop eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045bc90
leave
ret

Function at 0x441f37
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [esi]
cmp dword [eax + 4], 2
push ebx
sete bl
push edi
test bl, bl
je 0x441f59
push dword [eax + 8]
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call dword [esi + 0xc]
jmp 0x441f8a
cmp dword [esi + 8], 0
jne 0x441f7a
push 0x4803e0
push dword [eax + 8]
call fcn.0045facc
pop ecx
pop ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x441f7a
or eax, 0xffffffff
jmp 0x441fb1
push dword [esi + 8]
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call fcn.00460170
mov edi, eax
add esp, 0x10
test edi, edi
je 0x441f98
cmp edi, dword [ebp + 0xc]
jbe 0x441faf
test bl, bl
jne 0x441fa9
push dword [esi + 8]
call fcn.0045f99c
and dword [esi + 8], 0
pop ecx
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, edi
pop edi
pop ebx
pop ebp
ret
Function at 0x44a394
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [esi + 0x140]
test ecx, ecx
je 0x44a3b6
push dword [esi + 0xe4]
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
push esi
call ecx
add esp, 0x14
pop ebp
ret
test eax, eax
js 0x44a3ed
cmp eax, 2
jg 0x44a3ed
push dword [esi + 0xe0]
imul eax, eax, 3
push 1
add eax, 0x4852d0
push 2
push eax
call fcn.00460c82
push dword [esi + 0xe0]
push 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00460c82
add esp, 0x20
xor eax, eax
pop ebp
ret

Function at 0x44a5a1
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [esi + eax*4 + 0xd4]
push edi
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov edi, eax
cmp edi, 0xffffffff
jne 0x44a5ea
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x44a5d3
xor edi, edi
jmp 0x44a5ea
push eax
push esi
call fcn.0045aa6f
push eax
push str.Send_failure:__s
push dword [esi]
call fcn.0044a513
add esp, 0x14
mov eax, edi
pop edi
pop ebp
ret
Function at 0x44ac96
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, dword [edi]
movzx eax, byte [esi + 0x286]
push 4
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 1
push 6
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x44acdc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
call fcn.0045aa6f
push eax
push str.Could_not_set_TCP_NODELAY:__s_n
push esi
call fcn.0044a4a9
add esp, 0x14
jmp 0x44ace9
push str.TCP_NODELAY_set_n
push esi
call fcn.0044a4a9
pop ecx
pop ecx
pop esi
leave
ret
Function at 0x44b0e7
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x458]
push esi
cmp eax, 0xffffffff
je 0x44b145
mov ecx, dword [ecx + 0x44c]
mov ecx, dword [ecx]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
je 0x44b145
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax]
test ecx, ecx
je 0x44b114
mov dword [ecx], eax
mov ecx, dword [eax + 0xd4]
mov esi, dword [ebp + 0xc]
mov dword [esi], ecx
cmp byte [eax + 0xdc], 0
jne 0x44b140
push 2
push 1
lea ecx, [ebp + 0xb]
push ecx
push dword [eax + 0xd4]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jne 0x44b14b
or dword [esi], 0xffffffff
jmp 0x44b14b
mov eax, dword [ebp + 0xc]
or dword [eax], 0xffffffff
xor eax, eax
pop esi
pop ebp
ret

Function at 0x44c85b
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push 1
push 0x24
call dword [0x49b83c]
mov esi, eax
xor ebx, ebx
xor eax, eax
pop ecx
lea edi, [ebp - 8]
mov dword [ebp - 0xc], ebx
pop ecx
stosd dword es:[edi], eax
cmp esi, ebx
jne 0x44c890
push 0xc
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
jmp 0x44c9ab
mov edi, dword [ebp + 8]
lea eax, [edi + 0x2bc]
push dword [eax]
mov dword [ebp - 4], eax
call fcn.00442a7a
push dword [ebp + 0xc]
call dword [0x49b838]
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
cmp eax, ebx
jne 0x44c8c1
push esi
call dword [0x49b830]
pop ecx
jmp 0x44c881
mov eax, dword [ebp + 0x10]
push ebx
push 1
mov dword [edi + 0x2c0], eax
mov byte [edi + 0x2c8], bl
mov dword [edi + 0x2cc], ebx
mov dword [edi + 0x2c4], ebx
mov dword [edi + 0x2d0], esi
or dword [esi + 0xc], 0xffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [esi + 0x10], eax
cmp eax, ebx
jne 0x44c907
push dword [ebp - 4]
call fcn.0044c79d
pop ecx
push 0xb
jmp 0x44c883
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esi + 0x14], eax
cmp eax, ebx
je 0x44c8f7
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [esi + 0x1c], eax
cmp eax, ebx
je 0x44c8f7
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esi + 0x20], eax
cmp eax, ebx
je 0x44c8f7
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esi + 0x18], eax
cmp eax, ebx
je 0x44c8f7
lea eax, [esi + 4]
push eax
push ebx
push edi
push 0x44c6ec
push ebx
push ebx
call fcn.0045c4e4
add esp, 0x18
mov dword [esi], eax
cmp eax, ebx
jne 0x44c983
call fcn.004638bc
push dword [eax]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp - 4]
call fcn.0044c79d
pop ecx
jmp 0x44c889
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x18]
push 0xffffffffffffffff
mov dword [ebp - 8], eax
push ebx
lea eax, [ebp - 0xc]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push ebx
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0xc], eax
mov al, 1
pop edi
pop esi
pop ebx
leave
ret
Function at 0x44c9b0
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [eax + 0x174]
mov esi, dword [edi + 0x2d0]
mov dword [ebp + 8], eax
test ecx, ecx
je 0x44c9d2
mov eax, ecx
jmp 0x44c9e1
mov eax, dword [eax + 0x170]
test eax, eax
jne 0x44c9e1
mov eax, 0x493e0
push ebx
push eax
push dword [esi + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 0x10]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [esi + 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
call ebx
push dword [esi + 0x14]
and dword [esi + 0x10], 0
call ebx
xor ebx, ebx
mov dword [esi + 0x14], ebx
cmp dword [ebp - 4], ebx
jne 0x44ca47
push 0x1388
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x44ca2d
push ebx
jmp 0x44ca59
push dword [edi + 0x2cc]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea ebx, [esi + 8]
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
jmp 0x44ca6e
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x44ca61
push 0xffffffffffffffff
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
lea ebx, [esi + 8]
mov byte [edi + 0x2c8], 1
or dword [ebx], 0xffffffff
mov eax, dword [ebp + 0xc]
xor esi, esi
cmp eax, esi
je 0x44ca7f
mov ecx, dword [edi + 0x2c4]
mov dword [eax], ecx
cmp dword [edi + 0x2c4], esi
jne 0x44cb33
mov ebx, dword [ebx]
push 0x1b
pop esi
cmp ebx, esi
jne 0x44cab0
push esi
call fcn.0045a3b5
push eax
push str.Could_not_resolve_host:__s
push dword [ebp + 8]
call fcn.0044a513
add esp, 0x10
jmp 0x44cb33
cmp byte [edi + 0x2c8], 0
je 0x44cb09
cmp byte [edi + 0x12b], 0
push dword [edi + 0x2cc]
push edi
je 0x44cae9
call fcn.0045aa6f
push eax
push dword [edi + 0xa0]
push str.Could_not_resolve_proxy:__s___s
push dword [ebp + 8]
call fcn.0044a513
add esp, 0x18
push 5
jmp 0x44cb32
call fcn.0045aa6f
push eax
push dword [edi + 0x8c]
push str.Could_not_resolve_host:__s___s
push dword [ebp + 8]
call fcn.0044a513
add esp, 0x18
push 6
jmp 0x44cb32
cmp ebx, 0xffffffff
je 0x44cb1a
cmp dword [edi + 0x2cc], 0x2afc
jne 0x44cb30
push dword [edi + 0x8c]
push str.Resolving_host_timed_out:__s
push dword [ebp + 8]
call fcn.0044a513
add esp, 0xc
push 0x1c
pop esi
lea eax, [edi + 0x2bc]
push eax
call fcn.0044c79d
cmp dword [edi + 0x2c4], 0
pop ecx
pop ebx
jne 0x44cb51
mov byte [edi + 0x128], 1
pop edi
mov eax, esi
pop esi
leave
ret
Function at 0x44cbe5
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi]
and dword [eax], 0
push edi
mov edi, dword [ebp + 0xc]
lea eax, [ebp + 8]
push eax
push edi
push 2
call fcn.0045ac67
add esp, 0xc
push dword [ebp + 0x10]
push edi
test eax, eax
jle 0x44cc20
lea eax, [ebp + 8]
push eax
push 2
call fcn.0044c54c
add esp, 0x10
jmp 0x44cc8f
push esi
call fcn.0044c85b
add esp, 0xc
test al, al
je 0x44cc3a
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
xor eax, eax
jmp 0x44cc8f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
call fcn.0045aa6f
push eax
push edi
push str.init_resolve_thread___failed_for__s___s_n
push ebx
call fcn.0044a4a9
add esp, 0x18
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x44cc84
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push esi
call fcn.0045aa6f
push eax
push dword [ebp + 0x10]
push edi
push str.gethostbyname_2__failed_for__s:_d___s_n
push ebx
call fcn.0044a4a9
add esp, 0x1c
jmp 0x44cc36
push dword [ebp + 0x10]
push eax
call fcn.0044c43e
pop ecx
pop ecx
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x44d0d6
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [esi + 0xc]
push ebx
mov ebx, dword [eax]
mov eax, dword [ebp + 8]
push edi
push 3
pop edi
sub eax, edi
je 0x44d1bf
dec eax
dec eax
je 0x44d132
dec eax
je 0x44d166
dec eax
je 0x44d107
push str.tftp_rx:_internal_error
push 0x48031c
jmp 0x44d203
inc dword [esi + 0x14]
push dword [esi + 0x14]
push str.Timeout_waiting_for_block__d_ACK.__Retries___d_n
push ebx
call fcn.0044a4a9
mov eax, dword [esi + 0x14]
cdq
add esp, 0xc
cmp edx, dword [esi + 0x24]
jl 0x44d139
jg 0x44d12b
cmp eax, dword [esi + 0x20]
jbe 0x44d139
mov dword [esi + 8], 0xffffff9d
mov dword [esi], edi
jmp 0x44d299
push dword [esi + 0x140]
lea eax, [esi + 0xc0]
push eax
push 0
push 4
push dword [esi + 0x158]
push dword [esi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x44d299
jmp 0x44d25d
xor eax, eax
and dword [esi + 0x14], eax
mov word [esi + 0x38], ax
push 4
pop ecx
lea eax, [esi + 0x158]
call fcn.0044ce63
mov cx, word [esi + 0x38]
lea eax, [esi + 0x158]
call fcn.0044ce74
push dword [esi + 0x140]
lea eax, [esi + 0xc0]
push eax
push 0
push 4
push dword [esi + 0x158]
push dword [esi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
js 0x44d25d
mov dword [esi], 1
jmp 0x44d299
lea eax, [esi + 0x154]
call fcn.0044ce95
movzx edi, ax
movzx eax, word [esi + 0x38]
inc eax
cmp eax, edi
je 0x44d214
push edi
push str.Received_unexpected_DATA_packet_block__d_n
push ebx
call fcn.0044a4a9
add esp, 0xc
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cdq
cmp edx, dword [esi + 0x24]
jl 0x44d214
jg 0x44d1f8
cmp eax, dword [esi + 0x20]
jbe 0x44d214
movzx eax, word [esi + 0x38]
inc eax
push eax
push str.tftp_rx:_giving_up_waiting_for_block__d
push ebx
call fcn.0044a513
add esp, 0xc
push 0x47
pop eax
jmp 0x44d29b
and dword [esi + 0x14], 0
push 4
pop ecx
lea eax, [esi + 0x158]
mov word [esi + 0x38], di
call fcn.0044ce63
mov cx, word [esi + 0x38]
lea eax, [esi + 0x158]
call fcn.0044ce74
push dword [esi + 0x140]
lea eax, [esi + 0xc0]
push eax
push 0
push 4
push dword [esi + 0x158]
push dword [esi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x44d27f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0xc]
call fcn.0045aa6f
push eax
push 0x48031c
push ebx
call fcn.0044a513
add esp, 0x14
push 0x37
jmp 0x44d20e
mov eax, dword [esi + 0x14c]
xor ecx, ecx
add eax, 4
cmp dword [esi + 0x144], eax
setl cl
lea ecx, [ecx + ecx + 1]
mov dword [esi], ecx
xor eax, eax
pop edi
pop ebx
pop ebp
ret
Function at 0x44d29f
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [esi + 0xc]
push ebx
push edi
mov edi, dword [eax]
mov eax, dword [ebp + 8]
xor ebx, ebx
sub eax, 4
je 0x44d343
dec eax
je 0x44d304
dec eax
je 0x44d3ea
dec eax
je 0x44d2d9
push str.tftp_tx:_internal_error
push 0x48031c
push edi
call fcn.0044a513
jmp 0x44d4aa
inc dword [esi + 0x14]
push dword [esi + 0x14]
push str.Timeout_waiting_for_block__d_ACK.__Retries___d_n
push edi
call fcn.0044a4a9
mov eax, dword [esi + 0x14]
cdq
add esp, 0xc
cmp edx, dword [esi + 0x24]
jl 0x44d30f
jg 0x44d2fd
cmp eax, dword [esi + 0x20]
jbe 0x44d30f
mov dword [esi + 8], 0xffffff9d
mov dword [esi], 3
jmp 0x44d4ad
push dword [esi + 0x140]
lea eax, [esi + 0xc0]
push eax
mov eax, dword [esi + 0x148]
push ebx
add eax, 4
push eax
push dword [esi + 0x158]
push dword [esi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x44d49e
jmp 0x44d46f
lea eax, [esi + 0x154]
call fcn.0044ce95
movzx ecx, word [esi + 0x38]
movzx eax, ax
cmp eax, ecx
je 0x44d3ea
push ecx
push eax
push str.Received_ACK_for_block__d__expecting__d_n
push edi
call fcn.0044a4a9
add esp, 0x10
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cdq
cmp edx, dword [esi + 0x24]
jl 0x44d395
jg 0x44d380
cmp eax, dword [esi + 0x20]
jbe 0x44d395
movzx eax, word [esi + 0x38]
push eax
push str.tftp_tx:_giving_up_waiting_for_block__d_ack
push edi
call fcn.0044a513
add esp, 0xc
jmp 0x44d3e0
push dword [esi + 0x140]
lea eax, [esi + 0xc0]
push eax
mov eax, dword [esi + 0x148]
push 0
add eax, 4
push eax
lea eax, [esi + 0x158]
push eax
push dword [esi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x44d3e3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0xc]
call fcn.0045aa6f
push eax
push 0x48031c
push edi
call fcn.0044a513
add esp, 0x14
push 0x37
pop ebx
mov eax, ebx
jmp 0x44d4af
inc word [esi + 0x38]
push 3
pop ecx
lea eax, [esi + 0x158]
mov dword [esi + 0x14], ebx
call fcn.0044ce63
mov cx, word [esi + 0x38]
lea eax, [esi + 0x158]
call fcn.0044ce74
cmp word [esi + 0x38], 1
jbe 0x44d427
mov eax, dword [esi + 0x148]
cmp eax, dword [esi + 0x14c]
jb 0x44d304
lea eax, [ebp + 8]
push eax
push dword [esi + 0x14c]
push dword [esi + 0xc]
call fcn.004469c6
mov ecx, dword [ebp + 8]
add esp, 0xc
mov dword [esi + 0x148], ecx
test eax, eax
jne 0x44d4af
push dword [esi + 0x140]
lea eax, [esi + 0xc0]
push eax
push 0
add ecx, 4
push ecx
push dword [esi + 0x158]
push dword [esi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x44d492
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0xc]
call fcn.0045aa6f
push eax
push 0x48031c
push edi
call fcn.0044a513
add esp, 0x14
push 0x37
pop eax
jmp 0x44d4af
mov eax, dword [esi + 0x148]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], ebx
push dword [edi + 0x44]
push dword [edi + 0x40]
push edi
call fcn.00458597
add esp, 0xc
xor eax, eax
pop edi
pop ebx
pop ebp
ret
Function at 0x44f061
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x49b854]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x194]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x44f098
push eax
push str.WSAStartup_failed___d_
push esi
call fcn.0044a513
add esp, 0xc
jmp 0x44f0c5
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp byte [ebp - 0x194], 2
jne 0x44f0b8
mov eax, dword [ebp - 0x194]
shr eax, 8
test al, al
jne 0x44f0b8
xor eax, eax
jmp 0x44f0c8
push str.insufficient_winsock_version_to_support_telnet
push esi
call fcn.0044a513
pop ecx
pop ecx
push 2
pop eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045bc90
leave
ret

Function at 0x44f1f6
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov ebx, eax
mov al, byte [ebp + 8]
push 0
mov byte [ebp - 3], al
push 3
lea eax, [ebp - 4]
mov esi, ecx
mov edi, dword [esi]
push eax
push dword [esi + 0xd4]
mov byte [ebp - 4], 0xff
mov byte [ebp - 2], bl
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x44f23d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Sending_data_failed___d_
push edi
call fcn.0044a513
add esp, 0xc
mov edx, dword [ebp + 8]
mov esi, dword [esi]
mov ecx, ebx
mov ebx, str.SENT
call fcn.0044f12d
pop edi
pop esi
pop ebx
leave
ret
Function at 0x44f963
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x910
mov eax, dword [0x49b854]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov ecx, dword [ebx]
push esi
mov esi, dword [ecx + 0x8558]
mov eax, dword [esi + 0x1ab0]
sub eax, dword [esi + 0x1aac]
push edi
add eax, 2
push eax
push 0x3c
lea eax, [esi + 0x18ac]
push ecx
mov dword [ebp - 0x90c], ebx
mov dword [ebp - 0x908], ecx
call fcn.0044f539
mov eax, dword [esi + 0x1aac]
movzx ecx, byte [eax]
add esp, 0xc
inc eax
mov dword [esi + 0x1aac], eax
cmp ecx, 0x18
je 0x44fb07
cmp ecx, 0x23
je 0x44fae3
cmp ecx, 0x27
jne 0x44fb99
push 0
push ecx
push 0xfa
mov edi, 0xff
push edi
push str._c_c_c_c
lea eax, [ebp - 0x904]
push 0x800
push eax
call fcn.0044b798
mov esi, dword [esi + 0x18a8]
add esp, 0x1c
push 4
pop ebx
jmp 0x44fa77
push dword [esi]
call fcn.0045f220
inc eax
add eax, ebx
pop ecx
mov dword [ebp - 0x910], eax
cmp eax, 0x7fa
jae 0x44fa74
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x104]
push eax
push str._127_____127s
push dword [esi]
call fcn.0045fcb6
lea eax, [ebp - 0x84]
push eax
push 1
lea eax, [ebp - 0x104]
push eax
push 0
mov eax, 0x800
sub eax, ebx
push str._c_s_c_s
push eax
lea eax, [ebp + ebx - 0x904]
push eax
call fcn.0044b798
mov ebx, dword [ebp - 0x910]
add esp, 0x2c
mov esi, dword [esi + 4]
test esi, esi
jne 0x44fa0d
push 0xf0
push edi
mov eax, 0x800
sub eax, ebx
push 0x48639c
push eax
lea eax, [ebp + ebx - 0x904]
push eax
call fcn.0044b798
add esp, 0x14
push esi
add ebx, 2
push ebx
lea eax, [ebp - 0x904]
push eax
mov eax, dword [ebp - 0x90c]
push dword [eax + 0xd4]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x44fada
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Sending_data_failed___d_
push dword [ebp - 0x908]
call fcn.0044a513
add esp, 0xc
add ebx, 0xfffffffe
push ebx
jmp 0x44fb83
add esi, 0x1828
push esi
mov dword [ebp - 0x90c], esi
call fcn.0045f220
push 0xf0
mov edi, 0xff
push edi
push esi
push 0
push 0x23
jmp 0x44fb29
add esi, 0x1808
push esi
mov dword [ebp - 0x90c], esi
call fcn.0045f220
push 0xf0
mov edi, 0xff
push edi
push esi
push 0
push 0x18
push 0xfa
push edi
push str._c_c_c_c_s_c_c
lea esi, [eax + 6]
lea eax, [ebp - 0x904]
push 0x800
push eax
call fcn.0044b798
add esp, 0x2c
push 0
push esi
lea eax, [ebp - 0x904]
push eax
push dword [ebx + 0xd4]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x44fb7f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.Sending_data_failed___d_
push dword [ebp - 0x908]
call fcn.0044a513
add esp, 0xc
add esi, 0xfffffffe
push esi
push 0x3e
push dword [ebp - 0x908]
lea eax, [ebp - 0x902]
call fcn.0044f539
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045bc90
leave
ret
Function at 0x450483
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x49b854]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [esi]
push edi
mov edi, dword [esi + 0xd8]
push 1
push 0
push esi
mov dword [ebp - 0x1c], ebx
call fcn.0044a847
add esp, 0xc
test eax, eax
jns 0x4504c5
push str.Timed_out_before_server_could_connect_to_us
push ebx
call fcn.0044a513
pop ecx
pop ecx
push 0x1c
jmp 0x45055d
push eax
push 0xffffffffffffffff
push edi
call fcn.004568aa
add esp, 0xc
cmp eax, 0xffffffff
je 0x45054e
test eax, eax
je 0x450547
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
or ebx, 0xffffffff
mov dword [ebp - 0x18], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x45050f
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
mov dword [ebp - 0x18], 0x10
call dword [sym.imp.WS2_32.dll_accept]
mov ebx, eax
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
cmp ebx, 0xffffffff
jne 0x450525
push str.Error_accept__ing_server_connect
push dword [ebp - 0x1c]
jmp 0x450554
push str.Connection_accepted_from_server_n
push dword [ebp - 0x1c]
call fcn.0044a4a9
push 1
push ebx
mov dword [esi + 0xd8], ebx
call fcn.0045ac90
add esp, 0x10
xor eax, eax
jmp 0x45055e
push str.Timeout_while_waiting_for_server_connect
jmp 0x450553
push str.Error_while_waiting_for_server_connect
push ebx
call fcn.0044a513
pop ecx
pop ecx
push 0x1e
pop eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0045bc90
leave
ret
Function at 0x45089c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0xd4]
mov dword [ebp - 8], eax
mov eax, dword [esi]
xor ebx, ebx
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ebx
call fcn.00458122
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], edx
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x10], ebx
cmp eax, ebx
je 0x4508d7
mov dword [eax], ebx
jmp 0x4508dd
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 8]
mov dword [ecx], ebx
jmp 0x4509ce
mov edi, dword [ebp - 4]
cmp dword [edi + 0x178], ebx
je 0x45090c
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.00458122
push edx
push eax
call fcn.00458138
mov ecx, dword [edi + 0x178]
jmp 0x45094c
cmp dword [edi + 0x170], ebx
je 0x450934
push dword [esi + 0xc8]
push dword [esi + 0xc4]
call fcn.00458122
push edx
push eax
call fcn.00458138
mov ecx, dword [edi + 0x170]
jmp 0x45094c
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.00458122
push edx
push eax
call fcn.00458138
mov ecx, dword [esi + 0x304]
sub ecx, eax
add esp, 0x10
cmp ecx, ebx
jle 0x4509e4
mov eax, 0x3e8
cmp ecx, eax
jge 0x450964
mov eax, ecx
cmp dword [esi + 0x2f4], ebx
je 0x450972
cmp dword [ebp + 0xc], 2
jl 0x450989
push eax
push 0xffffffffffffffff
push dword [ebp - 8]
call fcn.004568aa
add esp, 0xc
cmp eax, 0xffffffff
je 0x4509fc
cmp eax, ebx
je 0x4509c0
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0x10]
push dword [ebp - 8]
call fcn.00450586
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp eax, ebx
jne 0x4509d6
mov ecx, dword [ebp - 0x14]
cmp ecx, ebx
jne 0x4509b6
cmp dword [esi + 0x2f4], ebx
je 0x4509b6
inc dword [ebp + 0xc]
jmp 0x4509b9
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 8]
add dword [eax], ecx
jmp 0x4509cb
push esi
call fcn.00458619
pop ecx
test eax, eax
jne 0x4509f8
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
je 0x4508e7
mov eax, dword [ebp - 0xc]
mov byte [esi + 0x31c], bl
pop edi
pop esi
pop ebx
leave
ret
push str.FTP_response_timeout
push dword [ebp - 4]
call fcn.0044a513
pop ecx
pop ecx
push 0x1c
pop eax
jmp 0x4509df
push 0x2a
jmp 0x4509f5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.FTP_response_aborted_due_to_select_poll_error:__d
push dword [ebp - 4]
call fcn.0044a513
add esp, 0xc
push 0x38
jmp 0x4509f5
Function at 0x45250d
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
push edi
push 0x64
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
xor edi, edi
cmp eax, 2
je 0x452536
push str.Couldnt_set_desired_mode
push ecx
call fcn.0044a513
pop ecx
pop ecx
push 0x11
pop eax
jmp 0x45258b
cmp dword [ebp + 8], 0xc8
je 0x452550
push dword [ebp + 8]
push str.Got_a__03d_response_code_instead_of_the_assumed_200_n
push ecx
call fcn.0044a4a9
add esp, 0xc
mov eax, dword [ebp + 0xc]
cmp eax, 0x11
jne 0x452561
mov eax, esi
call fcn.00451cea
jmp 0x452587
cmp eax, 0x12
jne 0x45256e
push esi
call fcn.00451d31
jmp 0x452586
cmp eax, 0x13
jne 0x45257b
push esi
call fcn.00450a4b
jmp 0x452586
cmp eax, 0x14
jne 0x452589
push esi
call fcn.00450a5f
pop ecx
mov edi, eax
mov eax, edi
pop edi
pop ebx
pop ebp
ret