joyce8/EMBER2024-capa huggingface dataset:
Function at 0x402c70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push esi
lea eax, [eax + eax*4 + 0x12]
push 0x538ae8
push str.launcher.brn
mov dword [ebp + 8], eax
call fcn.00510665
mov esi, eax
add esp, 8
test esi, esi
je 0x402cb7
push 0
push 4
push esi
call fcn.0051096d
push esi
push 1
lea ecx, [ebp + 8]
push 4
push ecx
call fcn.0051052f
push esi
call fcn.00510364
add esp, 0x20
pop esi
pop ebp
ret 4

Function at 0x402cd0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
mov edi, dword [ebp + 8]
push edi
push 1
lea eax, [ebp - 1]
push 1
push eax
call fcn.005108c6
mov cl, byte [ebp - 1]
add esp, 0x10
cmp cl, 0xa
je 0x402d03
cmp cl, 0xd
je 0x402d03
cmp cl, 0x20
je 0x402d03
lea edx, [ecx - 9]
cmp dl, 4
ja 0x402d07
test eax, eax
jg 0x402cd8
cmp cl, 0xa
je 0x402d3e
push esi
mov esi, dword [ebp + 0xc]
cmp cl, 0xd
je 0x402d35
test eax, eax
jle 0x402d35
push edi
push 1
lea eax, [ebp - 1]
push 1
mov byte [esi], cl
push eax
inc esi
call fcn.005108c6
mov cl, byte [ebp - 1]
add esp, 0x10
cmp cl, 0xa
jne 0x402d10
mov byte [esi], 0
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov byte [ecx], 0
pop edi
mov esp, ebp
pop ebp
ret
Function at 0x404920
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x528f50
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x5861a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push str.launcher.brn
lea ecx, [ebp - 0x10]
call fcn.00404850
mov eax, dword [ebp - 0x10]
push 0x538aec
push eax
mov dword [ebp - 4], 0
call fcn.00510665
mov esi, eax
add esp, 8
test esi, esi
jne 0x404a69
mov ecx, dword [ebp - 0x10]
push 0x539100
push ecx
call fcn.00510665
mov esi, eax
add esp, 8
test esi, esi
jne 0x404a42
call fcn.0040f03a
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4049ad
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
push 0xe006
mov byte [ebp - 4], 1
call fcn.0040ef4e
test eax, eax
je 0x4049df
push 0xe006
push eax
lea ecx, [ebp - 0x18]
call fcn.004013c0
mov esi, dword [ebp - 0x18]
push 0
push 0
push esi
call fcn.0040f814
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a09
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404a2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push esi
push 1
lea ecx, [ebp - 0x14]
push 4
push ecx
mov dword [ebp - 0x14], 0x5ddb
call fcn.0051052f
push esi
call fcn.00510364
mov dword [edi + 0x98], 0x1f40
jmp 0x404a97
push esi
push 1
lea edx, [ebp - 0x14]
push 4
push edx
call fcn.005108c6
mov ecx, dword [ebp - 0x14]
add ecx, 0xffffffe5
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
push esi
mov dword [edi + 0x98], eax
call fcn.00510364
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404ac0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x405940
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, esi
push edi
mov dword [ebp - 4], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405952
xor ebx, ebx
sub eax, edx
xor ecx, ecx
mov edi, eax
mov dword [ebp + 8], ebx
cmp dword [ebp + 0x10], ebx
je 0x40596c
lea ecx, [ebx + 0xf]
xor eax, eax
cmp edi, ebx
jle 0x405994
sub esi, 0x588b28
jmp 0x405980
mov dl, byte [esi + eax + 0x588b28]
add dl, cl
mov byte [eax + 0x588b28], dl
inc eax
cmp eax, edi
jl 0x405980
mov esi, dword [0x588f34]
push edi
lea eax, [esi + 0x587a60]
push 0x588b28
push eax
call fcn.00510ef0
add esi, edi
add esp, 0xc
xor edi, edi
mov dword [0x588f34], esi
cmp esi, 0x1000
jg 0x405a0d
cmp dword [ebp + 0xc], ebx
jne 0x405a0d
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 4]
push ebx
push esi
push 0x587a60
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x405a96
mov esi, dword [0x588f34]
cmp eax, esi
jge 0x4059f9
sub esi, eax
push esi
lea edx, [eax + 0x587a60]
push edx
jmp 0x405a6b
pop edi
pop esi
mov dword [0x588f34], ebx
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [sym.imp.WS2_32.dll_send]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push 0
sub esi, edi
push esi
push 0x587a60
push eax
call ebx
cmp eax, 0xffffffff
je 0x405a8c
mov esi, dword [0x588f34]
add edi, eax
cmp edi, esi
jge 0x405a57
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [0x588f34]
inc dword [ebp + 8]
cmp edi, esi
jge 0x405a57
cmp dword [ebp + 8], 0x3e8
jl 0x405a13
cmp edi, esi
je 0x405aa1
sub esi, edi
cmp esi, 0x1000
jge 0x405a8c
push esi
lea ecx, [edi + 0x587a60]
push ecx
push 0x587a60
call fcn.00510ef0
add esp, 0xc
pop edi
mov dword [0x588f34], esi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [0x588f34], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc
pop edi
pop esi
mov dword [0x588f34], 0
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x4076a0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x529130
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x5861a0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 8]
push 0
push 1
push 2
mov ebx, ecx
mov dword [ebp - 4], 0
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
lea eax, [ebp - 0x28]
push eax
push 0x8004667e
push esi
mov dword [ebp - 0x28], 1
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov ecx, dword [ebp + 0xc]
xor eax, eax
push ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
call dword [sym.imp.WS2_32.dll_htons]
mov edx, 2
push edi
mov word [ebp - 0x22], ax
mov word [ebp - 0x24], dx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
jne 0x40776f
push edi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x407765
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0050e45c
mov esp, ebp
pop ebp
ret 8
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp - 0x20], edx
push 0x10
lea eax, [ebp - 0x24]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x40778d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x40773e
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push esi
mov ecx, ebx
call eax
mov eax, 1
jmp 0x407747

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 8], ecx
mov dword [eax], esi
mov ecx, dword [edi]
push ecx
mov dword [ebp - 4], esi
call fcn.0040c7d7
add esp, 4
mov dword [ebp + 0xc], eax
mov ebx, eax
lea esp, [esp]
mov ecx, dword [edi]
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
push 0
sub ecx, esi
push ecx
push ebx
push eax
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x40784c
test eax, eax
je 0x40784c
add esi, eax
add ebx, eax
cmp esi, dword [edi]
jge 0x40783e
inc dword [ebp - 4]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, dword [edi]
jge 0x40783e
cmp dword [ebp - 4], 0x7d0
jl 0x407800
mov eax, dword [ebp + 0xc]
mov dword [edi], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push eax
mov dword [edx], 1
call fcn.0040c7e2
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x407eb0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x5861a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
lea eax, [ebp - 0x12c]
push eax
push esi
mov dword [ebp - 0x12c], 0x128
xor bl, bl
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x407f3e
lea ecx, [ecx]
lea ecx, [ebp - 0x108]
mov eax, str.Game.exe
jmp 0x407f00
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407f20
test dl, dl
je 0x407f1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407f20
add eax, 2
add ecx, 2
test dl, dl
jne 0x407f00
xor eax, eax
jmp 0x407f25
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x407f3c
lea ecx, [ebp - 0x12c]
push ecx
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x407ef0
jmp 0x407f3e
mov bl, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop esi
mov al, bl
xor ecx, ebp
pop ebx
call fcn.0050e45c
mov esp, ebp
pop ebp
ret

Function at 0x408a30
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x408a3e
xor eax, eax
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
push esi
not eax
cmp edx, 8
jb 0x408b1d
mov esi, edx
shr esi, 3
push edi
jmp 0x408a60
movzx edi, byte [ecx]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 1]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 2]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 3]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 4]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 5]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 6]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
movzx edi, byte [ecx + 7]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x539d20]
add ecx, 8
sub edx, 8
dec esi
jne 0x408a60
pop edi
test edx, edx
je 0x408b3a
movzx esi, byte [ecx]
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x539d20]
inc ecx
dec edx
jne 0x408b21
not eax
pop esi
pop ebp
ret
Function at 0x40ae80
Capabilities:
Timestomp file

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x28
push esi
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
lea ecx, [ebp - 0x20]
push ecx
mov esi, eax
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x28]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
push ecx
push eax
shr eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x18]
push edx
mov eax, ecx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x40b4a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push 1
lea eax, [ebp - 1]
push 1
push eax
call fcn.005108c6
add esp, 0x10
cmp eax, 1
jne 0x40b4c9
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp + 8]
mov dword [edx], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret
push esi
call fcn.0051190e
add esp, 4
neg eax
sbb eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x40b5b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
push 2
push 0
mov ebx, 0xffff
push esi
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], 0
call fcn.0051096d
add esp, 0xc
test eax, eax
je 0x40b5e3
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push esi
call fcn.00511aca
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
cmp edi, ebx
jae 0x40b5fb
mov dword [ebp - 4], edi
mov ebx, eax
push 0x404
call fcn.0050e4bd
mov esi, eax
add esp, 4
test esi, esi
jne 0x40b615
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
cmp ebx, eax
jbe 0x40b6b7
jmp 0x40b62d
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
add eax, 0x400
mov dword [ebp - 8], ebx
cmp eax, ebx
ja 0x40b63c
mov dword [ebp - 8], eax
mov ebx, edi
sub ebx, dword [ebp - 8]
mov eax, edi
sub eax, ebx
mov edi, 0x404
cmp eax, 0x404
ja 0x40b653
mov edi, eax
mov eax, dword [ebp + 8]
push 0
push ebx
push eax
call fcn.0051096d
add esp, 0xc
test eax, eax
jne 0x40b6b7
mov ecx, dword [ebp + 8]
push ecx
push 1
push edi
push esi
call fcn.005108c6
add esp, 0x10
cmp eax, 1
jne 0x40b6b7
lea eax, [edi - 3]
test eax, eax
jle 0x40b6ab
dec eax
cmp byte [eax + esi], 0x50
jne 0x40b69e
cmp byte [eax + esi + 1], 0x4b
jne 0x40b69e
cmp byte [eax + esi + 2], 5
jne 0x40b69e
cmp byte [eax + esi + 3], 6
je 0x40b6a4
test eax, eax
jg 0x40b682
jmp 0x40b6ab
add eax, ebx
mov dword [ebp - 0xc], eax
jne 0x40b6b7
mov edx, dword [ebp - 4]
cmp dword [ebp - 8], edx
jb 0x40b624
push esi
call fcn.0050e551
mov eax, dword [ebp - 0xc]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40bcb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 8]
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
test eax, eax
jne 0x40bcd4
mov eax, 0xffffff9a
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [eax + 0x7c]
test esi, esi
jne 0x40bce4
lea eax, [esi - 0x66]
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi], 0
jne 0x40bcf3
mov eax, 0xffffff9c
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x40bd01
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x14], ecx
cmp ecx, eax
jbe 0x40bd14
mov dword [esi + 0x14], eax
cmp dword [esi + 0x14], 0
push ebx
push edi
jbe 0x40be2e
cmp dword [esi + 8], 0
jne 0x40bd86
mov eax, dword [esi + 0x58]
test eax, eax
je 0x40bd86
mov edi, 0x4000
cmp eax, edi
jae 0x40bd40
mov edi, eax
test edi, edi
je 0x40be38
mov ecx, dword [esi + 0x68]
add ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x60]
push 0
push ecx
push edx
call fcn.0051096d
add esp, 0xc
test eax, eax
jne 0x40be41
mov eax, dword [esi + 0x60]
mov ecx, dword [esi]
push eax
push 1
push edi
push ecx
call fcn.005108c6
add esp, 0x10
cmp eax, 1
jne 0x40be41
mov edx, dword [esi]
add dword [esi + 0x3c], edi
sub dword [esi + 0x58], edi
mov dword [esi + 4], edx
mov dword [esi + 8], edi
cmp dword [esi + 0x64], 0
jne 0x40bddc
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 8]
cmp eax, edi
jae 0x40bd98
mov edi, eax
xor eax, eax
test edi, edi
je 0x40bdb1
mov edi, edi
mov ecx, dword [esi + 4]
mov cl, byte [eax + ecx]
mov edx, dword [esi + 0x10]
mov byte [eax + edx], cl
inc eax
cmp eax, edi
jb 0x40bda0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x50]
push edi
push edx
push eax
call fcn.00408a30
sub dword [esi + 0x5c], edi
sub dword [esi + 8], edi
sub dword [esi + 0x14], edi
add dword [esi + 0x10], edi
add dword [esi + 4], edi
add dword [esi + 0x18], edi
add esp, 0xc
add dword [ebp - 4], edi
mov dword [esi + 0x50], eax
jmp 0x40be1e
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x18]
lea edx, [esi + 4]
push 2
push edx
mov dword [ebp + 8], ecx
call fcn.0040a210
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
sub edi, ebx
push edi
push eax
push ecx
call fcn.00408a30
sub dword [esi + 0x5c], edi
add dword [ebp - 4], edi
mov dword [esi + 0x50], eax
mov eax, dword [ebp - 8]
add esp, 0x14
cmp eax, 1
je 0x40be2e
test eax, eax
jne 0x40be4b
cmp dword [esi + 0x14], 0
ja 0x40bd20
cmp dword [ebp - 8], 0
jne 0x40be4b
mov eax, dword [ebp - 4]
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
pop edi
pop ebx
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x40e2ea
Capabilities:
Create http request

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push esi
mov esi, ecx
and dword [esi + 0x10], 0
and dword [esi + 0xc], 0
mov dword [esi + 4], eax
mov eax, dword [ebp + 8]
mov dword [esi], vtable.CInternetSession.0
test eax, eax
jne 0x40e315
call fcn.00419091
mov eax, dword [eax + 0x10]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [esi + 8], eax
test eax, eax
jne 0x40e338
push eax
push dword [esi + 4]
call fcn.0040e270
push esi
push eax
mov ecx, 0x58b418
call fcn.0040de88
mov eax, esi
pop esi
pop ebp
ret 0x18

Function at 0x4169d8
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov dword [ebp - 4], ecx
cmp dword [ebp + 8], ebx
je 0x416a1f
call fcn.00419091
mov esi, dword [eax + 0xc]
push pe_nt_image_headers32
push dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x416a1f
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
test ebx, ebx
je 0x416a3b
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
mov ecx, dword [ebp - 4]
push edi
call fcn.004164dd
mov esi, eax
test edi, edi
je 0x416a39
test ebx, ebx
je 0x416a39
push ebx
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 4

Function at 0x4174a3
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
xor ebx, ebx
call fcn.00419091
mov esi, dword [eax + 0xc]
push 5
push dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x4174dc
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
mov ecx, dword [ebp - 4]
push esi
push dword [ebp + 0xc]
push ebx
call fcn.004170e5
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8

Function at 0x41753a
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [edi + 0x78], ebx
test ebx, 0xffff0000
jne 0x41755e
cmp dword [edi + 0x74], 0
jne 0x41755e
movzx eax, bx
mov dword [edi + 0x74], eax
call fcn.00419091
mov esi, dword [eax + 0xc]
push 5
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push esi
push dword [ebp + 0xc]
mov ebx, eax
push ebx
mov ecx, edi
call fcn.004174fb
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_FreeResource]
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 8
Function at 0x41841b
Capabilities:
Get graphical window text

Disassembly:
push 4
mov eax, 0x52edb9
call fcn.005128db
mov esi, ecx
cmp dword [esi + 0x6c], 0
jne 0x418440
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x418492
call fcn.0040f03a
push eax
lea ecx, [ebp - 0x10]
call fcn.004012a0
mov ecx, dword [esi + 0x6c]
mov eax, dword [ecx]
and dword [ebp - 4], 0
lea edx, [ebp - 0x10]
push edx
call dword [eax + 0x8c]
push 0xffffffffffffffff
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00512710
push eax
call fcn.0040c94a
add esp, 0x14
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
mov esi, eax
call fcn.004010d0
mov eax, esi
call fcn.005129b3
ret 8

Function at 0x420562
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
xor ebx, ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], ebx
cmp dword [ebp + 0xc], ebx
je 0x4205aa
call fcn.00419091
mov esi, dword [eax + 0xc]
push pe_nt_image_headers32
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x4205aa
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 4], eax
test eax, eax
je 0x4205ed
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
mov esi, dword [ebp + 8]
mov dword [ebp + 0xc], 1
test ebx, ebx
je 0x4205d6
push dword [ebp + 0x10]
mov eax, dword [edi]
push ebx
push esi
mov ecx, edi
call dword [eax + 0x20]
cmp dword [ebp - 4], 0
mov dword [ebp + 0xc], eax
je 0x4205d6
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_FreeResource]
cmp dword [esi + 0x68], 0
je 0x4205ea
mov ecx, dword [esi + 0x68]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xa0]
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
leave
ret 0xc

Function at 0x42228b
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
mov ecx, esi
call fcn.00421e9f
cmp dword [esi], 0
mov edi, eax
mov dword [esi + 0xc], 1
je 0x4222d5
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
call fcn.0040e86d
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [ebp + 0x10]
push 0xffffffffffffffff
call fcn.0040e1c6
jmp 0x4222e0
mov eax, dword [ebp + 0x10]
push dword [eax]
push edi
call fcn.00427a9b
pop edi
pop esi
pop ebp
ret 0xc
Function at 0x4222e6
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 4]
lea eax, [ebp + 8]
push eax
push dword [ebp + 0xc]
call fcn.00417d0d
push 0xfffffffffffffff0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowLongA]
push dword [ebp + 0xc]
and eax, 3
mov ecx, esi
cmp al, 3
je 0x422323
call fcn.00421e9f
mov dword [esi + 0xc], 1
jmp 0x422328
call fcn.00421e9f
cmp dword [esi], 0
je 0x422371
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
test eax, eax
jle 0x422349
lea ecx, [eax + 1]
push ecx
mov ecx, dword [ebp + 0x10]
push eax
call fcn.0040e86d
jmp 0x42235b
mov ecx, dword [ebp + 0x10]
push 0xff
call fcn.00401380
push 0x100
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [ebp + 0x10]
push 0xffffffffffffffff
call fcn.0040e1c6
jmp 0x422395
mov esi, dword [ebp + 0x10]
push dword [esi]
push 0xffffffffffffffff
push 0x14d
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x422395
push dword [esi]
push dword [ebp + 8]
call fcn.00427a9b
pop esi
pop ebp
ret 0xc