joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4e0a50
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x540d40]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x54e958
push 0x54d330
push 6
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x4e0a98
push str.Win32:_Failed_to_retrieve_own_module_handle
push 0x10008
call fcn.0044d30c
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044daff
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.user32.dll
call ebx
mov dword [0x54f73c], eax
test eax, eax
jne 0x4e0ad2
push str.Win32:_Failed_to_load_user32.dll
push 0x10008
call fcn.0044d30c
add esp, 8
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044daff
mov esp, ebp
pop ebp
ret
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetProcessDPIAware
push eax
call edi
push str.ChangeWindowMessageFilterEx
push dword [0x54f73c]
mov dword [0x54f740], eax
call edi
push str.EnableNonClientDpiScaling
push dword [0x54f73c]
mov dword [0x54f744], eax
call edi
push str.SetProcessDpiAwarenessContext
push dword [0x54f73c]
mov dword [0x54f748], eax
call edi
push str.GetDpiForWindow
push dword [0x54f73c]
mov dword [0x54f74c], eax
call edi
push str.AdjustWindowRectExForDpi
push dword [0x54f73c]
mov dword [0x54f750], eax
call edi
push str.GetSystemMetricsForDpi
push dword [0x54f73c]
mov dword [0x54f754], eax
call edi
push str.dinput8.dll
mov dword [0x54f758], eax
call ebx
mov dword [0x54f724], eax
test eax, eax
je 0x4e0b6f
push str.DirectInput8Create
push eax
call edi
mov dword [0x54f728], eax
push esi
mov dword [ebp - 0x1c], str.xinput1_4.dll
xor esi, esi
mov dword [ebp - 0x18], str.xinput1_3.dll
mov eax, str.xinput1_4.dll
mov dword [ebp - 0x14], str.xinput9_1_0.dll
mov dword [ebp - 0x10], str.xinput1_2.dll
mov dword [ebp - 0xc], str.xinput1_1.dll
mov dword [ebp - 8], 0
push eax
call ebx
mov dword [0x54f730], eax
test eax, eax
jne 0x4e0bb8
mov eax, dword [ebp + esi*4 - 0x18]
inc esi
test eax, eax
jne 0x4e0ba1
jmp 0x4e0bd7
push str.XInputGetCapabilities
push eax
call edi
push str.XInputGetState
push dword [0x54f730]
mov dword [0x54f734], eax
call edi
mov dword [0x54f738], eax
push str.dwmapi.dll
call ebx
mov dword [0x54f75c], eax
pop esi
test eax, eax
je 0x4e0c2b
push str.DwmIsCompositionEnabled
push eax
call edi
push str.DwmFlush
push dword [0x54f75c]
mov dword [0x54f760], eax
call edi
push str.DwmEnableBlurBehindWindow
push dword [0x54f75c]
mov dword [0x54f764], eax
call edi
push str.DwmGetColorizationColor
push dword [0x54f75c]
mov dword [0x54f768], eax
call edi
mov dword [0x54f76c], eax
push str.shcore.dll
call ebx
mov dword [0x54f770], eax
test eax, eax
je 0x4e0c5a
push str.SetProcessDpiAwareness
push eax
call edi
push str.GetDpiForMonitor
push dword [0x54f770]
mov dword [0x54f774], eax
call edi
mov dword [0x54f778], eax
push str.ntdll.dll
call ebx
mov dword [0x54f77c], eax
test eax, eax
je 0x4e0c77
push str.RtlVerifyVersionInfo
push eax
call edi
mov dword [0x54f780], eax
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
xor ecx, ebp
pop ebx
call fcn.0044daff
mov esp, ebp
pop ebp
ret
Function at 0x425064
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x667168
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0041e254
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x699ee8
mov ecx, dword [ebp - 0x10]
add ecx, 0x3c
call fcn.0041de34
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.0041de34
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x6c], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x34], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x30], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x70], 0
mov dword [0x6f4a3c], 0
mov eax, dword [ebp - 0x10]
mov word [eax + 0x38], 0xffff
mov eax, dword [ebp - 0x10]
mov word [eax + 0x64], 0xffff
mov eax, dword [ebp - 0x10]
add eax, 0x3c
push eax
call fcn.004204e4
add esp, 4
mov eax, dword [ebp - 0x10]
add eax, 0x48
push eax
call fcn.004204e4
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x78], 0
mov dword [ebp - 0x14], 0
jmp 0x425156
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x10
jae 0x425188
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], 0
fild qword [ebp - 0x5c]
fmul dword [0x69932c]
fdiv dword [0x699ee4]
call fcn.0066767c
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov byte [ecx + 4], al
jmp 0x42514d
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x80], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x456124
Capabilities:
Execute anti-debugging instructions

Disassembly:
jmp 0x715b63
rol dl, 4
add ax, 0xd139
pushfd
xchg dword [esp], ebp
shr bp, 6
cdq
aas
mov ebp, esp
rcl dx, 1
mov al, ch
sub esp, 0x44
cwde
lea eax, [ebx + 0x70f57e7f]
mov ah, 0xf7
setle al
push ebx
jg 0x719178
pushfd
mov dword [esp], esi
push ecx
rdtsc
call fcn.0071932e
Function at 0x47d3b4
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x668c96
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0047d554
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x69ec30
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
call dword [fcn.0069709c]
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x24], 0
push 0x104
mov eax, dword [ebp - 0x10]
add eax, 0x30
push eax
push 0xffffffffffffffff
push 0x69ec2c
push 1
push 0
call dword [0x6970b8]
push 0x104
mov eax, dword [ebp - 0x10]
add eax, 0x34
push eax
push 0xffffffffffffffff
push 0x697d18
push 1
push 0
call dword [0x6970b8]
push 0x20
call fcn.0044a2d4
add esp, 4
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x5c], 0
je 0x47d472
mov ecx, dword [ebp - 0x5c]
call fcn.0047d4f4
mov dword [ebp - 0x64], eax
jmp 0x47d479
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x60]
mov dword [ecx + 0x28], edx
push 0x20
call fcn.0044a2d4
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x54], 0
je 0x47d4b6
mov ecx, dword [ebp - 0x54]
call fcn.0047d524
mov dword [ebp - 0x64], eax
jmp 0x47d4bd
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x58]
mov dword [ecx + 0x2c], edx
push 5
mov ecx, 0x6f2b24
call fcn.00456954
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4af764
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], 0
jmp 0x4af782
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x100
jae 0x4af7d8
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
jmp 0x4af7a3
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 8
jae 0x4af7ca
mov eax, dword [ebp - 0xc]
and eax, 1
je 0x4af7c0
mov eax, dword [ebp - 0xc]
shr eax, 1
xor eax, 0xedb88320
mov dword [ebp - 0xc], eax
jmp 0x4af7c8
mov eax, dword [ebp - 0xc]
shr eax, 1
mov dword [ebp - 0xc], eax
jmp 0x4af79a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov dword [ecx + eax*4], edx
jmp 0x4af779
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x543c84
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66d15e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
mov dword [ebp - 0x18], ecx
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00548cc4
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x18]
add ecx, 0xc
call fcn.00548664
mov ecx, dword [ebp - 0x18]
add ecx, 0x10
call fcn.00541ad4
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x14], 0
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x18], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x20], eax
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x24], 0
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x25], 0
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x26], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x2c], 0
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x30], 1
mov ecx, dword [ebp - 0x18]
add ecx, 0x34
call fcn.0054f9b4
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x18]
add ecx, 0x80
call fcn.00548494
push 0x7fffffff
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x18]
add ecx, 0x88
call fcn.00548644
mov edx, dword [ebp - 0x18]
fld qword [0x697740]
fstp qword [edx + 0x90]
cmp dword [ebp + 0x18], 0
je 0x543db7
mov eax, dword [ebp + 0x18]
push eax
call fcn.005497e4
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
shl ecx, 1
push ecx
call fcn.006675cc
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x14], eax
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x14], 0
je 0x543db7
mov edx, dword [ebp - 0x10]
shl edx, 1
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
push edx
call fcn.006675ea
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x18
Function at 0x65f424
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], 0
mov edx, dword [ebp + 8]
mov dword [edx + 8], 0x67452301
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0xefcdab89
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], 0x98badcfe
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], 0x10325476
pop ebp
ret

Function at 0x662bb4
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6760ac
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x6b5f38
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
call fcn.00665704
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x80
call fcn.00665a64
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
add ecx, 0x88
call fcn.00665744
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x24], 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x28], 0x77359400
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x20], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x1c], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x30], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x3c], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x40], 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x48], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x4c], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x54], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x58], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x5c], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x60], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 8], 1
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x64], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x2c], 3
mov edx, dword [ebp - 0x10]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x68], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x6c], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x70], 0x13
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x74], 0x13
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x78], 5
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x7c], 9
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x90], 0x64
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x94], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0xd1], 1
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x72f328
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
xor eax, eax
mov al, byte [edx + 0x14]
xor eax, 3
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0
je 0x72f402
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
sub ecx, 1
mov dword [ebp + 0x10], ecx
test eax, eax
jbe 0x72f402
mov edx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + 4]
cmp eax, 8
jne 0x72f38d
push 0xfffffffffffffffd
mov ecx, dword [ebp - 4]
add ecx, 0x68
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0072f328
add esp, 0xc
mov eax, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + 5]
xor ecx, 3
and ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x72f3cd
mov edx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + 5]
and eax, 0xf8
mov ecx, dword [ebp - 8]
xor edx, edx
mov dl, byte [ecx + 0x14]
and edx, 3
and edx, 0xff
or eax, edx
mov ecx, dword [ebp - 4]
mov byte [ecx + 5], al
mov edx, dword [ebp - 4]
mov dword [ebp + 0xc], edx
jmp 0x72f3fd
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp ecx, dword [eax + 0x1c]
jne 0x72f3ed
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0072f409
add esp, 8
jmp 0x72f345
mov eax, dword [ebp + 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x739c27
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push 0x178
push 0
push 0
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x739c50
xor eax, eax
jmp 0x739dff
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
add edx, 0x78
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 4], 8
mov edx, dword [ebp - 4]
mov byte [edx + 0x14], 0x21
mov eax, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + 0x14]
and ecx, 3
mov edx, dword [ebp - 0x10]
mov byte [edx + 5], cl
mov eax, dword [ebp - 0x10]
mov cl, byte [eax + 5]
or cl, 0x60
mov edx, dword [ebp - 0x10]
mov byte [edx + 5], cl
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00739af8
add esp, 8
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x70], ecx
mov edx, dword [ebp - 4]
add edx, 0x78
mov eax, dword [ebp - 4]
mov dword [eax + 0x88], edx
mov ecx, dword [ebp - 4]
add ecx, 0x78
mov edx, dword [ebp - 4]
mov dword [edx + 0x8c], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], 0
mov edx, dword [ebp - 4]
mov dword [edx + 4], 0
mov eax, dword [ebp - 4]
mov dword [eax], 0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x10]
mov dword [edx + 0x68], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x34], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x3c], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x15], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x1c], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x18], 0
mov ecx, dword [ebp - 4]
add ecx, 0x1c
mov edx, dword [ebp - 4]
mov dword [edx + 0x20], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x30], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x44], 0x178
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], 0xc8
mov eax, dword [ebp - 4]
mov dword [eax + 0x54], 0xc8
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], 0
mov dword [ebp - 8], 0
jmp 0x739db9
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 9
jge 0x739dd2
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov dword [ecx + eax*4 + 0x98], 0
jmp 0x739db0
push 0
push 0x1001e4b7
mov edx, dword [ebp - 0x10]
push edx
call fcn.0072d403
add esp, 0xc
test eax, eax
je 0x739dfc
mov eax, dword [ebp - 0x10]
push eax
call fcn.00739ed4
add esp, 4
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret
Function at 0x73fe4a
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
push esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x36]
and eax, 0xc
test eax, eax
je 0x73fefe
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
sub edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x3c], 0
je 0x73fec7
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x36]
and eax, 4
test eax, eax
je 0x73fefe
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00742133
add esp, 8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 6]
cmp ecx, 1
jne 0x73fef5
mov edx, dword [ebp - 4]
sub edx, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], edx
jmp 0x742096
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x18]
shr eax, 6
and eax, 0xff
shl eax, 4
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x18]
and edx, 0x3f
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0x25
ja 0x742091
mov eax, dword [ebp - 0x244]
jmp dword [eax*4 + 0x1002674f]
jmp 0x73fe80
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x744074
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
push 0x40
push 0
lea eax, [ebp - 0x40]
push eax
call fcn.0074be72
add esp, 0xc
push 0
push 0x40
lea ecx, [ebp - 0x40]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [0x100590b0]
test eax, eax
jne 0x7440ab
xor eax, eax
jmp 0x74412a
mov ecx, dword [ebp - 0x40]
and ecx, 0xffff
cmp ecx, 0x5a4d
je 0x7440c0
xor eax, eax
jmp 0x74412a
push 0xf8
push 0
lea edx, [ebp - 0x138]
push edx
call fcn.0074be72
add esp, 0xc
push 0
push 0xf8
lea eax, [ebp - 0x138]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [0x100590b0]
test eax, eax
jne 0x7440fd
xor eax, eax
jmp 0x74412a
cmp dword [ebp - 0x138], 0x4550
je 0x74410d
xor eax, eax
jmp 0x74412a
mov eax, dword [ebp - 0x122]
and eax, 0xffff
and eax, 0x2000
test eax, eax
je 0x744125
xor eax, eax
jmp 0x74412a
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x745223
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10059dc8
push 0x100305b6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xffffffcc
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
push 0x1c
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [0x100590cc]
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov cx, word [eax]
cmp ecx, 0x5a4d
je 0x745289
mov byte [ebp - 0x3d], 0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x3d]
jmp 0x745312
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
cmp dword [ecx], 0x4550
je 0x7452b0
mov byte [ebp - 0x3e], 0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x3e]
jmp 0x745312
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add eax, dword [edx + 0xd8]
cmp dword [ebp + 0xc], eax
jb 0x7452eb
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
add edx, dword [ecx + 0xd8]
mov eax, dword [ebp - 0x3c]
add edx, dword [eax + 0xdc]
cmp dword [ebp + 0xc], edx
jae 0x7452eb
mov byte [ebp - 0x3f], 1
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x3f]
jmp 0x745312
mov byte [ebp - 0x40], 0
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x40]
jmp 0x745312
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x74555c
Capabilities:
Hook routines via microsoft detours

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0
call fcn.00745686
mov dword [ebp - 0x14], eax
mov eax, dword [0x10099304]
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0x18], 0
je 0x74567f
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x18]
cmp dword [ecx], 0x52727464
je 0x7455b4
mov eax, dword [ebp - 0x14]
jmp 0x745682
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x7455d7
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0xc], eax
jmp 0x7455bd
cmp dword [ebp - 4], 0x7fd
jb 0x74566b
cmp dword [ebp - 8], 0
jne 0x745643
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 4], 0
jne 0x745618
push 0x8000
push 0
mov edx, dword [ebp - 0x18]
push edx
call dword [0x10059118]
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
mov dword [0x10099304], eax
mov eax, dword [ebp - 0x14]
jmp 0x745682
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [0x10099304], ecx
push 0x8000
push 0
mov edx, dword [ebp - 0x10]
push edx
call dword [0x10059118]
jmp 0x745669
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
push 0x8000
push 0
mov eax, dword [ebp - 0x18]
push eax
call dword [0x10059118]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x18], edx
jmp 0x74567a
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x18], edx
jmp 0x745590
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret