joyce8/EMBER2024-capa huggingface dataset:
Function at 0x439100
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], 0
cmp dword [ebp - 4], 0
je 0x439154
mov eax, dword [ebp - 4]
add eax, 0x2710
cmp eax, 0x18704
jle 0x439134
push str.internal_201_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x439193
mov ecx, dword [ebp - 4]
push ecx
push 0xee
push 0x534818
call fcn.004bf170
add esp, 0xc
mov edx, dword [ebp - 4]
mov byte [edx + 0x534817], 0xa
mov eax, dword [ebp - 4]
push eax
push str.SKIP__d_r_n
push 0x534818
call fcn.004be348
add esp, 0xc
push 0x534818
call fcn.004be7f0
add esp, 4
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
push 0
mov ecx, dword [ebp - 8]
push ecx
push 0x534818
mov edx, dword [ebp + 8]
push edx
call sub.WS2_32.dll_send
xor eax, eax
mov esp, ebp
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0x18]
jg 0x43942a
jl 0x43931e
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp + 0x14]
jae 0x43942a
mov edx, dword [ebp + 0x14]
sub edx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
sbb eax, dword [ebp - 4]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 0x186fa
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x14]
jle 0x439342
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push 1
push 0x534818
call fcn.0040cb10
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x43937b
mov edx, dword [ebp + 8]
push edx
push str.cannot_fully_read__s__2__n
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43942c
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jge 0x4393fc
push 0
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x534818
push edx
mov eax, dword [ebp + 0x10]
push eax
call sub.WS2_32.dll_send
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jg 0x4393df
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.connection_closed_while_sending__s__s_n
call fcn.0040cc80
add esp, 0xc
push str.the_file_cannot_be_written_at_receiver._n
call fcn.0040cc80
add esp, 4
mov eax, 9
jmp 0x43942c
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jge 0x4393fa
push 0xa
call fcn.004026b0
add esp, 4
jmp 0x439382
cmp dword [ebp + 0x1c], 0
je 0x439413
mov ecx, dword [ebp - 0xc]
push ecx
push 0x534818
mov ecx, dword [ebp + 0x1c]
call fcn.00412170
mov eax, dword [ebp - 0xc]
cdq
add eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
adc ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
jmp 0x439304
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x43dde0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0xffffffff
jne 0x43de15
mov eax, dword [ebp + 0x18]
push eax
push str.cannot_create__s_n
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43ded1
mov dword [ebp - 4], 0
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00402c90
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x43de4c
mov edx, dword [ebp + 0x18]
push edx
push str.cannot_get_host_for__s_n
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43ded1
mov eax, dword [ebp - 4]
movsx ecx, word [eax + 0xa]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 4
push edx
call fcn.004bed60
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov word [eax], 2
mov cx, word [ebp + 0xc]
push ecx
call sub.WS2_32.dll_htons
mov edx, dword [ebp + 0x10]
mov word [edx + 2], ax
cmp dword [0x56afc8], 0
je 0x43dea3
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.__connect_to__s:_u_n
call fcn.0044d350
add esp, 0xc
push 0x10
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
jne 0x43decf
mov edx, dword [ebp + 0x18]
push edx
push str.cannot_establish_connection_for__s_n
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43ded1
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x43f8d0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov byte [ebp - 5], 0
mov dword [ebp - 4], 0
mov eax, 1
test eax, eax
je 0x43f967
push 0
push 1
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call sub.WS2_32.dll_recv
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jg 0x43f90d
mov byte [ebp - 5], 1
jmp 0x43f967
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 4
jle 0x43f93c
push 4
push 0x4d82b4
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
lea eax, [edx + ecx - 4]
push eax
call fcn.004bebf0
add esp, 0xc
test eax, eax
jne 0x43f93c
jmp 0x43f967
cmp dword [ebp - 4], 2
jle 0x43f962
push 2
push 0x4d82bc
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
lea eax, [edx + ecx - 2]
push eax
call fcn.004bebf0
add esp, 0xc
test eax, eax
jne 0x43f962
jmp 0x43f967
jmp 0x43f8e1
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
mov byte [ecx], 0
movzx edx, byte [ebp - 5]
test edx, edx
je 0x43f981
mov dword [ebp - 0x10], 0xffffffff
jmp 0x43f987
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
Function at 0x43f990
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x5290f4]
movzx ecx, byte [eax + 0x400]
mov edx, dword [0x5290f4]
mov dword [edx + ecx*4], 0x6eca0000
mov eax, dword [0x5290f4]
mov cl, byte [eax + 0x400]
add cl, 1
mov edx, dword [0x5290f4]
mov byte [edx + 0x400], cl
lea eax, [ebp + 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x1000
push 0x553630
call fcn.004bf611
add esp, 0x10
push 0x4d82c0
push 0x553630
call fcn.004be700
add esp, 8
push 0
push str.HTTP_1.1_500_server_error
mov eax, dword [ebp + 8]
push eax
call fcn.004384b0
add esp, 0xc
push 0
push 0x4d82e0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004384b0
add esp, 0xc
push 0
push 0x4d830c
mov edx, dword [ebp + 8]
push edx
call fcn.004384b0
add esp, 0xc
push 0
push 0x4d8324
mov eax, dword [ebp + 8]
push eax
call fcn.004384b0
add esp, 0xc
push 0
push 0x4d8328
mov ecx, dword [ebp + 8]
push ecx
call fcn.004384b0
add esp, 0xc
push 0
push 0x553630
call fcn.004be7f0
add esp, 4
push eax
push 0x553630
mov edx, dword [ebp + 8]
push edx
call sub.WS2_32.dll_send
push 0
push str.__body___html_
mov eax, dword [ebp + 8]
push eax
call fcn.004384b0
add esp, 0xc
call fcn.00401ca0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
push 0
lea ecx, [ebp + 8]
push ecx
call fcn.00438380
add esp, 8
mov dword [ebp - 8], 0
push 0
push 0x186fa
push 0x534818
mov edx, dword [ebp + 8]
push edx
call sub.WS2_32.dll_recv
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jle 0x43faeb
call fcn.00401ca0
sub eax, dword [ebp - 0x10]
sbb edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
js 0x43fae9
jg 0x43fae7
cmp dword [ebp - 0x18], 0xbb8
jbe 0x43fae9
jmp 0x43faeb
jmp 0x43faab
push 1
lea eax, [ebp + 8]
push eax
call fcn.00438380
add esp, 8
cmp dword [0x56b184], 2
jge 0x43fb14
push 0x553630
push str.__ERROR:__.80s_n
call fcn.0044d350
add esp, 8
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x443f00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
cmp dword [ebp + 0x10], 0xc4
jle 0x443f24
push str.buffer_overflow.1_n
call fcn.0040cc80
add esp, 4
push 9
call fcn.004be6a3
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004bfc60
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0x10]
mov byte [eax], 0
mov esp, ebp
pop ebp
ret 0xc

Function at 0x44c4b0
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x5290f4]
movzx ecx, byte [eax + 0x400]
mov edx, dword [0x5290f4]
mov dword [edx + ecx*4], 0x809b0000
mov eax, dword [0x5290f4]
mov cl, byte [eax + 0x400]
add cl, 1
mov edx, dword [0x5290f4]
mov byte [edx + 0x400], cl
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x44c50a
push str.clipboard_1_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x44c5d1
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x44c529
push str.clipboard_2_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x44c5d1
mov eax, dword [ebp + 8]
push eax
call fcn.004be7f0
add esp, 4
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0xa
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x44c562
push str.clipboard_3_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x44c5d1
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x44c592
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.004bed60
add esp, 0xc
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov byte [eax], 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 4]
push edx
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x44c5c9
call dword [sym.imp.USER32.dll_CloseClipboard]
push str.clipboard_4_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x44c5d1
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x47cf60
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x18], ecx
movzx eax, byte [0x566fd4]
test eax, eax
je 0x47cf78
xor eax, eax
jmp 0x47cfef
push 0x51db2c
lea ecx, [ebp - 5]
call fcn.00403460
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 0
cmp dword [ebp - 4], 0
jle 0x47cfde
push 0
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 4]
push edx
call sub.WS2_32.dll_recv
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jg 0x47cfbc
jmp 0x47cfde
mov eax, dword [ebp - 0x10]
cdq
push edx
push eax
call fcn.004034b0
add esp, 8
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
jmp 0x47cf92
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
lea ecx, [ebp - 5]
call fcn.00403480
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret 8

Function at 0x47d0c0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x10], 0
jne 0x47d0ea
lea edx, [ebp - 4]
push edx
mov ecx, dword [ebp - 0x24]
call fcn.0047d030
mov dword [ebp - 0x10], eax
push str.read_tcp
lea ecx, [ebp - 9]
call fcn.00403460
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
mov byte [ecx], 0
cmp dword [ebp - 8], 0xa
jle 0x47d189
push 0
push 1
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
push ecx
call sub.WS2_32.dll_recv
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jg 0x47d147
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 9]
call fcn.00403480
mov eax, dword [ebp - 0x1c]
jmp 0x47d1cd
mov eax, dword [ebp - 0x18]
cdq
push edx
push eax
call fcn.004034b0
add esp, 8
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov byte [ecx], 0
cmp dword [ebp - 0x14], 1
jl 0x47d187
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x14]
movsx eax, byte [edx - 1]
cmp eax, 0xa
jne 0x47d187
jmp 0x47d189
jmp 0x47d10a
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0041af70
add esp, 4
mov ecx, dword [ebp - 0x24]
call fcn.0047d450
mov ecx, eax
call fcn.0047d460
movzx edx, al
test edx, edx
je 0x47d1bc
mov eax, dword [ebp - 0x10]
push eax
push 0x51db50
call fcn.004be1e4
add esp, 8
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 9]
call fcn.00403480
mov eax, dword [ebp - 0x20]
mov esp, ebp
pop ebp
ret 8
Function at 0x47d680
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
movzx eax, byte [0x570418]
test eax, eax
jne 0x47d6ca
mov word [ebp - 0x194], 0x101
lea ecx, [ebp - 0x190]
push ecx
mov dx, word [ebp - 0x194]
push edx
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x47d6ca
push str.WSAStartup_failed
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x47d7ed
movzx eax, byte [0x570419]
test eax, eax
jne 0x47d7e4
push 0x64
push 0
push 0x5703b0
call fcn.004bf170
add esp, 0xc
mov dword [0x52994c], 0
push str.SFK_PROXY
call fcn.004c001d
add esp, 4
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
je 0x47d7e4
push 0xbe
mov ecx, dword [ebp - 0x198]
push ecx
lea edx, [ebp - 0x260]
push edx
call fcn.00401d50
add esp, 0xc
lea eax, [ebp - 0x260]
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
movsx edx, byte [ecx]
test edx, edx
je 0x47d767
mov eax, dword [ebp - 0x268]
movsx ecx, byte [eax]
cmp ecx, 0x3a
je 0x47d767
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
jmp 0x47d73b
mov eax, dword [ebp - 0x268]
movsx ecx, byte [eax]
test ecx, ecx
je 0x47d78c
mov edx, dword [ebp - 0x268]
mov byte [edx], 0
mov eax, dword [ebp - 0x268]
add eax, 1
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
push ecx
call fcn.004be87b
add esp, 4
mov dword [ebp - 0x264], eax
mov edx, dword [ebp - 0x264]
push edx
lea eax, [ebp - 0x260]
push eax
call fcn.0047d5c0
add esp, 8
movzx ecx, byte [0x529960]
test ecx, ecx
je 0x47d7e4
mov byte [0x529960], 0
mov edx, dword [ebp - 0x264]
push edx
lea eax, [ebp - 0x260]
push eax
push str.using_proxy__s_port__d_n
call fcn.004be1e4
add esp, 0xc
mov byte [0x570418], 1
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x47dde0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
call fcn.0047ddb0
test eax, eax
je 0x47ddff
mov eax, 9
jmp 0x47df8a
mov eax, dword [ebp - 0x40]
cmp dword [eax + 4], 0xc6
jl 0x47de20
push str.too_many_sockets__cannot_connect_more
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x47df8a
push str.connect_tcp
lea ecx, [ebp - 0x19]
call fcn.00403460
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x47de6a
push str.cannot_create_socket
call fcn.0040cc80
add esp, 4
add eax, 9
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x19]
call fcn.00403480
mov eax, dword [ebp - 0x2c]
jmp 0x47df8a
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00402c90
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x47dea4
push str.cannot_get_host_n
call fcn.0040cc80
add esp, 4
add eax, 9
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x19]
call fcn.00403480
mov eax, dword [ebp - 0x30]
jmp 0x47df8a
mov eax, dword [ebp - 0x18]
movsx ecx, word [eax + 0xa]
push ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.004bed60
add esp, 0xc
mov word [ebp - 0x14], 2
mov ax, word [ebp - 0x24]
push eax
call sub.WS2_32.dll_htons
mov word [ebp - 0x12], ax
push 0x10
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
jne 0x47df20
mov ecx, dword [ebp - 0x40]
call fcn.0047d670
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp + 8]
push edx
push str.cannot_connect_to__s:_u__rc__d_n
call fcn.0040cc80
add esp, 0x10
add eax, 9
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x19]
call fcn.00403480
mov eax, dword [ebp - 0x34]
jmp 0x47df8a
push 0x649
push 0x51de2c
push 0x20
call fcn.0047b970
add esp, 0xc
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x47df57
push 0x649
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x38]
call fcn.0047cdd0
mov dword [ebp - 0x44], eax
jmp 0x47df5e
mov dword [ebp - 0x44], 0
mov edx, dword [ebp - 0x44]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x40]
call fcn.0047dab0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 4]
mov dword [ecx], edx
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x19]
call fcn.00403480
mov eax, dword [ebp - 0x3c]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x47e010
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov dword [ebp - 0x20], ecx
push str.tcp_select
lea ecx, [ebp - 5]
call fcn.00403460
push 0x324
mov eax, dword [ebp - 0x20]
add eax, 0x330
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x654
push ecx
call fcn.004bed60
add esp, 0xc
push 0
push 0
push 0
mov edx, dword [ebp - 0x20]
add edx, 0x654
push edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 4]
push ecx
call sub.WS2_32.dll_select
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jg 0x47e097
mov ecx, dword [ebp - 0x20]
call fcn.0047d670
push eax
push str.select___failed___d
call fcn.0040cc80
add esp, 8
add eax, 9
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 5]
call fcn.00403480
mov eax, dword [ebp - 0x14]
jmp 0x47e11b
mov dword [ebp - 0xc], 0
jmp 0x47e0a9
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [eax + 4]
jge 0x47e109
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + edx*4 + 8]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x20]
add edx, 0x654
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x47e107
cmp dword [ebp + 0xc], 0
je 0x47e0eb
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp + 0xc]
je 0x47e0eb
jmp 0x47e0a0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 5]
call fcn.00403480
mov eax, dword [ebp - 0x18]
jmp 0x47e11b
jmp 0x47e0a0
mov dword [ebp - 0x1c], 1
lea ecx, [ebp - 5]
call fcn.00403480
mov eax, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret 8
Function at 0x485070
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2c], 0xffffffff
jne 0x485092
push str.send:_invalid_UDP_socket_n
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x4850dd
push 0x10
mov ecx, dword [ebp - 4]
add ecx, 0x40
push ecx
push 0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x2c]
push edx
call sub.WS2_32.dll_sendto
cmp eax, dword [ebp + 0xc]
je 0x4850db
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
call fcn.00484790
push eax
push str.send:_failed_errno_d__s_n
call fcn.0040cc80
add esp, 0xc
mov eax, 0xc
jmp 0x4850dd
xor eax, eax
mov esp, ebp
pop ebp
ret 8

Function at 0x4850f0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0xffffffff
jne 0x485107
or eax, 0xffffffff
jmp 0x485176
push 0x10
push 0
lea ecx, [ebp - 0x18]
push ecx
call fcn.004bf170
add esp, 0xc
mov dword [ebp - 4], 0x10
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, dword [ebp + 0xc]
sub ecx, 0xa
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
push ecx
call sub.WS2_32.dll_recvfrom
mov dword [ebp - 8], eax
cmp dword [ebp + 0x10], 0
je 0x485164
mov edx, dword [ebp - 4]
cmp edx, dword [ebp + 0x14]
jne 0x485164
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.004bed60
add esp, 0xc
cmp dword [ebp - 8], 0
jl 0x485173
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov byte [eax], 0
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret 0x10

Function at 0x485180
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x338
mov dword [ebp - 0x334], ecx
mov eax, dword [ebp - 0x334]
cmp dword [eax + 0x2c], 0xffffffff
jne 0x4851a2
xor al, al
jmp 0x485245
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x330], ecx
cmp dword [ebp + 0xc], 0
je 0x4851c2
mov edx, dword [ebp + 0xc]
imul edx, edx, 0x3e8
mov dword [ebp - 0x338], edx
jmp 0x4851cc
mov dword [ebp - 0x338], 0x64
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], 0
cmp dword [ebp - 0x328], 0xc8
jae 0x485213
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x334]
mov eax, dword [edx + 0x2c]
mov dword [ebp + ecx*4 - 0x324], eax
mov ecx, dword [ebp - 0x328]
add ecx, 1
mov dword [ebp - 0x328], ecx
xor edx, edx
jne 0x4851e2
lea eax, [ebp - 0x330]
push eax
push 0
push 0
lea ecx, [ebp - 0x328]
push ecx
mov edx, dword [ebp - 0x334]
mov eax, dword [edx + 0x2c]
add eax, 1
push eax
call sub.WS2_32.dll_select
test eax, eax
jle 0x485243
mov al, 1
jmp 0x485245
xor al, al
mov esp, ebp
pop ebp
ret 8
Function at 0x486830
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x2c], 0xffffffff
jne 0x486855
mov eax, 9
jmp 0x486923
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x5938]
push edx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x5934]
push ecx
push str.:sfktxt:v100_rep_d_rt_d_ok_n_n
push 0xbe
lea edx, [ebp - 0xc8]
push edx
call fcn.004bf5ba
add esp, 0x14
lea eax, [ebp - 0xc8]
push eax
call fcn.004be7f0
add esp, 4
mov dword [ebp - 0xcc], eax
push 0x10
mov ecx, dword [ebp + 8]
push ecx
push 0
mov edx, dword [ebp - 0xcc]
push edx
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x2c]
push edx
call sub.WS2_32.dll_sendto
cmp eax, dword [ebp - 0xcc]
je 0x4868d1
mov eax, 0xa
jmp 0x486923
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0x5944]
imul ecx, ecx, 0x28
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x5934]
mov dword [edx + ecx + 0x596c], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 0x5944]
imul edx, edx, 0x28
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx + 0x5938]
mov dword [eax + edx + 0x5970], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret 4