joyce8/EMBER2024-capa huggingface dataset:
Function at 0x402e4e
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
cmp dword [ebp + 8], 0
je 0x402e69
cmp dword [ebp + 0xc], 0
je 0x402e69
cmp dword [ebp + 0x10], 0
jne 0x402e70
xor eax, eax
jmp 0x402f62
mov dword [ebp - 0x30], 0x20
cmp dword [ebp + 0x14], 0
jne 0x402ebb
mov eax, dword [ebp + 8]
push eax
push str.CLSID_s
lea ecx, [ebp - 0x15c]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [ebp - 0x160]
push edx
push 0x20019
push 0
lea eax, [ebp - 0x15c]
push eax
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x24], eax
jmp 0x402eda
lea ecx, [ebp - 0x160]
push ecx
push 0x20019
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x402ee4
xor eax, eax
jmp 0x402f62
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x28]
push eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x160]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x160]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x24], 0
jne 0x402f1f
cmp dword [ebp - 0x30], 0x20
je 0x402f23
xor eax, eax
jmp 0x402f62
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00402e02
add esp, 4
and eax, 0xffff
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov dx, word [ecx + 0x1a]
cmp eax, edx
jne 0x402f60
push 0x20
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00409980
add esp, 0xc
mov eax, 1
jmp 0x402f62
xor eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x40398c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push 0x418838
push str._s1run.key
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0
push 3
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x4039eb
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esp, ebp
pop ebp
ret
Function at 0x403fec
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x200c
call fcn.0040a740
mov dword [ebp - 0x2008], ecx
mov eax, dword [ebp - 0x2008]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x200c], ecx
mov edx, dword [ebp - 0x200c]
sub edx, 1
mov dword [ebp - 0x200c], edx
cmp dword [ebp - 0x200c], 9
ja case.default.0x404030
mov eax, dword [ebp - 0x200c]
jmp dword [eax*4 + 0x40416f]
jmp case.default.0x404030
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x2008]
add ecx, 0xc
call fcn.004063e0
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040606c
add esp, 8
jmp case.default.0x404030
mov ecx, dword [ebp - 0x2008]
add ecx, 0xc
call fcn.004063e0
push eax
push str.mailto:_s
lea edx, [ebp - 0x1000]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x1000]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040606c
add esp, 8
jmp case.default.0x404030
mov edx, dword [ebp - 0x2008]
cmp dword [edx + 0xc], 0
jg 0x4040b6
jmp case.default.0x404030
mov eax, dword [ebp - 0x2008]
mov ecx, dword [eax + 0x10]
push ecx
mov ecx, dword [0x41894c]
call fcn.00405a0d
mov dword [ebp - 0x1004], eax
cmp dword [ebp - 0x1004], 0
jne 0x4040df
jmp case.default.0x404030
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x1004]
call fcn.00405349
jmp case.default.0x404030
mov ecx, dword [ebp - 0x2008]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x2008]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00407c30
add esp, 8
jmp case.default.0x404030
push 0x1000
lea edx, [ebp - 0x2004]
push edx
mov eax, dword [ebp - 0x2008]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004060a3
add esp, 0xc
lea edx, [ebp - 0x2004]
push edx
lea eax, [ebp - 0x1000]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push 0x40
push str.AppName
mov ecx, dword [0x41894c]
call fcn.00405dea
push eax
lea ecx, [ebp - 0x1000]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esp, ebp
pop ebp
ret 8

Function at 0x40554e
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
jmp 0x405576
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0xc]
add ecx, 0x3c
call fcn.00406720
cmp dword [ebp - 4], eax
jge 0x4055d0
mov edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp - 0xc]
add ecx, 0x3c
call fcn.00406740
mov ecx, eax
call fcn.00406460
cmp eax, dword [ebp - 8]
jne 0x4055ce
push 5
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
push edx
mov ecx, dword [ebp - 0xc]
add ecx, 0x3c
call fcn.00406740
mov ecx, eax
call fcn.00404a93
mov eax, 1
jmp 0x4055de
jmp 0x40556d
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
mov esp, ebp
pop ebp
ret 4
Function at 0x40606c
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 1
push 0x41898c
push 0
mov eax, dword [ebp + 0xc]
push eax
push str.open
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
jge 0x40609c
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
jmp 0x4060a1
mov eax, 1
pop ebp
ret

