joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41be30
Capabilities:
Create thread

Disassembly:
push ecx
mov eax, dword [0x4962c8]
lea ecx, [esp]
push ecx
push 0
push eax
push 0x41bc90
push 0
push 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x41be5f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop ecx
ret
Function at 0x41f720
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, 0x128
mov eax, dword [0x4915c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [0x4962c8]
call dword [0x49297c]
push 0
push 1
push 2
mov dword [ebp - 0x1c], eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x41f82b
xor eax, eax
mov dword [ebp - 0x14], eax
push 0x17
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov word [ebp - 0x14], 2
call dword [sym.imp.WS2_32.dll_htons]
mov edi, dword [edi + 0x74]
test edi, edi
mov word [ebp - 0x12], ax
jne 0x41f787
xor eax, eax
jmp 0x41f7b4
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
cmp eax, 0x3fffffff
jle 0x41f79c
xor eax, eax
jmp 0x41f7b4
lea ebx, [eax + eax]
mov eax, ebx
call fcn.0045a170
mov ecx, dword [ebp - 0x1c]
mov eax, esp
push ecx
push ebx
push edi
push eax
call fcn.00403150
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
lea edx, [ebp - 0x18]
push edx
push 0x8004667e
mov edi, 1
push esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], edi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 0x10
lea eax, [ebp - 0x14]
push eax
push esi
mov dword [ebp - 0x24], 0xa
mov dword [ebp - 0x20], 0
call dword [sym.imp.WS2_32.dll_connect]
lea ecx, [ebp - 0x24]
push ecx
push 0
lea edx, [ebp - 0x128]
push edx
push 0
push esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], edi
call dword [sym.imp.WS2_32.dll_select]
lea eax, [ebp - 0x128]
push eax
push esi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
push esi
jne 0x41f830
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
jmp 0x41f838
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
lea esp, [ebp - 0x134]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00455843
mov esp, ebp
pop ebp
ret
Function at 0x41fd90
Capabilities:
Resolve dns

Disassembly:
push 0xffffffffffffffff
push 0x471710
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x4915c0]
xor eax, esp
mov dword [esp + 0xc], eax
push ebx
push esi
push edi
mov eax, dword [0x4915c0]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, dword [0x4962c8]
push 0x47b6d0
lea ecx, [esp + 0x18]
call fcn.004031e0
push 0x47b6d0
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c], 0
call fcn.004031e0
push str.download.iptime.co.kr
mov byte [esp + 0x2c], 1
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x41feb2
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
push eax
lea edi, [esi + 0x78]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
mov ecx, edi
call fcn.00402d20
push 0x15
push str.GET__download_router_
lea ecx, [esp + 0x1c]
call fcn.00403590
mov eax, dword [esi + 0x64]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00406360
push 0xc
push str..version_r_n_r_n
lea ecx, [esp + 0x1c]
call fcn.00406360
push 0
push 0x47b6d0
lea ecx, [esp + 0x18]
call fcn.00403590
mov eax, dword [edi]
push ecx
sub eax, 0x10
mov dword [esp + 0x1c], esp
mov ebx, esp
push eax
call fcn.004024a0
add esp, 4
lea edx, [esp + 0x18]
add eax, 0x10
push edx
lea edx, [esp + 0x18]
mov ecx, esi
mov dword [ebx], eax
call fcn.004190d0
test eax, eax
jne 0x41feb2
lea edi, [esp + 0x10]
call fcn.00423d40
mov ebx, edi
call fcn.00423cc0
mov eax, edi
lea ecx, [esi + 0x6c]
push eax
call fcn.00403630
mov dword [esi + 0xc4], 0
jmp 0x41febc
mov dword [esi + 0xc4], 4
mov esi, dword [esi + 0xc4]
mov byte [esp + 0x28], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41fee7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41ff0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.00455843
add esp, 0x1c
ret
Function at 0x426c20
Capabilities:
Contain obfuscated stackstrings

Disassembly:
inc ebp
mov ah, 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.00426998
sub byte [edx + 0x458de96a], dl
test al, 0x50
call fcn.004269a8
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.0042695d
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x426c86
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
invalid
inc ebp
invalid

Function at 0x426d50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
inc ebp
clc
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], 0xbe
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x28
mov byte [ebp - 0x66], 0x33
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 0x34
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x5f], 0x2e
mov byte [ebp - 0x5e], 0x35
mov byte [ebp - 0x5d], 0x24
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.004269a8
push eax
push esi
push dword [ebp + 8]
call fcn.0042695d
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
dec edx
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.004269a8
push eax
push esi
push dword [ebp + 8]
call fcn.0042695d
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.00426998
sbb dword [0x9d88a4a7], eax
jl 0x426e1d
invalid
invalid
Function at 0x429830
Capabilities:
Create thread

Disassembly:
push ecx
push esi
lea esi, [edi + 0x74]
push esi
mov eax, 0x87
call fcn.004151a0
push 1
push 0x64
push 0x190
push 0x46
push 0x3f
mov ecx, esi
call fcn.0043fbf2
call fcn.00415040
push 0
push 0x3ea
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
push 0x494
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
push 2
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
lea ecx, [edi + 0x15c]
call fcn.0043fc30
push 0
lea ecx, [edi + 0x1b0]
call fcn.0043fc30
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
mov dword [edi + 0x158], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 4]
push ecx
push 0
push edi
push 0x4297b0
push 0
push 0
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
pop esi
je 0x4298f2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ecx
ret
Function at 0x42aa70
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x470988
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push esi
mov eax, dword [0x4915c0]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov eax, 4
xor esi, esi
push 0x47b6d0
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
call fcn.004031e0
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0xc]
push 0x481d60
push ecx
mov dword [esp + 0x34], esi
call fcn.004031c0
mov ecx, dword [esp + 0x14]
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x10]
push eax
push esi
push 1
push esi
push esi
push esi
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
push str.MediaSubType
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], 0xffffffff
mov eax, dword [esp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ab47
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x24
ret 4
Function at 0x42ae50
Capabilities:
Check for time delay via gettickcount
Get routing table

Disassembly:
sub esp, 0x90
mov eax, dword [0x4915c0]
xor eax, esp
mov dword [esp + 0x8c], eax
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [sym.imp.WS2_32.dll_inet_ntoa]
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
mov edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x18]
cmp eax, 0x3a98
jae 0x42af67
push 0x3c
mov dword [esp + 0x18], 0x3c
call fcn.0043997e
mov edi, eax
add esp, 4
test edi, edi
je 0x42af5f
push 0
lea eax, [esp + 0x18]
push eax
push edi
call sub.iphlpapi.dll_GetIpForwardTable
cmp eax, 0x7a
jne 0x42aed8
push edi
call fcn.00439979
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0043997e
add esp, 8
mov edi, eax
push 0
lea edx, [esp + 0x18]
push edx
push edi
call sub.iphlpapi.dll_GetIpForwardTable
test eax, eax
jne 0x42af5f
xor ebx, ebx
cmp dword [edi], ebx
jle 0x42af56
lea esi, [edi + 4]
mov eax, dword [esi]
push eax
call ebp
push eax
lea eax, [esp + 0x20]
push 0x80
push eax
call fcn.0045784a
mov eax, dword [esp + 0xb0]
add esp, 0xc
lea ecx, [esp + 0x1c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42af35
test dl, dl
je 0x42af31
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42af35
add eax, 2
add ecx, 2
test dl, dl
jne 0x42af15
xor eax, eax
jmp 0x42af3a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42af4a
add ebx, 1
add esi, 0x38
cmp ebx, dword [edi]
jl 0x42aef2
jmp 0x42af52
mov dword [esp + 0x10], 1
mov esi, dword [esp + 0x10]
push edi
call fcn.00439979
add esp, 4
test esi, esi
je 0x42ae80
mov ecx, dword [esp + 0x9c]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00455843
add esp, 0x90
ret 4
Function at 0x431e40
Capabilities:
Create thread

Disassembly:
push ecx
push esi
lea esi, [edi + 0x74]
push esi
mov eax, 0x87
call fcn.004151a0
push 1
push 0x64
push 0x190
push 0x46
push 0x3f
mov ecx, esi
call fcn.0043fbf2
call fcn.00415040
push 0
lea ecx, [edi + 0x184]
call fcn.0043fc30
push 0
lea ecx, [edi + 0x1d8]
call fcn.0043fc30
push 0
push 0x3ea
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
push 0x494
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
push 2
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
mov dword [edi + 0x158], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 4]
push ecx
push 0
push edi
push 0x431dc0
push 0
push 0
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
pop esi
je 0x431f02
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ecx
ret

Function at 0x432f90
Capabilities:
Create thread

Disassembly:
push ecx
push esi
lea esi, [edi + 0x74]
push esi
mov eax, 0x87
call fcn.004151a0
push 1
push 0x64
push 0x190
push 0x46
push 0x3f
mov ecx, esi
call fcn.0043fbf2
call fcn.00415040
push 0
lea ecx, [edi + 0x184]
call fcn.0043fc30
push 0
lea ecx, [edi + 0x1d8]
call fcn.0043fc30
push 0
push 0x3ea
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
push 0x494
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
push 0
push 2
mov ecx, edi
call fcn.0043fae8
mov ecx, eax
call fcn.0043fc6c
mov eax, dword [edi + 0x20]
push 1
push 0
push eax
mov dword [edi + 0x158], 1
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 4]
push ecx
push 0
push edi
push 0x432f10
push 0
push 0
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
pop esi
je 0x433052
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ecx
ret
Function at 0x43dc2a
Capabilities:
Get graphical window text

Disassembly:
push esi
mov esi, ecx
cmp dword [esi + 0x50], 0
jne 0x43dc63
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [esp + 0xc]
push eax
call fcn.0043dbc3
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [esp + 8]
push 0xffffffffffffffff
call fcn.0043ca69
pop esi
ret 4
mov ecx, dword [esi + 0x50]
mov eax, dword [ecx]
pop esi
jmp dword [eax + 0x8c]

Function at 0x43f741
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push ebp
push esi
push edi
xor edi, edi
xor ebx, ebx
cmp dword [esp + 0x14], edi
mov ebp, ecx
je 0x43f784
call fcn.00442fb7
mov esi, dword [eax + 0xc]
push 0xf0
push dword [esp + 0x18]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x43f784
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x43f79f
push edi
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
push ebx
mov ecx, ebp
call fcn.0043f2fb
test ebx, ebx
mov esi, eax
je 0x43f79d
test edi, edi
je 0x43f79d
push edi
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
ret 4
Function at 0x441956
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x24
mov eax, 0x46f5c3
call fcn.00457d84
mov esi, ecx
mov dword [ebp - 0x20], esi
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x5c]
mov dword [ebp - 0x18], eax
call fcn.00442fb7
mov edi, dword [eax + 0xc]
xor ebx, ebx
cmp dword [esi + 0x58], ebx
je 0x4419a1
call fcn.00442fb7
mov edi, dword [eax + 0xc]
push 5
push dword [esi + 0x58]
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
je 0x4419b2
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x4419bf
or eax, 0xffffffff
jmp 0x441b1b
mov ecx, esi
call fcn.004414a8
mov dword [ebp - 0x14], eax
call fcn.0043cc18
and dword [ebp - 0x28], ebx
cmp dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], ebx
je 0x441a3d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp dword [ebp - 0x14], eax
je 0x441a3d
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x441a3d
push 0
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
mov dword [ebp - 0x2c], 1
call fcn.00402d00
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x24], ebx
je 0x441a3d
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x120]
test eax, eax
je 0x441a3d
mov ecx, ebx
call fcn.0043fc51
test eax, eax
je 0x441a3d
push 0
mov ecx, ebx
call fcn.0043fc6c
mov dword [ebp - 0x28], 1
and dword [ebp - 4], 0
push esi
call fcn.0043e627
push dword [ebp - 0x14]
call fcn.0043cb70
push edi
push eax
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.0044175e
xor edi, edi
cmp eax, edi
je 0x441a9a
test byte [esi + 0x3c], 0x10
je 0x441a84
push 4
pop edi
mov ecx, esi
call fcn.0043fb62
test ax, 0x100
je 0x441a7a
push 5
pop edi
push edi
mov ecx, esi
call fcn.0043c713
xor edi, edi
cmp dword [esi + 0x20], edi
je 0x441a9a
push 0x97
push edi
push edi
push edi
push edi
push edi
mov ecx, esi
call fcn.0043fe3b
or dword [ebp - 4], 0xffffffff
jmp 0x441ac5
cmp dword [ebp - 0x28], edi
je 0x441ad3
push 1
mov ecx, ebx
call fcn.0043fc6c
cmp dword [ebp - 0x2c], edi
je 0x441ae3
push 1
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebp - 0x14], edi
je 0x441afc
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [esi + 0x20]
jne 0x441afc
push dword [ebp - 0x14]
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
mov ecx, esi
call fcn.004414e2
cmp dword [esi + 0x58], edi
je 0x441b18
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, dword [esi + 0x44]
call fcn.00457e29
ret
Function at 0x443ae3
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x4915c0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0x800
push ebx
push esi
mov esi, ecx
mov ebx, edx
lea eax, [ebp - 0xc]
jne 0x443b20
push 0x4775e0
push 4
push eax
call fcn.004598c5
push eax
call fcn.00403480
add esp, 0x10
jmp 0x443b32
push 4
push eax
push 3
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x443b9d
push edi
call fcn.00458138
mov edi, dword [eax]
call fcn.00458138
and dword [eax], 0
lea eax, [ebp - 0xc]
push eax
push ebx
push esi
push 0x111
mov esi, 0x112
lea eax, [ebp - 0x230]
push esi
push eax
call fcn.004580de
add esp, 0x18
mov ebx, eax
call fcn.00458138
cmp dword [eax], 0
je 0x443b7d
call fcn.00458138
push dword [eax]
call fcn.0043a4dc
pop ecx
jmp 0x443b84
call fcn.00458138
mov dword [eax], edi
cmp ebx, 0xffffffff
pop edi
je 0x443b9d
cmp ebx, esi
jae 0x443b9d
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
jmp 0x443b9f
xor eax, eax
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00455843
leave
ret
Function at 0x444a28
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], ebx
je 0x444a6e
call fcn.00442fb7
mov esi, dword [eax + 0xc]
push 0xf0
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x444a6e
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
mov dword [ebp - 4], eax
je 0x444ab1
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
mov esi, dword [ebp + 8]
mov dword [ebp + 0xc], 1
je 0x444a9a
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 0x444a9a
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_FreeResource]
cmp dword [esi + 0x4c], 0
je 0x444aae
mov ecx, dword [esi + 0x4c]
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 0x455843
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x4915c0]
jne 0x45584d
repz ret
jmp fcn.0045d038
Function at 0x457311
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov ecx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
xor edi, edi
cmp dword [ebp + 0x10], edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], ebx
je 0x45734e
cmp dword [ebp + 0x14], edi
je 0x45734e
cmp ecx, edi
jne 0x457355
call fcn.00458138
push edi
push edi
push edi
push edi
mov dword [eax], 0x16
push edi
call fcn.00455c3c
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov esi, dword [ebp + 0x18]
cmp esi, edi
je 0x457369
or eax, 0xffffffff
xor edx, edx
div dword [ebp + 0x10]
cmp dword [ebp + 0x14], eax
jbe 0x45738a
cmp ebx, 0xffffffff
je 0x457379
push ebx
push edi
push ecx
call fcn.00457910
add esp, 0xc
cmp esi, edi
je 0x457336
or eax, 0xffffffff
xor edx, edx
div dword [ebp + 0x10]
cmp dword [ebp + 0x14], eax
ja 0x457336
mov edi, dword [ebp + 0x10]
imul edi, dword [ebp + 0x14]
test word [esi + 0xc], 0x10c
mov dword [ebp - 0x10], edi
mov ebx, edi
je 0x4573a6
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc], eax
jmp 0x4573ad
mov dword [ebp - 0xc], 0x1000
test edi, edi
je 0x45749e
test word [esi + 0xc], 0x10c
je 0x457401
mov eax, dword [esi + 4]
test eax, eax
je 0x457401
jl 0x4574ff
cmp ebx, eax
mov edi, ebx
jb 0x4573d2
mov edi, eax
cmp edi, dword [ebp - 4]
ja 0x4574a6
push edi
push dword [esi]
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00455d31
sub dword [esi + 4], edi
add dword [esi], edi
add dword [ebp - 8], edi
sub ebx, edi
add esp, 0x10
sub dword [ebp - 4], edi
mov edi, dword [ebp - 0x10]
jmp 0x457496
cmp ebx, dword [ebp - 0xc]
jb 0x45746e
cmp dword [ebp - 0xc], 0
je 0x45742b
mov ecx, SysReAllocString
xor edx, edx
cmp ebx, ecx
jbe 0x457420
mov eax, ecx
div dword [ebp - 0xc]
mov eax, ecx
jmp 0x457427
mov eax, ebx
div dword [ebp - 0xc]
mov eax, ebx
sub eax, edx
jmp 0x457436
mov eax, SysReAllocString
cmp ebx, eax
ja 0x457436
mov eax, ebx
cmp eax, dword [ebp - 4]
ja 0x4574d2
push eax
push dword [ebp - 8]
push esi
call fcn.00463011
pop ecx
push eax
call fcn.00463953
add esp, 0xc
test eax, eax
je 0x457511
cmp eax, 0xffffffff
je 0x4574ff
add dword [ebp - 8], eax
sub ebx, eax
sub dword [ebp - 4], eax
jmp 0x457496
push esi
call fcn.00463272
cmp eax, 0xffffffff
pop ecx
je 0x457503
cmp dword [ebp - 4], 0
je 0x4574d2
mov ecx, dword [ebp - 8]
inc dword [ebp - 8]
mov byte [ecx], al
mov eax, dword [esi + 0x18]
dec ebx
dec dword [ebp - 4]
mov dword [ebp - 0xc], eax
test ebx, ebx
jne 0x4573b5
mov eax, dword [ebp + 0x14]
jmp 0x457350
xor esi, esi
cmp dword [ebp + 0xc], 0xffffffff
je 0x4574bd
push dword [ebp + 0xc]
push esi
push dword [ebp + 8]
call fcn.00457910
add esp, 0xc
call fcn.00458138
push esi
push esi
push esi
push esi
mov dword [eax], 0x22
push esi
jmp 0x457346
cmp dword [ebp + 0xc], 0xffffffff
je 0x4574e8
push dword [ebp + 0xc]
push 0
push dword [ebp + 8]
call fcn.00457910
add esp, 0xc
call fcn.00458138
mov dword [eax], 0x22
xor eax, eax
push eax
push eax
push eax
push eax
push eax
jmp 0x457346
or dword [esi + 0xc], 0x20
mov eax, edi
sub eax, ebx
xor edx, edx
div dword [ebp + 0x10]
jmp 0x457350
or dword [esi + 0xc], 0x10
jmp 0x457503