joyce8/EMBER2024-capa huggingface dataset:
Function at 0x404b44
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [0x40b02c]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x404b97
xor eax, eax
push ebp
push 0x404b7f
push dword fs:[eax]
mov dword fs:[eax], esp
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call dword [ebx + 4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x404b89
jmp loc.0041a631
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret

Function at 0x404c4c
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
xor edx, edx
mov dword [ebp - 0x10], edx
xor edx, edx
push ebp
push 0x404cb2
jmp loc.00418f59

Function at 0x404e1c
Capabilities:
Set thread local storage value

Disassembly:
push ebx
call fcn.00404e14
mov ebx, eax
test ebx, ebx
je fcn.00404e5e
jmp loc.00418659

Function at 0x404e60
Capabilities:
Get thread local storage value

Disassembly:
mov cl, byte [0x40c64c]
mov eax, dword [0x40b0b0]
test cl, cl
jne 0x404e95
mov edx, dword fs:[0x2c]
mov eax, dword [edx + eax*4]
ret
jmp loc.00417919
push eax
call sub.kernel32.dll_TlsGetValue
test eax, eax
je 0x404e7a
ret

Function at 0x404eac
Capabilities:
Packed with generic packer

Disassembly:
push ebx
mov ebx, eax
xor eax, eax
mov dword [0x40b0b0], eax
push 0
call sub.kernel32.dll_GetModuleHandleA
mov dword [0x40c650], eax
mov eax, dword [0x40c650]
mov dword [0x40b0b8], eax
xor eax, eax
jmp loc.00417ae2

Function at 0x405298
Capabilities:
Packed with generic packer
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x4052ed
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, dword [ebp - 4]
call fcn.00404464
push eax
lea eax, [ebp - 4]
jmp loc.0041b117

Function at 0x4052fc
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x4053d6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [esi + 0x1d4]
xor ecx, ecx
mov edx, 0x7d0
jmp loc.00416134

Function at 0x4053f0
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x405446
push dword fs:[eax]
mov dword fs:[eax], esp
push ebx
mov edx, dword [ebp - 4]
mov eax, 0x40545c
call fcn.004047a8
mov ecx, eax
sub ecx, 2
jmp loc.0041ab73

Function at 0x405460
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
jmp loc.0041b291

Function at 0x40738c
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x407437
jmp loc.00413448
Function at 0x4074a0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library

Disassembly:
push ebx
mov ebx, eax
lea eax, [ebx + 0x44]
push eax
mov dl, 1
mov al, 2
call fcn.00405078
push eax
call sub.wsock32.dll_WSAStartup
push 0
push 1
push 2
call sub.wsock32.dll_socket
mov dword [ebx + 0x30], eax
mov word [ebx + 0x34], 2
jmp loc.004133c8

Function at 0x40767c
Capabilities:
Copy file
Delete file
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff678
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x988], edx
mov dword [ebp - 0x984], edx
mov dword [ebp - 0x980], edx
mov dword [ebp - 0x97c], edx
mov dword [ebp - 0x978], edx
mov dword [ebp - 0x974], edx
mov dword [ebp - 0x970], edx
mov dword [ebp - 0x96c], edx
mov dword [ebp - 0x968], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404654
mov ebx, 0x40c6c4
mov esi, 0x40c6c0
mov edi, 0x40c6c8
xor eax, eax
push ebp
push 0x407aa5
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x964]
call fcn.00402ec8
mov eax, dword [0x40b188]
mov byte [eax], 0
mov edx, 1
lea eax, [ebp - 0x964]
call fcn.00403444
lea eax, [ebp - 0x964]
jmp loc.00419cee

Function at 0x407b54
Capabilities:
Copy file
Create directory

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
xor eax, eax
push ebp
push 0x407c2f
jmp loc.0041b8d5

Function at 0x408250
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ecx
jmp loc.00413758

Function at 0x408a40
Capabilities:
Packed with generic packer

Disassembly:
push ebx
mov ebx, eax
mov eax, dword [ebx + 0x14]
cmp eax, 0xffffffff
je fcn.00408a58
push eax
call sub.kernel32.dll_FindClose
jmp loc.00414c65

Function at 0x408a5c
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push esi
push edi
mov ebx, ecx
mov edi, eax
not edx
and edx, 0x1e
mov dword [ebx + 0x10], edx
lea eax, [ebx + 0x18]
push eax
mov eax, edi
call fcn.00404664
push eax
call sub.kernel32.dll_FindFirstFileA
mov esi, eax
mov dword [ebx + 0x14], esi
cmp esi, 0xffffffff
je 0x408a9c
mov eax, ebx
call fcn.004089dc
mov esi, eax
test esi, esi
je 0x408aa3
mov eax, ebx
call fcn.00408a40
jmp 0x408aa3
jmp 0x414991
mov eax, esi
pop edi
pop esi
pop ebx
ret

Function at 0x408aac
Capabilities:
Packed with generic packer

Disassembly:
push ebx
mov ebx, eax
lea eax, [ebx + 0x18]
push eax
mov eax, dword [ebx + 0x14]
push eax
call sub.kernel32.dll_FindNextFileA
test eax, eax
je 0x408ac9
mov eax, ebx
call fcn.004089dc
pop ebx
ret
jmp loc.00416575

Function at 0x408ba4
Capabilities:
Packed with generic packer

Disassembly:
push ebx
mov ebx, eax
call fcn.00402bcc
mov eax, 4
call fcn.00403150
sub eax, 1
jb 0x408bc5
je 0x408bd3
dec eax
je 0x408be1
dec eax
je 0x408bef
jmp fcn.00408bfb
mov eax, ebx
mov edx, 0x408c08
call fcn.00404240
pop ebx
ret
mov eax, ebx
mov edx, 0x408c18
call fcn.00404240
pop ebx
ret
mov eax, ebx
mov edx, 0x408c28
call fcn.00404240
pop ebx
ret
mov eax, ebx
mov edx, 0x408c38
jmp loc.0041b629
Function at 0x408fc8
Capabilities:
Check internet connectivity via wininet

Disassembly:
push ebx
push ecx
mov ebx, eax
mov dword [esp], 2
push 0
lea eax, [esp + 4]
push eax
jmp loc.00415d4c

Function at 0x409048
Capabilities:
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe64
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], ecx
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x40918f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
jmp loc.004195e9

Function at 0x4091b8
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push esi
push edi
push ebp
mov ebp, edx
mov edi, eax
mov eax, edi
call fcn.00404464
mov esi, eax
mov ebx, 1
jmp 0x4091d1
inc ebx
cmp esi, ebx
jl 0x4091dc
cmp byte [edi + ebx - 1], 0x20
jbe 0x4091d0
cmp esi, ebx
jge 0x4091ea
mov eax, ebp
call fcn.004041ec
jmp 0x409200
dec esi
cmp byte [edi + esi - 1], 0x20
jbe 0x4091e9
push ebp
mov ecx, esi
sub ecx, ebx
inc ecx
mov edx, ebx
mov eax, edi
jmp 0x41984a
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x409208
Capabilities:
Create process on windows
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x40925c
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov al, bl
push eax
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00404664
push eax
push 0x409268
push 0
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp loc.0041832a

Function at 0x409304
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef4
push ebx
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x409393
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x105]
push eax
push pe_nt_image_headers32
call sub.kernel32.dll_GetTempPathA
lea eax, [ebp - 0x10c]
lea edx, [ebp - 0x105]
mov ecx, 0x101
call fcn.0040444c
push dword [ebp - 0x10c]
push 0x4093a8
push dword [ebp - 4]
mov eax, ebx
mov edx, 3
call fcn.00404524
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40939a
lea eax, [ebp - 0x10c]
call fcn.004041ec
lea eax, [ebp - 4]
call fcn.004041ec
ret