Function at 0x407c30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
cmp dword [ebp + 8], 0
je 0x407c45
cmp dword [ebp + 0xc], 0
jne 0x407c4a
jmp 0x407d22
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407c77
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
movsx eax, byte [edx]
cmp eax, 0xa
je 0x407c77
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x407c51
mov edx, dword [ebp + 0xc]
sub edx, 1
cmp dword [ebp - 4], edx
jl 0x407c87
jmp 0x407d22
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0
push 0
push 4
push 0
push 1
push 0x40000000
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x407cc3
jmp 0x407d22
push 2
push 0
push 0
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 8], 0
push 0
lea edx, [ebp - 8]
push edx
push 2
push 0x41566c
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 4]
add edx, 1
mov eax, dword [ebp + 0xc]
sub eax, edx
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 1]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esp, ebp
pop ebp
ret

Function at 0x407dc6
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x407ddd
mov eax, dword [ebp - 8]
jmp 0x407dfa
push 0
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret 8
Function at 0x407e00
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jne 0x407e17
mov eax, dword [ebp - 0x10]
jmp 0x407e5f
cmp dword [ebp + 8], 0
je 0x407e25
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], ecx
jmp 0x407e2c
mov dword [ebp - 0x14], 0x418994
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0xc], eax
push 0
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret 4

Function at 0x407f3b
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0
jne 0x407f52
mov eax, dword [ebp - 8]
jmp 0x407f6f
push 0
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret 8

Function at 0x407f75
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1018
call fcn.0040a740
push edi
mov dword [ebp - 0x1018], ecx
mov eax, dword [ebp - 0x1018]
cmp dword [eax + 4], 0
jne 0x407fa0
mov eax, dword [ebp - 0x1018]
jmp 0x4080bc
mov byte [ebp - 0x1004], 0
mov ecx, 0x3ff
xor eax, eax
lea edi, [ebp - 0x1003]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x1008], 0
mov dword [ebp - 0x100c], 0
mov dword [ebp - 0x1010], 0
cmp dword [ebp + 8], 0
je 0x408099
mov ecx, 1
test ecx, ecx
je 0x40804f
mov edx, dword [ebp + 8]
mov dword [edx], 0
push 0
lea eax, [ebp - 4]
push eax
push 1
mov ecx, dword [ebp - 0x1008]
lea edx, [ebp + ecx - 0x1004]
push edx
mov eax, dword [ebp - 0x1018]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 4], 1
je 0x408020
jmp 0x40804f
mov edx, dword [ebp - 0x1008]
movsx eax, byte [ebp + edx - 0x1004]
test eax, eax
jne 0x40803e
mov dword [ebp - 0x1010], 1
jmp 0x40804f
mov ecx, dword [ebp - 0x1008]
add ecx, 1
mov dword [ebp - 0x1008], ecx
jmp 0x407fe1
cmp dword [ebp - 0x1010], 1
jne 0x408099
mov edx, dword [ebp - 0x1008]
add edx, 1
push edx
call fcn.0040a3ac
add esp, 4
mov dword [ebp - 0x1014], eax
mov eax, dword [ebp - 0x1014]
mov dword [ebp - 0x100c], eax
cmp dword [ebp - 0x100c], 0
je 0x408099
lea ecx, [ebp - 0x1004]
push ecx
mov edx, dword [ebp - 0x100c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x1010], 1
jne 0x4080b6
cmp dword [ebp - 0x100c], 0
je 0x4080b6
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x100c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1018]
pop edi
mov esp, ebp
pop ebp
ret 4
Function at 0x4080c3
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 4], 0
jne 0x4080da
mov eax, dword [ebp - 0xc]
jmp 0x408130
mov dword [ebp - 8], 0
cmp dword [ebp + 8], 0
je 0x40812d
mov ecx, 1
test ecx, ecx
je 0x40812d
push 0
lea edx, [ebp - 4]
push edx
push 1
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 4], 1
je 0x408113
jmp 0x40812d
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x408122
jmp 0x40812d
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x4080e7
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x4083e0
Capabilities:
Hash data with md5

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
cmp dword [ebp + 0x14], 0x40
jle 0x409634
lea eax, [ebp - 0x14c]
push eax
call fcn.004083e0
add esp, 4
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x14c]
push eax
call fcn.00408420
add esp, 0xc
lea ecx, [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.0040851f
add esp, 8
lea eax, [ebp - 0x10]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], 0x10
push 0x41
push 0
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0040a090
add esp, 0xc
push 0x41
push 0
lea edx, [ebp - 0x54]
push edx
call fcn.0040a090
add esp, 0xc
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0xf4]
push edx
call fcn.00409980
add esp, 0xc
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x54]
push edx
call fcn.00409980
add esp, 0xc
mov dword [ebp - 0xb0], 0
jmp 0x40969d
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x40
jge 0x4096dc
mov ecx, dword [ebp - 0xb0]
mov dl, byte [ebp + ecx - 0xf4]
xor dl, 0x36
mov eax, dword [ebp - 0xb0]
mov byte [ebp + eax - 0xf4], dl
mov ecx, dword [ebp - 0xb0]
mov dl, byte [ebp + ecx - 0x54]
xor dl, 0x5c
mov eax, dword [ebp - 0xb0]
mov byte [ebp + eax - 0x54], dl
jmp 0x40968e
lea ecx, [ebp - 0xac]
push ecx
call fcn.004083e0
add esp, 4
push 0x40
lea edx, [ebp - 0xf4]
push edx
lea eax, [ebp - 0xac]
push eax
call fcn.00408420
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0xac]
push eax
call fcn.00408420
add esp, 0xc
lea ecx, [ebp - 0xac]
push ecx
mov edx, dword [ebp + 0x18]
push edx
call fcn.0040851f
add esp, 8
lea eax, [ebp - 0xac]
push eax
call fcn.004083e0
add esp, 4
push 0x40
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xac]
push edx
call fcn.00408420
add esp, 0xc
push 0x10
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0xac]
push ecx
call fcn.00408420
add esp, 0xc
lea edx, [ebp - 0xac]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0040851f
add esp, 8
mov esp, ebp
pop ebp
ret
Function at 0x409780
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x28], str..pipeSTMPQUEUE
mov dword [ebp - 0x24], 0
cmp dword [ebp + 8], 0
jne 0x40979f
jmp 0x40986e
push 0x14
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.0040a090
add esp, 0xc
mov dword [ebp - 0x1c], 0
jmp 0x4097c1
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0x78
jge 0x409810
push 0x1f4
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
test eax, eax
je 0x40980e
push 0
push 0
push 3
push 0
push 0
push 0x40000000
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 4], 0xffffffff
je 0x40980e
mov dword [ebp - 0x24], 1
jmp 0x409810
jmp 0x4097b8
cmp dword [ebp - 0x24], 0
je 0x40986e
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0040a7f0
add esp, 4
add eax, 1
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x40984b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x20], eax
jmp 0x40985a
push 0x7530
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esp, ebp
pop ebp
ret
Function at 0x40d327
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x415bc8
cmp edx, dword [eax]
je 0x40d349
add eax, 8
inc ecx
cmp eax, 0x415c58
jl 0x40d33a
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x415bc8]
jne 0x40d477
mov eax, dword [0x4189c0]
cmp eax, 1
je 0x40d451
test eax, eax
jne 0x40d37a
cmp dword [0x4157c4], 1
je 0x40d451
cmp edx, 0xfc
je 0x40d477
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x40d3b1
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.0040fd10
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.0040a7f0
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x40d3f4
lea eax, [ebp - 0x1a4]
push eax
call fcn.0040a7f0
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x413734
push edi
call fcn.0040edc0
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.0040fd10
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.0040fd20
lea eax, [ebp - 0xa0]
push 0x413714
push eax
call fcn.0040fd20
push dword [esi + 0x415bcc]
lea eax, [ebp - 0xa0]
push eax
call fcn.0040fd20
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.004101b8
add esp, 0x2c
pop edi
jmp 0x40d477
lea eax, [ebp + 8]
lea esi, [esi + 0x415bcc]
push 0
push eax
push dword [esi]
call fcn.0040a7f0
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret
Function at 0x403e4a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
pushal
call 0x403e59
pop dword [ebp - 0x14]
mov eax, 0x1ad4f5f0
sub eax, 0x1a94b797
sub dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0xb826fe50
add dword [ebp - 0x24], 0x962b46fb
mov dword [ebp - 0x20], 0xefbe28e7
add dword [ebp - 0x20], 0x4275235e
mov dword [ebp - 0x1c], 0x846db16f
sub dword [ebp - 0x1c], 0x38216d41
mov dword [ebp - 0x18], 0x98c28f63
sub dword [ebp - 0x18], 0x98c28f63
lea eax, [ebp - 0x24]
push eax
mov eax, sym.imp.kernel32.dll_GetModuleHandleA
add eax, dword [ebp - 0x14]
call dword [eax]
mov dword [ebp - 0x24], 0xbaf10044
sub dword [ebp - 0x24], 0x467e96ee
mov dword [ebp - 0x20], 0xffdd4d9f
sub dword [ebp - 0x20], 0xbe70ec2a
mov dword [ebp - 0x1c], 0x6b4c7afd
add dword [ebp - 0x1c], 0xf822f16f
mov dword [ebp - 0x18], 0x50ed2e75
sub dword [ebp - 0x18], 0x50ed2e75
lea ebx, [ebp - 0x24]
push ebx
push eax
mov eax, 0xd8d1147
sub eax, 0xd4c9073
add eax, dword [ebp - 0x14]
call dword [eax]
push 0x40
push 0x1000
push 0x3b9bd
push 0
call eax
mov ecx, 0x5b72
mov edi, eax
mov edx, 0xee9d487b
sub edx, 0xee5c387b
add edx, dword [ebp - 0x14]
mov esi, 0xa0ed3f6d
sub dword [ebp - 0xc], 0xc3b12c6a
mov ebx, dword [edx]
mov dword [ebp - 0x10], 0x9e4a105c
xor ebx, esi
add dword [ebp - 8], 0x72cd6d7d
mov dword [edi], ebx
xor dword [ebp - 8], 0xafd5f09b
add edi, 0x3be18e34
sub edi, 0x3be18e30
add edx, 4
loop 0x403f6a
add eax, 0xd7e56d5f
add eax, 0x281bf33c
mov ebx, eax
add eax, 0xc7f6ba62
add eax, 0x380945a3
mov ecx, 0x11a44751
add ecx, 0xee9bb8af
add ecx, dword [ebp - 0x14]
call ebx
leave
ret
Function at 0x438ca1
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0x438a14
mov esi, 0x540fe6b3
add esi, 0xaac3d5a9
call fcn.00438ce5
add ebx, esi
sub esi, 0x47195a63
xor dword [edx], ecx
mov esi, 0xa02d9994
mov ebx, 0x9221f03d
add edx, 1
sub ebx, 0x94abcfd
cmp edx, edi
jne fcn.00438ca1
sub ebx, esi
sub esi, ebx
ret
Function at 0x10001260
Capabilities:
Read file via mapping

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x18]
push eax
lea edx, [esp + 8]
mov dword [esp + 8], 0xc
lea ecx, [esi + 0x20]
mov dword [esp + 0xc], 0
push ecx
push 0
push 4
push edx
push 0xffffffffffffffff
mov dword [esp + 0x24], 1
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
test eax, eax
je 0x100012c9
push 0
push 0
push 0
push 6
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
test eax, eax
je 0x100012c9
push edi
mov ecx, esi
mov esi, dword [esp + 0x18]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
add esp, 0xc
ret

Function at 0x100012d0
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 4]
push edi
mov edi, dword [esp + 0xc]
cmp ecx, edi
ja 0x1000130b
mov dl, byte [esp + 0x14]
test dl, dl
je 0x1000130b
test ecx, ecx
je 0x1000130b
test edi, edi
je 0x1000130b
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov esi, ebp
dec ecx
mov al, byte [ecx + 1]
inc ecx
xor al, dl
inc dl
mov byte [esi], al
inc esi
cmp ecx, edi
jne 0x100012f6
mov eax, ebp
pop esi
pop ebp
pop edi
ret
xor eax, eax
pop edi
ret

Function at 0x10002bfe
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x10006520
cmp edx, dword [eax]
je 0x10002c20
add eax, 8
inc ecx
cmp eax, 0x100065b0
jl 0x10002c11
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x10006520]
jne 0x10002d4e
mov eax, dword [0x1000713c]
cmp eax, 1
je 0x10002d28
test eax, eax
jne 0x10002c51
cmp dword [0x10007140], 1
je 0x10002d28
cmp edx, 0xfc
je 0x10002d4e
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x10002c88
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.10002fc0
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.100030b0
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x10002ccb
lea eax, [ebp - 0x1a4]
push eax
call fcn.100030b0
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x10005394
push edi
call fcn.10004130
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.10002fc0
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.10002fd0
lea eax, [ebp - 0xa0]
push 0x10005374
push eax
call fcn.10002fd0
push dword [esi + 0x10006524]
lea eax, [ebp - 0xa0]
push eax
call fcn.10002fd0
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.1000409e
add esp, 0x2c
pop edi
jmp 0x10002d4e
lea eax, [ebp + 8]
lea esi, [esi + 0x10006524]
push 0
push eax
push dword [esi]
call fcn.100030b0
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret