joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4e4730
Capabilities:
Get geographical location
Get keyboard layout

Disassembly:
sub esp, 0x18
mov eax, dword [0x620368]
xor eax, esp
push ebx
xor ebx, ebx
push ebx
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
cmp dword [0x65d768], eax
mov dword [0x65cee8], eax
je 0x4e4890
push esi
mov esi, dword [sym.imp.KERNEL32.DLL_GetLocaleInfoA]
push 8
lea ecx, [esp + 0x18]
push ecx
movzx edx, ax
push 0x1004
push edx
mov dword [0x65d768], eax
call esi
lea edx, [esp + 0x14]
call fcn.004e46a0
cmp dword [0x60e4dc], eax
mov dword [0x65d72c], eax
je 0x4e488f
push 0x65cedc
mov dword [0x60e4dc], eax
call dword [sym.imp.USER32.dll_GetKeyboardLayoutNameA]
movzx ecx, word [0x65cee8]
mov eax, ecx
and eax, 0x3ff
sub eax, 4
je 0x4e47e4
sub eax, 0xd
je 0x4e47d1
dec eax
jne case.default.0x4e47f6
mov byte [0x65ce24], bl
mov dword [0x65ba10], 0x60e4be
jmp 0x4e4859
mov byte [0x65ce24], 1
mov dword [0x65ba10], 0x60e4c4
jmp 0x4e4859
mov eax, ecx
shr eax, 0xa
dec eax
cmp eax, 4
mov byte [0x65ce24], 1
ja case.default.0x4e47f6
jmp dword [eax*4 + 0x4e48a0]
mov byte [0x65ce24], bl
mov dword [0x65ba10], 0x60e4b2
jmp 0x4e4859
mov dword [0x65ba10], 0x60e4b8
jmp 0x4e4859
push 0xa
lea edx, [esp + 0xc]
push edx
push 3
push ecx
mov dword [0x65ba10], 0x60e4ac
call esi
movsx ax, byte [esp + 8]
mov ecx, dword [0x65ba10]
mov word [ecx], ax
movsx dx, byte [esp + 9]
push edx
call fcn.0057d6d4
mov ecx, dword [0x65ba10]
add esp, 4
mov word [ecx + 2], ax
cmp dword [0x65d728], 0x4e8
je 0x4e488f
mov edx, dword [0x65d72c]
mov dword [0x65d728], edx
mov dword [0x65d708], ebx
mov dword [0x65d70c], ebx
mov dword [0x65d710], ebx
mov dword [0x65ba08], ebx
mov dword [0x65ba04], ebx
pop esi
mov ecx, dword [esp + 0x18]
pop ebx
xor ecx, esp
call fcn.0057b3d4
add esp, 0x18
ret

Function at 0x4e7800
Capabilities:
Initialize winsock library

Disassembly:
sub esp, 0x194
mov eax, dword [0x620368]
xor eax, esp
push esi
mov esi, ecx
mov dword [esp + 0x194], eax
mov al, byte [esi + 4]
test al, al
je 0x4e7827
call sub.WS2_32.dll_WSACleanup
mov byte [esi + 4], 0
lea eax, [esp + 4]
push eax
push 0x101
mov byte [esi + 4], 0
call sub.WS2_32.dll_WSAStartup
test eax, eax
je 0x4e7856
xor al, al
pop esi
mov ecx, dword [esp + 0x190]
xor ecx, esp
call fcn.0057b3d4
add esp, 0x194
ret
mov ecx, dword [esp + 0x194]
mov al, 1
mov byte [esi + 4], al
pop esi
xor ecx, esp
call fcn.0057b3d4
add esp, 0x194
ret

Function at 0x4ea800
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5b4968
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x14]
push esi
push edi
mov esi, ecx
push eax
mov dword [esp + 0xc], esi
call fcn.004e04d0
xor edi, edi
lea ecx, [esi + 0x30]
mov dword [esp + 0x14], edi
mov dword [esi], 0x5cedfc
call fcn.004f6940
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x78], ecx
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], edi
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], edi
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
add esp, 0x10
ret 8
Function at 0x4fa7f0
Capabilities:
Create directory

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
test ebx, ebx
je 0x4fa8bb
cmp byte [ebx], 0
je 0x4fa8bb
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4fa810
sub eax, edx
cmp eax, 3
jb 0x4fa827
cmp byte [ebx + 1], 0x3a
jne 0x4fa827
add ebx, 3
push ebp
push esi
push edi
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x10], edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4fa835
sub eax, edx
lea ebp, [eax + 1]
push ebp
call fcn.0057a774
mov esi, eax
mov al, byte [ebx]
add esp, 4
test al, al
je 0x4fa8af
mov dword [esp + 0x18], 0
lea ebx, [ebx]
mov al, byte [edi]
cmp al, 0x2f
je 0x4fa86a
cmp al, 0x5c
jne 0x4fa89a
mov ecx, ebp
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x18]
push eax
push ebx
push esi
call fcn.0057b960
add esp, 0xc
push 0
push esi
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov al, byte [edi + 1]
inc edi
inc ecx
test al, al
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ecx
jne 0x4fa860
push esi
call fcn.0057bb03
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret

Function at 0x4fb030
Capabilities:
Encode data using xor
Encrypt data using xtea

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
xor eax, eax
mov edi, 0x20
mov ebx, edx
shr ebx, 5
mov ebp, edx
shl ebp, 4
xor ebx, ebp
add ebx, edx
mov ebp, eax
and ebp, 3
mov ebp, dword [esi + ebp*4]
add ebp, eax
xor ebx, ebp
add ecx, ebx
mov ebx, ecx
shr ebx, 5
mov ebp, ecx
shl ebp, 4
xor ebx, ebp
sub eax, 0x61c88647
mov ebp, eax
shr ebp, 0xb
and ebp, 3
mov ebp, dword [esi + ebp*4]
add ebx, ecx
add ebp, eax
xor ebx, ebp
add edx, ebx
dec edi
jne 0x4fb047
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], ecx
mov dword [eax + 4], edx
pop ebx
ret

Function at 0x4fb0a0
Capabilities:
Encode data using xor
Encrypt data using xtea

Disassembly:
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
mov eax, 0xc6ef3720
mov edi, 0x20
lea ebx, [ebx]
mov ebx, edx
shr ebx, 5
mov ebp, edx
shl ebp, 4
xor ebx, ebp
mov ebp, eax
shr ebp, 0xb
and ebp, 3
mov ebp, dword [esi + ebp*4]
add ebp, eax
add ebx, edx
xor ebx, ebp
sub ecx, ebx
mov ebx, ecx
shr ebx, 5
mov ebp, ecx
shl ebp, 4
xor ebx, ebp
add eax, 0x61c88647
mov ebp, eax
and ebp, 3
mov ebp, dword [esi + ebp*4]
add ebx, ecx
add ebp, eax
xor ebx, ebp
sub edx, ebx
dec edi
jne 0x4fb0c0
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
mov dword [eax], edx
mov dword [eax + 4], ecx
pop ebx
ret
Function at 0x4fb200
Capabilities:
Encode data using add xor sub operations
Encode data using xor
Hash data with crc32

Disassembly:
mov ecx, dword [esp + 4]
push esi
push edi
mov edi, dword [esp + 0x10]
or esi, 0xffffffff
cmp edi, 0x10
jb 0x4fb3b8
xor edx, edx
mov dl, byte [ecx]
mov eax, esi
shr eax, 8
xor edx, esi
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 1]
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 2]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 3]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 4]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 5]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 6]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 7]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 8]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 9]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 0xa]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 0xb]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx + 0xc]
shr eax, 8
xor eax, esi
sub edi, 0x10
add ecx, 0x10
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx - 3]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx - 2]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
xor edx, edx
mov dl, byte [ecx - 1]
shr eax, 8
xor eax, esi
xor edx, eax
and edx, 0xff
mov esi, dword [edx*4 + 0x60ebb8]
shr eax, 8
xor eax, esi
cmp edi, 0x10
mov esi, eax
jae 0x4fb216
test edi, edi
je 0x4fb3db
lea esp, [esp]
xor eax, eax
mov al, byte [ecx]
xor eax, esi
and eax, 0xff
mov edx, dword [eax*4 + 0x60ebb8]
shr esi, 8
xor esi, edx
inc ecx
dec edi
jne 0x4fb3c0
mov eax, esi
pop edi
not eax
pop esi
ret
Function at 0x4fb710
Capabilities:
Get file size
Get system information on windows
Read file via mapping

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x2c]
push ebp
push esi
push edi
xor ebp, ebp
push ebp
push ebx
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov esi, eax
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
mov edi, dword [esp + 0x2c]
push ebp
push esi
push ebp
push 2
push ebp
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateFileMappingA]
mov ebx, eax
test ebx, ebx
je 0x4fb78a
xor eax, eax
xor edx, edx
div edi
imul eax, edi
add edx, esi
push edx
push eax
push ebp
push 4
push ebx
call dword [sym.imp.KERNEL32.DLL_MapViewOfFile]
mov edi, eax
push esi
push edi
call fcn.004fb200
add esp, 8
test edi, edi
mov esi, eax
je 0x4fb779
push edi
call dword [sym.imp.KERNEL32.DLL_UnmapViewOfFile]
push ebx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x24
ret

Function at 0x4fb7f0
Capabilities:
Get file size

Disassembly:
mov eax, dword [esp + 4]
push esi
push 0
push 0x80
push 3
push 0
push 1
push closesocket
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4fb819
xor eax, eax
pop esi
ret
push edi
push 0
push esi
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, edi
pop edi
pop esi
ret

Function at 0x4fbf60
Capabilities:
Get system information on windows
Print debug messages
Read file via mapping

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x24
test eax, eax
push esi
mov esi, ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x128], ecx
jne 0x4fbf7e
mov eax, dword [esi + 0x114]
mov edx, eax
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0x114]
add edx, ecx
cmp edx, eax
jbe 0x4fbf9b
xor eax, eax
pop esi
add esp, 0x24
ret 0xc
push ebx
push ebp
push edi
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
mov ecx, dword [esi + 0x128]
mov edi, dword [esp + 0x2c]
mov eax, ecx
xor edx, edx
div edi
push 0
imul eax, edi
mov ebx, eax
mov eax, dword [esi + 0x12c]
mov edi, ecx
add ecx, eax
push ecx
mov ecx, dword [esi + 0x110]
push 0
push 2
push 0
push ecx
lea ebp, [eax + edx]
sub edi, ebx
call dword [sym.imp.KERNEL32.DLL_CreateFileMappingA]
test eax, eax
mov dword [esi + 0x124], eax
jne 0x4fc004
push 0x5cf7d4
call dword [sym.imp.KERNEL32.DLL_OutputDebugStringA]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x24
ret 0xc
push ebp
push ebx
push 0
push 4
push eax
call dword [sym.imp.KERNEL32.DLL_MapViewOfFile]
test eax, eax
mov dword [esi + 0x130], eax
jne 0x4fc03b
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x5cf7b0
call fcn.004fa1e0
add esp, 8
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x24
ret 0xc
mov edx, dword [esp + 0x38]
add eax, edi
mov dword [esi + 0x134], eax
mov dword [edx], eax
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x134]
pop edi
pop ebp
pop ebx
mov dword [esi + 0x120], 0
mov dword [esi + 0x11c], eax
mov dword [esi + 0x118], ecx
pop esi
add esp, 0x24
ret 0xc
Function at 0x4fd960
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5b53a7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
mov dword [esp + 8], esi
mov dword [esi], 0x5cf920
mov dword [esp + 0x14], 4
call fcn.004fd8b0
cmp dword [esi + 0x88], 0x10
jb 0x4fd9a6
mov eax, dword [esi + 0x74]
push eax
call fcn.0057ad56
add esp, 4
xor ebx, ebx
mov dword [esi + 0x88], 0xf
mov dword [esi + 0x84], ebx
mov byte [esi + 0x74], bl
mov eax, dword [esi + 0x5c]
cmp eax, ebx
je 0x4fd9cb
push eax
call fcn.0057ad56
add esp, 4
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov eax, dword [esi + 0x4c]
cmp eax, ebx
je 0x4fd9e4
push eax
call fcn.0057ad56
add esp, 4
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 0x3c]
cmp eax, ebx
je 0x4fd9fd
push eax
call fcn.0057ad56
add esp, 4
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov eax, dword [esi + 0x2c]
cmp eax, ebx
je 0x4fda16
push eax
call fcn.0057ad56
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret

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

Disassembly:
push 0xffffffffffffffff
push 0x5b53a7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov dword [esi], 0x5cf920
push edi
mov dword [esp + 0xc], esi
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esp + 0x18], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
lea edi, [esi + 0x48]
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x88], 0xf
mov dword [esi + 0x84], ebx
mov byte [esi + 0x74], bl
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x24], ebx
mov byte [esi + 0x20], 1
mov eax, dword [edi + 4]
cmp eax, ebx
mov byte [esp + 0x18], 4
je 0x4fec27
push eax
call fcn.0057ad56
add esp, 4
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
push 0x32
mov ecx, edi
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
call fcn.004fdcc0
mov ecx, esi
call fcn.004fe350
mov ecx, dword [esp + 0x10]
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x4ffbe0
Capabilities:
Get file size

Disassembly:
push esi
mov esi, ecx
mov eax, dword [esi + 0x110]
test eax, eax
push edi
je 0x4ffbff
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [esi + 0x110], 0
push ebx
mov ebx, dword [esp + 0x10]
push 0x104
lea eax, [esi + 8]
push ebx
push eax
mov dword [esi + 0x114], 0
call fcn.0057b960
mov edi, dword [esp + 0x20]
add esp, 0xc
xor eax, eax
cmp edi, 2
setne al
xor ecx, ecx
push 0
push 0x80
dec eax
and eax, 0x40000000
add eax, 0x80000000
cmp edi, 1
setne cl
add ecx, 3
push ecx
push 0
push 1
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, 0xffffffff
mov dword [esi + 0x110], eax
pop ebx
je 0x4ffc7e
push 0
push eax
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov dword [esi + 4], edi
mov dword [esi + 0x114], eax
pop edi
mov eax, 1
pop esi
ret 8
pop edi
mov dword [esi + 0x110], 0
xor eax, eax
pop esi
ret 8

