joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4078d0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
test ecx, ecx
jne 0x4078d7
xor eax, eax
ret
push esi
not eax
cmp edx, 8
jb 0x4079b4
mov esi, edx
shr esi, 3
push edi
lea esp, [esp]
movzx edi, byte [ecx]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
xor edi, eax
and edi, 0xff
inc ecx
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
xor edi, eax
and edi, 0xff
inc ecx
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
xor edi, eax
inc ecx
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
xor edi, eax
inc ecx
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
xor edi, eax
inc ecx
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
inc ecx
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
movzx edi, byte [ecx + 1]
inc ecx
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x450580]
inc ecx
sub edx, 8
sub esi, 1
jne 0x4078f0
pop edi
test edx, edx
je 0x4079db
jmp 0x4079c0
movzx esi, byte [ecx]
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x450580]
inc ecx
sub edx, 1
jne 0x4079c0
not eax
pop esi
ret

Function at 0x4079e0
Capabilities:
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
mov eax, dword [edx]
movsx ecx, cl
xor ecx, eax
shr eax, 8
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x450580]
xor ecx, eax
movzx eax, cl
add eax, dword [edx + 4]
mov dword [edx], ecx
mov ecx, dword [edx + 8]
imul eax, eax, 0x8088405
inc eax
mov dword [edx + 4], eax
shr eax, 0x18
xor eax, ecx
and eax, 0xff
shr ecx, 8
xor ecx, dword [eax*4 + 0x450580]
mov dword [edx + 8], ecx
ret

Function at 0x407a30
Capabilities:
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
mov ecx, dword [esi + 8]
push ebx
mov edx, ecx
and edx, 0xfffd
or edx, 2
mov ebx, edx
xor ebx, 1
imul ebx, edx
mov edx, dword [esi]
shr ebx, 8
push edi
xor al, bl
movsx edi, al
xor edi, edx
shr edx, 8
and edi, 0xff
mov ebx, dword [edi*4 + 0x450580]
xor ebx, edx
movzx edx, bl
add edx, dword [esi + 4]
mov dword [esi], ebx
imul edx, edx, 0x8088405
inc edx
mov dword [esi + 4], edx
shr edx, 0x18
xor edx, ecx
and edx, 0xff
shr ecx, 8
xor ecx, dword [edx*4 + 0x450580]
pop edi
mov dword [esi + 8], ecx
pop ebx
ret

Function at 0x4081e0
Capabilities:
Read file on windows

Disassembly:
push esi
mov esi, ebx
imul esi, dword [esp + 8]
cmp byte [edi], 0
je 0x408212
mov ecx, dword [edi + 4]
push 0
lea eax, [esp + 0xc]
push eax
push esi
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x408208
mov byte [edi + 8], 1
mov eax, dword [esp + 8]
xor edx, edx
div ebx
pop esi
ret
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x18]
push ebp
lea ebp, [ecx + esi]
cmp ebp, eax
pop ebp
jbe 0x408225
sub eax, ecx
mov esi, eax
mov eax, dword [edi + 0x14]
push esi
add eax, ecx
push eax
push edx
call fcn.004363c0
add dword [edi + 0x1c], esi
mov eax, esi
add esp, 0xc
xor edx, edx
div ebx
pop esi
ret
Function at 0x40b780
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg
Hash data with crc32
Write file on windows

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push esi
mov esi, ecx
cmp byte [esi + 0x2d], 0
push edi
mov edi, dword [esp + 0x14]
mov eax, ebx
je 0x40b85b
mov eax, dword [esi + 0x3c]
push ebp
xor ebp, ebp
cmp eax, ebp
je 0x40b7b4
cmp dword [esi + 0x40], edi
jae 0x40b7b4
push eax
call fcn.004109a5
add esp, 4
mov dword [esi + 0x3c], ebp
cmp dword [esi + 0x3c], ebp
jne 0x40b7cb
lea eax, [edi + edi]
push eax
call fcn.0041099a
add esp, 4
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], edi
mov ecx, dword [esi + 0x3c]
push edi
push ebx
push ecx
call fcn.004363c0
add esp, 0xc
cmp edi, ebp
jbe 0x40b857
lea ecx, [ecx]
mov edx, dword [esi + 0x3c]
mov bl, byte [edx + ebp]
mov edi, dword [esi + 0x30]
mov eax, dword [esi + 0x38]
movsx ecx, bl
xor ecx, edi
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x44eda0]
shr edi, 8
xor ecx, edi
mov dword [esi + 0x30], ecx
movzx ecx, cl
add ecx, dword [esi + 0x34]
mov edx, eax
imul ecx, ecx, 0x8088405
inc ecx
mov dword [esi + 0x34], ecx
shr ecx, 0x18
xor ecx, eax
shr eax, 8
and ecx, 0xff
xor eax, dword [ecx*4 + 0x44eda0]
and edx, 0xfffd
mov dword [esi + 0x38], eax
mov ecx, dword [esi + 0x3c]
or edx, 2
mov eax, edx
xor eax, 1
imul eax, edx
shr eax, 8
xor al, bl
mov byte [ecx + ebp], al
inc ebp
cmp ebp, dword [esp + 0x18]
jb 0x40b7e0
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 0x3c]
pop ebp
mov edx, dword [esi + 0x20]
test edx, edx
je 0x40b894
mov ecx, dword [esi + 0x24]
lea ebx, [ecx + edi]
cmp ebx, dword [esi + 0x28]
jb 0x40b87c
pop edi
mov dword [esi + 0x14], 0x30000
pop esi
xor eax, eax
pop ebx
ret 8
push edi
push eax
add ecx, edx
push ecx
call fcn.004363c0
add esp, 0xc
add dword [esi + 0x24], edi
mov eax, edi
pop edi
pop esi
pop ebx
ret 8
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x40b8b5
push 0
lea edx, [esp + 0x18]
push edx
push edi
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
ret 8
pop edi
mov dword [esi + 0x14], 0x1000000
pop esi
xor eax, eax
pop ebx
ret 8
Function at 0x40d450
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x4465ab
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
mov eax, dword [0x45c970]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, dword [esp + 0x20]
mov dword [esi], vtable.CHttpClient.0
xor ebx, ebx
mov eax, vtable.CBuffer_unsigned_char_.0
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x4c], 0xf
mov dword [esi + 0x48], ebx
mov byte [esi + 0x38], bl
push 0x14
mov byte [esp + 0x1c], 2
call fcn.0041096b
add esp, 4
mov dword [esp + 0xc], eax
mov byte [esp + 0x18], 3
cmp eax, ebx
je 0x40d4dd
push ebx
push ebx
push ebx
push ebx
push 1
push str.Mozilla_4.0__compatible__MSIE_6.0__Windows_NT_5.1__SV1__.NET_CLR_2.0.50727_
mov ecx, eax
call fcn.00411850
jmp 0x40d4df
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x10
ret 4

Function at 0x40dd90
Capabilities:
Get local ipv4 addresses
Get mac address on windows

Disassembly:
push ecx
push esi
push 0x170
mov dword [esp + 8], 0x170
call fcn.0041096b
mov esi, eax
add esp, 4
test esi, esi
je 0x40de54
push 0x170
push 0
push esi
call fcn.00431cb0
add esp, 0xc
lea eax, [esp + 4]
push eax
push esi
push 0
push 0
push 0
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
cmp eax, 0x6f
jne 0x40dde5
push esi
call fcn.004109a5
add esp, 4
pop esi
pop ecx
ret 4
lea ecx, [esp + 4]
push ecx
push esi
push 0
push 0
push 0
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
test eax, eax
jne 0x40de4b
mov eax, esi
mov ecx, 6
cmp dword [eax + 0x34], ecx
je 0x40de1b
mov eax, dword [eax + 8]
test eax, eax
jne 0x40de01
push esi
call fcn.004109a5
add esp, 4
pop esi
pop ecx
ret 4
movzx edx, byte [eax + 0x31]
movzx ecx, byte [eax + 0x30]
push edx
movzx edx, byte [eax + 0x2f]
push ecx
movzx ecx, byte [eax + 0x2e]
push edx
movzx edx, byte [eax + 0x2d]
movzx eax, byte [eax + 0x2c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push 0x451500
push ecx
call fcn.00401500
add esp, 0x20
push esi
call fcn.004109a5
add esp, 4
pop esi
pop ecx
ret 4
Function at 0x403212
Capabilities:
Get disk size
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push edi
mov edi, edx
mov word [ebp - 3], 0x5c3a
mov ebx, ecx
mov al, byte [edi]
mov byte [ebp - 4], al
xor eax, eax
push eax
push eax
mov byte [ebp - 1], al
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov eax, dword [ebp - 0xc]
mov ecx, 0x3d08fc00
cmp eax, ecx
jbe 0x403254
mov eax, ecx
cmp eax, dword [0x406960]
jge 0x403261
push 7
pop eax
jmp 0x4032b5
push esi
mov esi, dword [ebp + 8]
mov ecx, edi
mov edx, esi
call 0x40fd31
test eax, eax
jne 0x403276
push 4
jmp 0x4032b3
push esi
mov edx, edi
mov ecx, ebx
call fcn.0040357a
movzx ebx, ax
push 0xd
pop eax
cmp bx, ax
je 0x403299
mov edx, esi
mov ecx, edi
call fcn.004032bb
mov ax, bx
jmp 0x4032b4
push 3
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 3
push edi
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov byte [esi], 0x5c
push 0xd
pop eax
pop esi
pop edi
pop ebx
leave
ret 4

Function at 0x4032bb
Capabilities:
Delete directory
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov esi, ecx
mov dword [ebp - 4], 0x5c3a20
call fcn.00403a3c
mov al, byte [esi]
mov byte [ebp - 4], al
lea eax, [ebp - 4]
push eax
call dword [sym.imp.msvcrt.dll__chdir]
pop ecx
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
xor ebx, ebx
mov edi, ebx
push esi
call dword [sym.imp.msvcrt.dll__rmdir]
pop ecx
test eax, eax
je 0x40330b
inc edi
cmp edi, 0x4b0
jl 0x4032f6
mov edi, dword [ebp - 8]
push 0x80
push esi
mov byte [edi], bl
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push esi
call dword [sym.imp.msvcrt.dll__rmdir]
pop ecx
test eax, eax
je 0x403331
inc ebx
cmp ebx, 0x4b0
jl 0x40331c
mov byte [edi], 0x5c
pop edi
pop esi
pop ebx
leave
ret
Function at 0x403bde
Capabilities:
Copy file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x406028]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 4
pop edi
mov esi, edx
mov dword [ebp - 0x120], ecx
push 0x180
push esi
call dword [sym.imp.msvcrt.dll__chmod]
pop ecx
pop ecx
push 0xa0
push esi
push esi
call dword [sym.imp.USER32.dll_OemToCharBuffA]
push 0x1001
lea eax, [ebp - 0x90]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_OpenFile]
push esi
mov ebx, eax
push esi
mov dword [ebp - 0x11c], ebx
call dword [sym.imp.USER32.dll_CharToOemA]
cmp ebx, 0xffffffff
je 0x403cba
mov esi, dword [ebp - 0x120]
lea eax, [ebp - 0x118]
push 0
push eax
push esi
call dword [sym.imp.LZ32.dll_LZOpenFileA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x403c7a
push 3
pop edi
push esi
mov edx, 0xa0
mov ecx, 0x406c20
call fcn.00401590
test eax, eax
js 0x403ccc
jmp 0x403cae
call fcn.0040424e
push dword [ebp - 0x11c]
push ebx
call dword [sym.imp.LZ32.dll_LZCopy]
push ebx
mov esi, eax
call dword [sym.imp.LZ32.dll_LZClose]
cmp esi, 0xfffffff8
jb 0x403cab
cmp esi, 0xfffffffb
jne 0x403ca2
push 6
pop edi
cmp esi, 0xfffffffc
jne 0x403cae
push 7
jmp 0x403cad
push 0xd
pop edi
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll__lclose]
mov ecx, dword [ebp - 4]
mov ax, di
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00404bf0
leave
ret
call fcn.00402159
int3

Function at 0x4042fd
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x406028]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x110], 0x104
push eax
push 0x20019
xor ebx, ebx
mov esi, 0x401288
push ebx
push esi
mov edi, 0x80000000
mov byte [ebp - 0x108], bl
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x404380
push dword [ebp - 0x10c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x108]
push eax
push esi
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueA]
test eax, eax
je 0x4043a0
push ecx
push ebx
push ebx
push 0x10
xor edx, edx
push 0xc
inc edx
pop ecx
call 0x40fd31
xor eax, eax
cmp dword [0x406724], ebx
je 0x404391
mov dword [0x406080], ebx
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00404bf0
leave
ret
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.msvcrt.dll_atoi]
pop ecx
mov dword [0x406080], eax
call fcn.00404402
xor eax, eax
jmp 0x404390
Function at 0x401b20
Capabilities:
Encrypt data using rc4 via winapi
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
lea edi, [esi + 4]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esi], 0
jne 0x401b48
push esi
call fcn.00401810
test al, al
je 0x401be4
lea eax, [ebp - 4]
mov dword [ebp - 8], 0
push eax
push 0
push 0
push 0x8003
push dword [esi]
mov dword [ebp - 4], 0
xor bl, bl
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x401bb4
mov eax, dword [ebp + 0xc]
mov ecx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x401b7e
mov ecx, dword [eax]
push 0
push dword [eax + 0x10]
push ecx
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x401bb4
lea eax, [ebp - 8]
push eax
push 0
push dword [ebp - 4]
push 0x6801
push dword [esi]
call dword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
test eax, eax
movzx ebx, bl
mov ecx, 1
cmovne ebx, ecx
mov eax, dword [ebp - 4]
test eax, eax
je 0x401bcb
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
test eax, eax
jne 0x401bcb
mov dword [ebp - 4], eax
jmp 0x401bd6
mov dword [ebp - 4], 0
test bl, bl
jne 0x401bf8
mov eax, dword [ebp - 8]
test eax, eax
je 0x401be4
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
push edi
xor bl, bl
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 8]
call fcn.004019b0
add esp, 4
mov bl, al
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0x10

Function at 0x40ce60
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x506b60
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x566040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 8
mov dword [edi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
call fcn.004d37db
mov esi, eax
push 1
mov dword [ebp - 4], 0
call fcn.004d52cd
add esp, 8
mov dword [esi + 4], eax
mov ecx, edi
mov dword [edi + 0x34], esi
call fcn.0040d070
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x415440
Capabilities:
Convert ip address from string

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x88
mov eax, dword [0x566040]
xor eax, esp
mov dword [esp + 0x84], eax
cmp dword [ecx + 0x10], 0
je 0x415490
cmp dword [ecx + 0x14], 0xf
jbe 0x415468
mov ecx, dword [ecx]
lea eax, [esp + 4]
push eax
push ecx
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x415490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.004d378e
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x84]
or eax, 0xffffffff
xor ecx, esp
call fcn.004d378e
mov esp, ebp
pop ebp
ret

Function at 0x417dd0
Capabilities:
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x508600
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x230
mov eax, dword [0x566040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x23c], edi
push 0x208
lea eax, [ebp - 0x220]
mov dword [ebp - 0x23c], edi
push 0
push eax
mov dword [ebp - 0x23c], 0
call fcn.004d8410
add esp, 0xc
lea eax, [ebp - 0x23c]
push eax
push 0x19
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x417f0d
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x23c]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
push dword [ebp - 0x23c]
mov esi, eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xorps xmm0, xmm0
test esi, esi
je 0x417f10
push 1
push 0x5219d8
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x228], 0
movups xmmword [ebp - 0x238], xmm0
mov dword [ebp - 0x224], 0
call fcn.00416e10
lea eax, [ebp - 0x238]
mov dword [ebp - 4], 0
push eax
lea edx, [ebp - 0x220]
mov ecx, edi
call fcn.0041bb20
mov ecx, dword [ebp - 0x224]
add esp, 4
cmp ecx, 7
jbe 0x417f2f
mov edx, dword [ebp - 0x238]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417f01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417f4f
push ecx
push edx
call fcn.004d37a1
add esp, 8
jmp 0x417f2f
xorps xmm0, xmm0
push 0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov ecx, edi
push 0x521a28
mov dword [edi + 0x14], 0
call fcn.00416e10
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004d378e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004e2f6c
int3
Function at 0x4191e0
Capabilities:
Get routing table

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push 1
lea eax, [ebp - 4]
mov dword [ebp - 8], ecx
push eax
push 0
mov dword [ebp - 4], 0
xor bl, bl
call dword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable]
mov eax, dword [ebp - 4]
test eax, eax
je 0x419273
push esi
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
test esi, esi
je 0x41926b
push 1
lea eax, [ebp - 4]
push eax
push esi
call dword [sym.imp.IPHLPAPI.DLL_GetIpForwardTable]
test eax, eax
jne 0x419264
mov edx, dword [esi]
xor ecx, ecx
test edx, edx
je 0x419264
lea eax, [esi + 4]
cmp dword [eax], 0
je 0x419250
inc ecx
add eax, 0x38
cmp ecx, edx
jb 0x419234
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx*8]
mov bl, 1
sub eax, ecx
mov ecx, dword [ebp - 8]
mov eax, dword [esi + eax*8 + 0x10]
mov dword [ecx], eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x425660
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0xffffffffffffffff
push dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::FindChildByName_wchar_t_const___int_]
mov edi, eax
test edi, edi
je 0x425694
mov esi, dword [edi]
call dword [sym.imp.soui.dll_public:_static_wchar_t_const____cdecl_SOUI::SImageWnd::GetClassNameW_void_]
push eax
mov ecx, edi
call dword [esi + 4]
test eax, eax
je 0x425694
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingletonPtr_void_]
test eax, eax
je 0x4256b0
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
mov ecx, eax
call dword [sym.imp.soui.dll_public:_struct_SOUI::ILog4zManager____thiscall_SOUI::SApplication::GetLogManager_void_]
mov esi, eax
jmp 0x4256b2
xor esi, esi
push 0x2800
call fcn.004ee331
add esp, 4
mov edi, eax
push 0x5000
call fcn.004ee331
add esp, 4
mov ebx, eax
push 0xffffffffffffffff
push dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_static_wchar_t_const____cdecl_SOUI::SImageWnd::GetClassNameW_void_]
push eax
push str.FindChildByName2_Failed__no_window_of_class___s__with_name_of___s__was_found_within___d__levels
push 0xffffffffffffffff
push 0x2800
push ebx
call fcn.00424a60
add esp, 0x1c
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, 0x2800
jae 0x425720
push 0
push 0
push eax
push edi
push 0xffffffffffffffff
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
call fcn.004eb711
add esp, 4
test esi, esi
je 0x425775
mov eax, dword [esi]
mov ecx, esi
push 1
push 0
mov eax, dword [eax + 0x2c]
call eax
test al, al
je 0x425775
mov eax, dword [ebp + 4]
mov ecx, esi
mov edx, dword [esi]
push eax
push str.SOUI::SWindow::FindChildByName2
push 0x20e
push str.D:codeworkspace_souiSOUIincludecoreSWnd.h
push edi
push str.soui
push 1
push 0
call dword [edx + 0x34]
push edi
call fcn.004eb711
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
push 0x2800
call fcn.004ee331
add esp, 4
mov esi, eax
push 0x20e
push str.D:codeworkspace_souiSOUIincludecoreSWnd.h
push str.SOUI::SWindow::FindChildByName2
push edi
push str._s__s__s:_d_n
push 0xffffffffffffffff
push 0x2800
push esi
call fcn.00424ac0
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call fcn.004eb711
add esp, 4
push edi
call fcn.004eb711
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
Function at 0x4257d0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0xffffffffffffffff
push dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::FindChildByName_wchar_t_const___int_]
mov edi, eax
test edi, edi
je 0x425804
mov esi, dword [edi]
call dword [sym.imp.soui.dll_public:_static_wchar_t_const____cdecl_SOUI::SStatic::GetClassNameW_void_]
push eax
mov ecx, edi
call dword [esi + 4]
test eax, eax
je 0x425804
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingletonPtr_void_]
test eax, eax
je 0x425820
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
mov ecx, eax
call dword [sym.imp.soui.dll_public:_struct_SOUI::ILog4zManager____thiscall_SOUI::SApplication::GetLogManager_void_]
mov esi, eax
jmp 0x425822
xor esi, esi
push 0x2800
call fcn.004ee331
add esp, 4
mov edi, eax
push 0x5000
call fcn.004ee331
add esp, 4
mov ebx, eax
push 0xffffffffffffffff
push dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_static_wchar_t_const____cdecl_SOUI::SStatic::GetClassNameW_void_]
push eax
push str.FindChildByName2_Failed__no_window_of_class___s__with_name_of___s__was_found_within___d__levels
push 0xffffffffffffffff
push 0x2800
push ebx
call fcn.00424a60
add esp, 0x1c
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp eax, 0x2800
jae 0x425890
push 0
push 0
push eax
push edi
push 0xffffffffffffffff
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
call fcn.004eb711
add esp, 4
test esi, esi
je 0x4258e5
mov eax, dword [esi]
mov ecx, esi
push 1
push 0
mov eax, dword [eax + 0x2c]
call eax
test al, al
je 0x4258e5
mov eax, dword [ebp + 4]
mov ecx, esi
mov edx, dword [esi]
push eax
push str.SOUI::SWindow::FindChildByName2
push 0x20e
push str.D:codeworkspace_souiSOUIincludecoreSWnd.h
push edi
push str.soui
push 1
push 0
call dword [edx + 0x34]
push edi
call fcn.004eb711
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
push 0x2800
call fcn.004ee331
add esp, 4
mov esi, eax
push 0x20e
push str.D:codeworkspace_souiSOUIincludecoreSWnd.h
push str.SOUI::SWindow::FindChildByName2
push edi
push str._s__s__s:_d_n
push 0xffffffffffffffff
push 0x2800
push esi
call fcn.00424ac0
add esp, 0x20
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call fcn.004eb711
add esp, 4
push edi
call fcn.004eb711
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8