Function at 0x4093ac
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef4
push ebx
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp loc.0041b7c2
Function at 0x409454
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef4
push ebx
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x4094e3
push dword fs:[eax]
mov dword fs:[eax], esp
push pe_nt_image_headers32
lea eax, [ebp - 0x105]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea eax, [ebp - 0x10c]
lea edx, [ebp - 0x105]
mov ecx, 0x101
call fcn.0040444c
push dword [ebp - 0x10c]
push 0x4094f8
push dword [ebp - 4]
mov eax, ebx
mov edx, 3
call fcn.00404524
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4094ea
lea eax, [ebp - 0x10c]
call fcn.004041ec
lea eax, [ebp - 4]
call fcn.004041ec
ret

Function at 0x4094fc
Capabilities:
Get common file path
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef4
push ebx
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404654
xor eax, eax
push ebp
push 0x40958b
push dword fs:[eax]
mov dword fs:[eax], esp
push pe_nt_image_headers32
lea eax, [ebp - 0x105]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
lea eax, [ebp - 0x10c]
lea edx, [ebp - 0x105]
mov ecx, 0x101
call fcn.0040444c
jmp loc.004141fc

Function at 0x4095b0
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push esi
add esp, 0xfffffef4
mov esi, edx
mov ebx, eax
lea edx, [esp + 0xc]
mov eax, ebx
call fcn.004034c0
jmp loc.00415fee

Function at 0x409624
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push esi
push edi
push ecx
mov dword [esp], edx
mov esi, eax
mov eax, esi
call fcn.00404464
mov edi, eax
mov ebx, edi
cmp ebx, 1
jl 0x409662
jmp loc.00419ba5
pop edx
pop edi
pop esi
pop ebx
ret

Function at 0x409668
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push esi
push edi
push ecx
mov dword [esp], edx
mov esi, eax
mov eax, esi
jmp loc.0041b84c

Function at 0x4097b0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffa88
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x578], ebx
mov dword [ebp - 0x568], ebx
mov dword [ebp - 0x56c], ebx
mov dword [ebp - 0x570], ebx
mov dword [ebp - 0x574], ebx
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00404654
lea edi, [ebp - 8]
xor eax, eax
push ebp
push 0x409aa3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xde
jmp loc.00413916

Function at 0x409afc
Capabilities:
Initialize winsock library
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe6c
push ebx
xor edx, edx
mov dword [ebp - 0x194], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x409b71
jmp loc.00416278

Function at 0x409b94
Capabilities:
Packed with generic packer

Disassembly:
push ebx
push ecx
mov ebx, eax
mov eax, dword [0x40b164]
mov dword [eax], 0xffffffff
call fcn.00402bcc
test bx, bx
jbe 0x409bc9
push 0
push 0
lea eax, [esp + 8]
push eax
jmp loc.004130d9
pop edx
pop ebx
ret
Function at 0x409c74
Capabilities:
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe68
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x194], edx
mov edi, eax
xor eax, eax
push ebp
push 0x409d8a
jmp loc.0041a054

Function at 0x409dd8
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebx
mov ebx, edx
mov eax, ebx
call fcn.00404664
push eax
call sub.kernel32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x409df5
and eax, 0x10
cmp eax, 0x10
je 0x409df9
xor eax, eax
jmp 0x409dfb
mov al, 1
neg al
sbb eax, eax
pop ebx
ret

Function at 0x40a060
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404654
xor eax, eax
push ebp
push 0x40a2f9
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
push dword [eax + 0x14]
push 0x40a314
jmp loc.0041a4ec

Function at 0x40a102
Capabilities:
Connect network resource

Disassembly:
mov edx, 3
call fcn.00404524
mov dword [ebp - 0x3c], 1
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
call fcn.00404664
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
call fcn.00404464
push eax
mov eax, dword [ebp - 0x14]
call fcn.00404664
push eax
push 0
call sub.kernel32.dll_GetModuleHandleA_1
push eax
call sub.kernel32.dll_GetModuleFileNameA_1
call fcn.00409e04
test eax, eax
je 0x40a109
mov ax, 3
mov word [ebp - 0xe], 3
jmp fcn.0040a111
xor eax, eax
jmp loc.00417ac8

Function at 0x40a62c
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff0
mov ebx, eax
xor ebp, ebp
xor edi, edi
lea eax, [ebx + 0x10]
jmp loc.00418989

Function at 0x413023
Capabilities:
Copy file
Download url
Receive data
Receive data on socket

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
dec eax
salc
add dh, dl
salc
pop edi
push ebx
dec edi
pop edi
dec edi
dec ecx
and al, 0
add al, 0
popal
popfd
push 0x406d84
jmp loc.00405943

Function at 0x413083
Capabilities:
Copy file
Download url
Receive data
Receive data on socket

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
dec eax
salc
add dh, dl
salc
pop edi
push ebx
dec edi
pop edi
dec edi
dec ecx
and al, 0
add al, 0
popal
popfd
push 0x406d84
jmp loc.004058b8

Function at 0x41333b
Capabilities:
Connect network resource
Copy file

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
push 0x60
push 0x4092d0
push eax
mov edi, 0x94
push edi
push 0
mov ebx, dword [0x40803c]
push eax
add esp, 0x18
leave
popal
popfd
push dword [eax]
lea eax, [ebp - 0x48]
jmp loc.0040a1d8
Function at 0x4137dc
Capabilities:
Copy file
Download url
Receive data
Receive data on socket

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
push ebx
push edi
push 0x20
push 0x8001
push 8
push 0x2b4
push eax
push 0x40931c
push fcn.00409304
push 0x46adc0
push eax
mov edi, 0x4c30a0
push edi
mov eax, edi
add esp, 0x30
leave
popal
popfd
call fcn.00404524
jmp loc.00405800

Function at 0x414064
Capabilities:
Copy file
Download url
Receive data
Receive data on socket

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4050a0
push 0x401cd0
push eax
push ebx
push edi
xor edx, edx
mov dl, ah
mov ecx, eax
and ecx, 0xff
shl ecx, 8
add ecx, edx
shr eax, 0x10
pop ecx
test eax, eax
add esp, 0x14
leave
popal
popfd
mov ecx, 1
jmp loc.00405752

Function at 0x414c0e
Capabilities:
Connect network resource
Copy file

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
mov eax, dword [0x403004]
push edi
push eax
push eax
mov edi, eax
push 0x104
push eax
push 0
test eax, eax
add esp, 0x18
leave
popal
popfd
mov ebx, 0x40b124
jmp loc.0040a19f

Function at 0x4153e0
Capabilities:
Packed with generic packer

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
push ebx
push edi
xor eax, eax
xor eax, eax
push 0x40b169
xor edx, edx
push 0x40b132
mov eax, dword [0x40d014]
add esp, 0x10
leave
popal
popfd
jmp fcn.00409a7d

Function at 0x419c2d
Capabilities:
Check os version

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
push ebx
push edi
push 0x20
push 0x8001
push 8
push 0x2b4
push eax
push 0x40861c
push 0x408604
push 0x4685a0
push eax
mov edi, 0x4c10a0
push edi
mov eax, edi
add esp, 0x30
leave
popal
popfd
call fcn.00404240
jmp loc.00408e35

Function at 0x41a77d
Capabilities:
Packed with generic packer

Disassembly:
pushfd
pushal
push ebp
mov ebp, esp
mov eax, dword [0x40d10b]
shl eax, 2
push edi
push ecx
xor eax, eax
mov edi, 0x40fe9c
mov ecx, 0x413498
cmp ecx, edi
add esp, 8
leave
popal
popfd
call fcn.00404464
jmp loc.0040559b
Function at 0x4010d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4010e2
xor eax, eax
jmp 0x4010e7
mov eax, dword [esi + 8]
sub eax, ecx
mov ebx, dword [ebp + 0xc]
mov ecx, esi
add eax, ebx
push eax
call fcn.00401180
push ebx
push dword [ebp + 8]
push dword [esi + 8]
call fcn.0040fbc0
add esp, 0xc
cmp dword [ebp + 0x10], 0
je 0x40116b
xor edx, edx
xor eax, eax
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
test ebx, ebx
jle 0x40116b
mov dword [ebp + 0x10], 0x1c8
push edi
nop
mov edi, eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
add ecx, dword [esi + 8]
movzx eax, byte [edx + eax]
xor edx, edx
div dword [ebp + 0x10]
mov eax, 0xcccccccd
add dl, 0x36
xor byte [ecx], dl
mul dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
inc ecx
shr edx, 3
inc eax
mov dword [ebp + 8], 0
mov dword [ebp + 0xc], eax
lea edx, [edx + edx*4]
add edx, edx
cmp edi, edx
mov edx, dword [ebp + 8]
cmovne edx, ecx
mov dword [ebp + 8], edx
cmp eax, ebx
jl 0x401120
pop edi
add dword [esi + 8], ebx
mov eax, ebx
pop esi
pop ebx
pop ebp
ret 0x10

Function at 0x401470
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x19c
mov eax, dword [0x42b00c]
xor eax, esp
mov dword [esp + 0x198], eax
push esi
mov esi, ecx
lea eax, [esp + 8]
push eax
push 0x202
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi], vtable.CTcpSocket.0
mov dword [esi + 0x2c], vtable.CBuffer.0
mov dword [esi + 0x38], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x3c], vtable.CBuffer.0
mov dword [esi + 0x48], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x4c], vtable.CBuffer.0
mov dword [esi + 0x58], 0
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 4], eax
lea ecx, [esi + 0x18]
xor edx, edx
xchg dword [ecx], edx
mov ecx, dword [esp + 0x19c]
mov eax, esi
mov dword [esi + 0x64], 0xffffffff
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x14], 0
pop esi
xor ecx, esp
call fcn.0040e921
mov esp, ebp
pop ebp
ret
Function at 0x4015c0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Create thread
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x42b00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], esi
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea ecx, [ebx + 0x18]
xor eax, eax
xchg dword [ecx], eax
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebx + 0x18]
push 6
push 1
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
push 2
mov word [ebx + 0x28], 0xca
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0x64], eax
cmp eax, 0xffffffff
je 0x4017c2
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
push esi
push 0
push 0
call ebx
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.0040ecab
add esp, 4
mov edi, eax
push 0
push 0
push esi
push edi
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push dword [ebp - 0x28]
push 0
push 0
call ebx
push edi
mov byte [edi + esi], 0
call dword [sym.imp.WS2_32.dll_gethostbyname]
push 1
push edi
mov esi, eax
call fcn.0040ec45
add esp, 8
test esi, esi
je 0x4017c2
push dword [ebp + 0xc]
mov eax, 2
mov word [ebp - 0x20], ax
call dword [sym.imp.WS2_32.dll_htons]
mov edi, dword [ebp - 0x2c]
mov word [ebp - 0x1e], ax
mov eax, dword [esi + 0xc]
push 0x10
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x20]
push eax
push dword [edi + 0x64]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x4017c2
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [ebp - 0x24]
push 4
push eax
push 0x1001
push 0xffff
push dword [edi + 0x64]
mov dword [ebp - 0x24], 0x40000
call esi
push 4
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x40000
push eax
push 0x1002
push 0xffff
push dword [edi + 0x64]
call esi
push 4
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0x7530
push eax
push 0x1006
push 0xffff
push dword [edi + 0x64]
call esi
push 4
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 1
push eax
push 8
push 0xffff
push dword [edi + 0x64]
call esi
test eax, eax
jne 0x401769
push eax
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x10], 1
push eax
push 0
push 0
push 0xc
lea eax, [ebp - 0x10]
mov dword [ebp - 0xc], 0x2bf20
push eax
push 0x98000004
push dword [edi + 0x64]
mov dword [ebp - 8], 0x1388
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov eax, 1
lea ecx, [edi + 0x18]
xchg dword [ecx], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0
push eax
push 0
push edi
push 0x4017e0
push 0
push 0
call fcn.00413ccc
mov dword [edi + 0x5c], eax
lea eax, [ebp - 0x40]
push eax
push 0
push edi
push 0x4018f0
push 0
push 0
call fcn.00413ccc
add esp, 0x30
mov dword [edi + 0x60], eax
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040e921
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040e921
mov esp, ebp
pop ebp
ret 8