Function at 0x504160
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x5b5788
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
mov dword [0x6248f0], esi
xor edi, edi
lea ebx, [esi + 0x6c]
mov ecx, ebx
mov dword [esp + 0x18], edi
mov dword [esi], 0x5cfd5c
call fcn.00411ab0
mov dword [ebx + 4], eax
mov byte [eax + 0x2d], 1
mov eax, dword [ebx + 4]
mov dword [eax + 4], eax
mov eax, dword [ebx + 4]
mov dword [eax], eax
mov eax, dword [ebx + 4]
mov dword [eax + 8], eax
mov dword [ebx + 8], edi
mov ecx, dword [esp + 0x10]
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x18], 0x43480000
mov dword [esi + 0x1c], 0x447a0000
mov eax, 0x3f800000
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x68], edi
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x515970
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x5b5d96
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
mov dword [esi], 0x5d1500
xor ebx, ebx
mov dword [esi + 0x1c], 0xf
mov dword [esi + 0x18], ebx
push edi
mov dword [esp + 0xc], esi
mov byte [esi + 8], bl
mov eax, dword [esp + 0x20]
lea edi, [esi + 0x68]
mov ecx, edi
mov dword [esp + 0x18], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov byte [esi + 0x59], bl
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], ebx
call fcn.00450ab0
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x78]
mov ecx, edi
mov byte [esp + 0x18], 1
mov dword [esi + 0x74], ebx
call fcn.00450ab0
mov ecx, dword [esp + 0x10]
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x54], ebx
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 4

Function at 0x51ed60
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x664d1c]
test eax, eax
je 0x51eda6
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x664d1c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x51ed8f
mov ecx, dword [0x664d1c]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edx, dword [0x664d20]
push edx
mov dword [0x664d1c], 0
call dword [sym.imp.USER32.dll_SetFocus]
ret
Function at 0x529fc0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x5b6980
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
mov dword [esi], 0x5d33a0
mov dword [esi + 4], 0x5d339c
mov dword [esp + 0x20], 4
call fcn.00528d40
mov ecx, esi
call fcn.00528dc0
mov ecx, esi
call fcn.00528e40
xor ebx, ebx
mov dword [esi + 0x30], ebx
mov byte [esi + 8], bl
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
lea edi, [esi + 0x24]
push eax
push ecx
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
mov byte [esp + 0x2c], 3
call fcn.004aef70
mov eax, dword [edi + 4]
push eax
call fcn.0057ad56
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
add esp, 4
lea edi, [esi + 0x18]
push eax
push ecx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
mov byte [esp + 0x2c], 2
call fcn.004aef70
mov eax, dword [edi + 4]
push eax
call fcn.0057ad56
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
add esp, 4
lea edi, [esi + 0xc]
push eax
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
mov byte [esp + 0x2c], 1
call fcn.005296d0
mov eax, dword [edi + 4]
push eax
call fcn.0057ad56
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [esi + 4], 0x5d32c4
add esp, 4
mov ecx, esi
mov dword [0x62444c], ebx
mov dword [esp + 0x20], 0xffffffff
call fcn.004cc100
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret

Function at 0x52a120
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push 0xffffffffffffffff
push 0x5b69b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.004cc0e0
xor ebx, ebx
mov eax, esi
mov dword [esi + 4], 0x5d32c4
mov dword [esp + 0x18], ebx
mov dword [0x62444c], eax
lea edi, [esi + 0xc]
mov ecx, edi
mov byte [esp + 0x18], 1
mov dword [esi], 0x5d33a0
mov dword [esi + 4], 0x5d339c
call fcn.00431bc0
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x18]
mov ecx, edi
mov byte [esp + 0x18], 2
call fcn.00431bc0
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
lea edi, [esi + 0x24]
mov ecx, edi
mov byte [esp + 0x18], 3
call fcn.00431bc0
mov ecx, dword [esp + 0x10]
mov dword [edi + 4], eax
mov byte [eax + 0x15], 1
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov dword [edi + 8], ebx
mov dword [esi + 0x30], ebx
mov byte [esi + 8], bl
pop edi
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x52fab0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x5b6ea1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, ecx
xor ecx, ecx
mov dword [eax], 0x5d3580
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x70], 0xf
mov byte [eax + 0x5c], cl
mov dword [eax + 0x54], vtable.CFilename.0
mov dword [eax + 0x44], ecx
mov dword [eax + 0x50], ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret