joyce8/EMBER2024-capa huggingface dataset:
Function at 0x408380
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x4906e4]
mov ecx, 0x1ff99f59
sub ecx, eax
cmp ecx, 0x7bd92c74
jg 0x4083aa
mov eax, dword [0x48e6b8]
shl eax, 9
mov ecx, dword [0x48ac94]
sub ecx, eax
mov dword [0x48ac94], ecx
mov eax, dword [0x49735c]
mov cx, word [0x481d02]
movsx ecx, cx
shl ecx, 8
cmp ecx, 0xf4015dc3
jl 0x4083de
mov ecx, dword [0x482600]
add ecx, 0x215848ca
or ecx, 0x8c9d4f12
xor dword [0x492de4], ecx
jmp 0x4083e8
and dword [0x488760], 0xf88c81c3
sub esp, 8
mov cx, word [0x47b48e]
imul ecx, ecx, 0x4345
mov word [0x47b48e], cx
mov dword [esp], eax
mov dword [esp + 4], 0x4e20
call dword [0x477f58]
sub esp, 8
mov dword [0x486cb4], 0xd8bd22a5
cmp eax, 0x80
je 0x408434
test eax, eax
jne 0x408440
mov dword [0x495b80], 0x19eba21e
jmp 0x40847b
add dword [0x4937a0], 0x36d7f7e4
jmp 0x40847b
mov eax, dword [0x492798]
mov ecx, dword [0x483bf0]
dec ecx
mov dword [0x483bf0], ecx
sub eax, ecx
cmp eax, 0x10500202
je 0x40847b
mov eax, dword [0x484cec]
sar eax, 1
add eax, 0x5ae77ae
xor eax, 0x2b28b2d7
mov ecx, dword [0x48e454]
imul ecx, eax
mov dword [0x48e454], ecx
add dword [0x4917c0], 0xb4909b1
mov dword [esp], 1
call fcn.0044a636
int3
Function at 0x411660
Capabilities:
Hash data with md5

Disassembly:
push edi
push esi
sub esp, 8
mov esi, ecx
mov edi, dword [esp + 0x14]
xor dword [0x48aa04], 0x3ffeef7d
and dword [0x48a834], 0x77a82435
mov dword [esp], edi
call fcn.004463f0
mov ecx, dword [0x48ae6c]
lea edx, [ecx + 1]
mov dword [0x48ae6c], edx
mov dx, word [0x4794ac]
sub edx, ecx
mov word [0x4794ac], dx
mov cx, word [0x47c2a6]
add ecx, 0xfffff5fa
mov word [0x47c2a6], cx
mov dword [esi], 0
mov ecx, dword [0x491770]
dec ecx
mov dword [0x491770], ecx
and ecx, 0x27d756e
or dword [0x48e780], ecx
mov dword [esi + 4], 0
mov word [0x47ab3c], 0xd564
mov dword [esi + 8], 0x67452301
mov ecx, dword [0x484e54]
sar ecx, 4
xor ecx, 0xde16bfb4
mov edx, dword [0x4864b0]
or edx, 0x1b259860
cmp ecx, edx
jne 0x411725
mov cx, word [0x478bb4]
xor ecx, 0xbaf
mov word [0x478bb4], cx
jmp 0x41172f
add dword [0x48f39c], 0x32a3b2b3
mov dword [esi + 0xc], 0xefcdab89
mov ecx, dword [0x4909f0]
xor dword [0x490574], 0xe27329f4
mov dword [esi + 0x10], 0x98badcfe
mov ecx, dword [0x484380]
mov dword [esi + 0x14], 0x10325476
mov ecx, dword [0x489fd0]
sar ecx, 4
or ecx, 0x8edb6fef
xor dword [0x485e2c], ecx
add dword [0x4858f8], 0xfff3f7eb
mov dword [esp + 4], eax
mov dword [esp], edi
mov ecx, esi
call fcn.00433d10
sub esp, 8
mov ax, word [0x47a13c]
cwde
shl eax, 6
and eax, 0x39b8b700
mov dword [0x48354c], eax
mov ecx, esi
call fcn.00411bc0
mov ax, word [0x47c21e]
cwde
imul eax, eax, 0xc5397d86
mov ecx, dword [0x497028]
inc ecx
mov dword [0x497028], ecx
xor ecx, eax
cmp ecx, 0xba65848d
je 0x4117f9
mov eax, dword [0x48fdcc]
mov ecx, dword [0x494518]
lea edx, [ecx + 1]
mov dword [0x494518], edx
mov edx, 0xdd1c2497
sub edx, eax
lea eax, [edx + ecx + 1]
cmp eax, 0xa6abe972
jl 0x4117f9
xor dword [0x48785c], 0xfb56a416
mov ecx, esi
call fcn.00432ac0
mov eax, dword [0x486ff8]
mov cx, word [0x47ac0c]
dec ecx
mov word [0x47ac0c], cx
movsx ecx, cx
or ecx, 0xdf35d750
cmp eax, ecx
jl 0x411833
mov ax, word [0x47fdfa]
imul eax, eax, 0xfffffef3
mov word [0x47fdfa], ax
add esi, 0xb9
mov eax, esi
add esp, 8
pop esi
pop edi
ret 4
Function at 0x432ac0
Capabilities:
Encode data using xor

Disassembly:
mov ax, word [0x47e458]
or eax, 0x40b2
mov word [0x47e458], ax
mov eax, dword [0x49069c]
sar eax, 1
mov dx, word [0x481cf2]
movsx edx, dx
sar edx, 7
cmp eax, edx
jle 0x432b06
mov eax, dword [0x495cd0]
and eax, 0x5dfb5340
cmp eax, 0x4dfc96e1
jb 0x432b10
and dword [0x487580], 0x2935021
jmp 0x432b10
mov dword [0x493ce8], 0xb3dd22e8
push esi
mov ax, word [0x4780ae]
shl eax, 6
mov edx, dword [0x48fe30]
shl edx, 7
sub eax, edx
xor eax, 0x5a38
mov dx, word [0x47947c]
and edx, eax
mov word [0x47947c], dx
mov ax, word [0x47e782]
movsx edx, ax
shl edx, 2
mov esi, dword [0x494f40]
lea eax, [esi - 1]
mov dword [0x494f40], eax
add esi, 0x51c8d878
or esi, 0x87036fee
mov eax, 0x5d
cmp edx, esi
jg 0x432b80
or dword [0x48ce6c], 0xffeb948e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dx, word [0x47a906]
imul edx, edx, 0x357c
mov word [0x47a906], dx
add dword [0x494880], 0x4856c25a
mov dl, byte [ecx + eax - 5]
mov si, word [0x47fdf8]
or esi, 0x3b5
mov word [0x47fdf8], si
mov si, word [0x47ec02]
mov si, word [0x47f0be]
shr dl, 4
movzx edx, dl
mov dl, byte [ecx + edx + 0xa8]
mov byte [ecx + eax*2 - 1], dl
mov edx, dword [0x4888cc]
lea esi, [edx + 1]
mov dword [0x4888cc], esi
add edx, 0x35e86005
and dword [0x4884c0], edx
mov dx, word [0x47c164]
or edx, 0x7034
mov word [0x47c164], dx
movzx edx, byte [ecx + eax - 5]
add dword [0x486258], 0xfff5f64
add dword [0x490eac], 0x70668ade
and edx, 0xf
mov dl, byte [ecx + edx + 0xa8]
mov byte [ecx + eax*2], dl
xor dword [0x482c98], 0x435d2afa
mov edx, dword [0x493740]
dec edx
mov dword [0x493740], edx
xor edx, 0x7625
mov si, word [0x47804a]
or esi, edx
mov word [0x47804a], si
inc eax
cmp eax, 0x6d
jne 0x432b80
xor dword [0x483db0], 0x8bffb297
pop esi
ret
Function at 0x439970
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [esp + 0x20]
mov ax, word [0x478032]
cwde
and dword [0x48f97c], eax
mov eax, dword [0x48ed30]
mov ecx, dword [0x484770]
sub eax, ecx
and dword [0x487d44], eax
cmp dword [0x497af0], 0
jne 0x4399d8
mov ax, word [0x47f618]
or eax, 0x9776
mov word [0x47f618], ax
call fcn.00432d40
mov dword [0x497af0], eax
mov eax, dword [0x48f6fc]
xor eax, 0x5334
mov cx, word [0x47ecb6]
or ecx, eax
mov word [0x47ecb6], cx
mov eax, dword [0x489fd0]
mov ecx, dword [0x489618]
imul ecx, ecx, 0xb41c4272
xor ecx, eax
mov eax, dword [0x4876a8]
sub eax, ecx
mov dword [0x4876a8], eax
mov dword [esp + 4], 3
mov dword [esp], 0x88b8
call fcn.004416a0
mov edi, eax
mov eax, dword [0x4827d0]
imul eax, eax, 0x40004690
mov dword [0x4827d0], eax
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00449a9d
mov esi, eax
xor dword [0x487790], 0x324f0f3e
mov dword [esp + 4], edi
mov dword [esp], 3
call fcn.00414010
mov eax, dword [0x48b5e0]
imul eax, eax, 0xe94f33ce
mov ecx, dword [0x4840a4]
inc ecx
mov dword [0x4840a4], ecx
imul ecx, ecx, 0x7c833558
xor ecx, 0xe9a4f1dd
cmp eax, ecx
jle 0x439a75
mov ax, word [0x482044]
jmp 0x439a85
mov ax, word [0x4808fa]
xor dword [0x48303c], 0xb907348f
test esi, esi
jne 0x439b40
mov ax, word [0x47c2b0]
cwde
imul eax, eax, 0xc2309b45
cmp eax, 0x4c89884a
jl 0x439ace
mov eax, dword [0x496158]
add eax, 0x31e97e5c
mov ecx, dword [0x4848b8]
lea edx, [ecx - 1]
mov dword [0x4848b8], edx
imul ecx, ecx, 0xfc7086f9
cmp eax, ecx
je 0x439ace
mov dword [0x48e128], 0x9c7b8f65
mov dword [esp], 0x429
call dword [0x477f60]
sub esp, 4
mov eax, dword [0x48fa58]
add eax, 0xeb9c4a7f
or dword [0x484f0c], eax
mov dword [esp + 4], 3
mov dword [esp], 0x88b8
call fcn.004416a0
mov edi, eax
add dword [0x492b04], 0x6f6e676f
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00449a9d
mov esi, eax
mov dword [0x4913c0], 0xabec7fef
mov dword [esp + 4], edi
mov dword [esp], 3
call fcn.00414010
mov dword [0x492b60], 0x6782024c
mov eax, dword [0x48df60]
add eax, 0x1a28c180
cmp eax, 0x68a8f263
jl 0x439b73
mov eax, dword [0x4916a0]
lea ecx, [eax - 1]
mov dword [0x4916a0], ecx
mov ecx, dword [0x493a40]
and ecx, eax
mov eax, dword [0x492abc]
sub eax, ecx
mov dword [0x492abc], eax
test esi, esi
je 0x439bea
mov eax, dword [0x48a1a8]
imul eax, eax, 0xf686ceeb
mov dword [0x48a1a8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], 0x497af0
call fcn.00449c50
mov eax, dword [0x4884a8]
shl eax, 9
cmp eax, 0x5c1090d7
jl 0x439bd0
mov eax, dword [0x4887d0]
or eax, 0x1150
mov cx, word [0x47b0d2]
and ecx, eax
mov word [0x47b0d2], cx
mov dword [esp], esi
call fcn.00449d3e
mov eax, dword [0x4916e8]
mov ecx, 0xc32c45a4
sub ecx, eax
mov dword [0x48ba28], ecx
mov eax, dword [0x48ee10]
mov ecx, dword [0x484f14]
or ecx, eax
or ecx, 0xba329e01
mov dword [0x484f14], ecx
add esp, 0x10
pop esi
pop edi
pop ebx
ret
Function at 0x45121e
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x476f20]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EncodePointer]
push esi
push edi
mov dword [ebp - 0x1c], eax
xor esi, esi
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x20], eax
call ebx
mov edi, eax
mov dword [ebp - 0x18], edi
call fcn.0044ee2d
mov dword [ebp - 0x14], eax
cmp dword [0x498524], esi
jne 0x451311
push 0x800
push esi
push 0x468218
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
jne 0x45129e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x4513f1
push esi
push esi
push 0x468218
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x4513f1
push str.MessageBoxW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4513f1
push eax
call ebx
push str.GetActiveWindow
push edi
mov dword [0x498524], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetLastActivePopup
push edi
mov dword [0x498528], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetUserObjectInformationW
push edi
mov dword [0x49852c], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x498534], eax
test eax, eax
je 0x45130e
push str.GetProcessWindowStation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x498530], eax
mov edi, dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x451336
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x451329
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x14], esi
je 0x45134b
push 4
pop eax
jmp 0x4513f3
cmp dword [ebp - 0x14], esi
je 0x45134b
push dword [0x498524]
call dword [sym.imp.KERNEL32.dll_DecodePointer]
push 3
jmp 0x451330
mov eax, dword [0x498530]
mov ebx, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, edi
je 0x4513a9
cmp dword [0x498534], edi
je 0x4513a9
push eax
call ebx
push dword [0x498534]
mov dword [ebp - 0x14], eax
call ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x4513a9
test eax, eax
je 0x4513a9
call ecx
test eax, eax
je 0x45139e
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call dword [ebp - 0x18]
test eax, eax
je 0x45139e
test byte [ebp - 8], 1
jne 0x4513a9
mov edi, dword [ebp + 0x10]
or edi, 0x200000
jmp 0x4513d9
mov eax, dword [0x498528]
cmp eax, edi
je 0x4513d6
push eax
call ebx
test eax, eax
je 0x4513d6
call eax
mov esi, eax
test esi, esi
je 0x4513d6
mov eax, dword [0x49852c]
cmp eax, edi
je 0x4513d6
push eax
call ebx
test eax, eax
je 0x4513d6
push esi
call eax
mov esi, eax
mov edi, dword [ebp + 0x10]
push dword [0x498524]
call ebx
test eax, eax
je 0x4513f1
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push esi
call eax
jmp 0x4513f3
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00451422
mov esp, ebp
pop ebp
ret
Function at 0x401080
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x13c
mov eax, dword [0x404008]
xor eax, esp
mov dword [esp + 0x138], eax
push esi
lea eax, [esp + 8]
mov dword [esp + 4], 0
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionOpenWith
xorps xmm0, xmm0
mov dword [esp + 0x18], 0
push reloc.OLEAUT32.dll_SysReAllocString
movaps xmmword [esp + 0x34], xmm0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x401191
mov esi, dword [esp + 8]
test esi, esi
je 0x401191
push pe_nt_image_headers32
push eax
lea eax, [esp + 0x40]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x1c], pe_nt_image_headers32
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0
push 0x403224
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [esp + 8]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x401191
lea ecx, [esp + 0x38]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401130
sub ecx, edx
sar ecx, 1
cmp ecx, 0x26
jne 0x401191
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
js 0x401191
lea eax, [esp + 4]
mov dword [esp + 0xc], 0x6a283fe2
push eax
lea eax, [esp + 0x10]
mov dword [esp + 0x14], 0x4599ecfa
push eax
push 4
push 0
lea eax, [esp + 0x30]
mov dword [esp + 0x24], 0x9e8c491
push eax
mov dword [esp + 0x2c], 0x267b1357
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ecx, dword [esp + 0x13c]
mov eax, dword [esp + 4]
pop esi
xor ecx, esp
call fcn.004012f0
mov esp, ebp
pop ebp
ret

Function at 0x4011b0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 2
push 0
mov dword [ebp - 4], eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
call fcn.00401080
mov ebx, eax
push 0
push ebx
call dword [sym.imp.ole32.dll_CoAllowSetForegroundWindow]
push str..pdf
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
test esi, esi
je 0x401232
mov edi, dword [ebx]
push 4
push esi
push dword [ebp - 4]
mov edi, dword [edi + 0xc]
mov ecx, edi
push ebx
call dword [0x403110]
call edi
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x403110]
call esi
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x8007000e
call fcn.00401030
int3

Function at 0x43b655
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0x43b3c1
or eax, edi
dec eax
sub edi, edi
call fcn.0043b694
add eax, eax
xor dword [esi], ecx
add edi, 0xd430fa0d
add edi, edi
inc esi
inc eax
mov edi, eax
sub esp, 4
mov dword [esp], 0xf57d1597
pop eax
cmp esi, edx
jne fcn.0043b655
add edi, 0x6f4f3f4c
add eax, eax
dec edi
ret
Function at 0x4035ac
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
xor ebx, ebx
imul edx, dword [ebx + 0x739008], 0x8088405
inc edx
mov dword [ebx + 0x739008], edx
mul edx
mov eax, edx
pop ebx
ret

Function at 0x41d254
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ebp
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cld
mov dl, 0x80
mov al, byte [esi]
add esi, 1
mov byte [edi], al
add edi, 1
mov ebx, 2
add dl, dl
jne 0x41d285
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d26d
add dl, dl
jne 0x41d290
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d2e1
xor eax, eax
add dl, dl
jne 0x41d29d
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d37e
add dl, dl
jne 0x41d2ac
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d2b7
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d2c2
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d2cd
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x41d2d7
mov ebx, edi
sub ebx, eax
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x41d27c
mov eax, 1
add dl, dl
jne 0x41d2ef
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d2fa
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d2e6
sub eax, ebx
mov ebx, 1
jne 0x41d32d
mov ecx, 1
add dl, dl
jne 0x41d313
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d31e
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d30a
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d27c
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x41d344
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d34f
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d33b
cmp eax, 0x7d00
sbb ecx, 0xffffffff
cmp eax, 0x500
sbb ecx, 0xffffffff
cmp eax, 0x80
adc ecx, 0
cmp eax, 0x80
adc ecx, 0
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d27c
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x41d39f
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x41d27c
pop ebp
sub edi, dword [ebp - 8]
mov dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x41f3b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov ebx, edx
xor edx, edx
push ebp
push 0x71c89e
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov dword [ebp - 8], edx
mov esi, ebx
xor ecx, ecx
cmp byte [eax + 0x6a], 0
je 0x41f3ff
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x88]
test edx, edx
je 0x41f41e
mov ecx, edx
add ecx, ebx
jmp 0x41f41e
mov eax, ebx
xor edx, edx
push edx
push eax
mov eax, dword [esi + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov edx, dword [eax + 0x78]
test edx, edx
je 0x41f41e
mov ecx, edx
add ecx, ebx
test ecx, ecx
je 0x41f490
mov esi, dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
add eax, ebx
mov dword [ebp - 0x10], eax
mov edi, dword [ecx + 0x20]
add edi, ebx
mov eax, dword [ecx + 0x24]
add eax, ebx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
cmp eax, 0xffff
jbe 0x41f479
test esi, esi
jbe 0x41f490
mov eax, dword [edi]
add eax, ebx
mov edx, dword [ebp - 4]
call fcn.004088f4
test eax, eax
jne 0x41f46b
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
jmp 0x41f490
add dword [ebp - 0xc], 2
add edi, 4
dec esi
test esi, esi
ja 0x41f448
jmp 0x41f490
mov edx, eax
sub edx, dword [ecx + 0x10]
cmp edx, dword [ecx + 0x14]
jae 0x41f490
mov eax, edx
shl eax, 2
add eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x71c8a5
ret
Function at 0x4205fc
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov word [ebp - 4], cx
mov byte [ebp - 1], dl
xor eax, eax
push ebp
push 0x71dc17
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404cd0
xor ebx, ebx
mov eax, ebx
and eax, 0x80000001
jns 0x420637
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x420650
lea eax, [ebp - 0x10]
mov edx, dword [0x73b5f0]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
call fcn.00404d30
jmp 0x420663
lea eax, [ebp - 0x10]
mov edx, dword [0x73b5f0]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
call fcn.00404d30
lea eax, [ebp - 0x10]
mov edx, ebx
sar edx, 1
jns 0x42066f
adc edx, 0
mov edx, dword [edx*4 + 0x73a3fc]
call fcn.00404f20
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00404f04
push eax
call fcn.00406b1c
mov esi, eax
cmp esi, 0xffffffff
je 0x4207e9
mov eax, 0x40
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0x40
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x4207dc
mov eax, edi
cmp word [eax], 0x5a4d
jne 0x4207dc
push 0
push 0
mov eax, dword [eax + 0x3c]
push eax
push esi
call fcn.00406dec
mov eax, edi
call fcn.00403288
mov eax, 0x18
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0x18
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x4207dc
mov eax, edi
cmp dword [eax], 0x4550
jne 0x4207dc
add eax, 4
mov dword [ebp - 0xc], eax
cmp byte [ebp - 1], 0
je 0x42077a
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x8664
jne 0x42077a
mov eax, edi
call fcn.00403288
mov eax, 0xf0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0xf0
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x42077a
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 4]
jne 0x42077a
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
cmp byte [ebp - 1], 0
jne 0x4207dc
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x14c
jb 0x4207dc
mov eax, dword [ebp - 0xc]
cmp word [eax], 0x150
ja 0x4207dc
mov eax, edi
call fcn.00403288
mov eax, 0xe0
call fcn.00403268
mov edi, eax
push 0
lea eax, [ebp - 8]
push eax
push 0xe0
push edi
push esi
call fcn.00406d8c
test eax, eax
je 0x4207dc
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 4]
jne 0x4207dc
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404d0c
mov eax, edi
call fcn.00403288
push esi
call fcn.00406ad4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor edx, edx
call fcn.0040502c
jne 0x420801
inc ebx
cmp ebx, 0x19
jne 0x420629
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x71dc1e
lea eax, [ebp - 0x10]
call fcn.00404cd0
ret
Function at 0x4021e0
Capabilities:
Access the windows event log

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41316d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x41c014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov ebx, ecx
push 0x417400
push 0
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
push 0x28
push str.Description:_A_.NET_application_failed._n
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], eax
call fcn.00404a40
push 0xd
push str.Application:
lea ecx, [ebp - 0x28]
call fcn.00404a40
mov ecx, esi
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x402260
sub ecx, edi
sar ecx, 1
push ecx
push esi
mov ecx, eax
call fcn.00404a40
push 1
push 0x4173fc
mov ecx, eax
call fcn.00404a40
push 6
push str.Path:
lea ecx, [ebp - 0x28]
call fcn.00404a40
mov edx, ebx
lea esi, [edx + 2]
nop word [eax + eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x4022a0
sub edx, esi
mov ecx, eax
sar edx, 1
push edx
push ebx
call fcn.00404a40
push 1
push 0x4173fc
mov ecx, eax
call fcn.00404a40
push 9
push str.Message:
lea ecx, [ebp - 0x28]
call fcn.00404a40
cmp dword [0x41c4d8], 8
mov ecx, 0x41c4c4
push dword [0x41c4d4]
cmovae ecx, dword [0x41c4c4]
push ecx
mov ecx, eax
call fcn.00404a40
push 1
push 0x4173fc
mov ecx, eax
call fcn.00404a40
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov esi, dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x28]
push 0
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push 0
push 1
push 0
push 0x3ff
push 0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x402374
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40236a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40236a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0040fe08
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040fdfa
mov esp, ebp
pop ebp
ret