joyce8/EMBER2024-capa huggingface dataset:
Function at 0x468a20
Capabilities:
Get socket status

Disassembly:
sub esp, 0x10c
mov eax, dword [ecx]
lea ecx, [esp]
push ecx
push 0
lea edx, [esp + 0x10]
push 0
push edx
push 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 1
call sub.WS2_32.dll_select
cmp eax, 0xffffffff
jne 0x468a69
xor eax, eax
add esp, 0x10c
ret 4
mov edx, dword [esp + 0x110]
xor ecx, ecx
test eax, eax
setne cl
mov dword [edx], ecx
mov eax, 1
add esp, 0x10c
ret 4

Function at 0x468ee0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x495910
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push esi
mov esi, ecx
lea ecx, [esp + 4]
call fcn.00468a90
lea eax, [esp + 4]
lea ecx, [esi + 4]
push eax
mov dword [esp + 0x18], 0
call fcn.00468b10
lea ecx, [esp + 4]
push ecx
lea ecx, [esi + 0x14]
call fcn.00468b10
lea ecx, [esi + 0xc]
call fcn.00484004
lea ecx, [esi + 0x10]
call fcn.00484004
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x1c]
call fcn.0046a0a0
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x30]
call fcn.0046a0a0
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x44]
call fcn.0046a0a0
lea ecx, [esp + 8]
mov dword [esp + 0x14], 1
call fcn.00484079
lea ecx, [esp + 4]
mov dword [esp + 0x14], 0xffffffff
call fcn.00484079
mov ecx, dword [esp + 0xc]
pop esi
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x48651e
Capabilities:
Get graphical window text

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x486556
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
lea ecx, [eax + 1]
push ecx
mov ecx, dword [esp + 0xc]
push eax
call fcn.00484520
push eax
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [esp + 8]
push 0xffffffffffffffff
call fcn.004844f8
jmp 0x486562
mov eax, dword [ecx]
push dword [esp + 8]
call dword [eax + 0x88]
pop esi
ret 4

Function at 0x487c64
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
xor edi, edi
cmp dword [esp + 0x10], edi
mov ebx, ecx
je 0x487ca6
call fcn.0048e00b
mov esi, dword [eax + 0xc]
push 0xf0
push dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, edi
je 0x487ca6
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
jne 0x487c9d
xor eax, eax
jmp 0x487cae
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
push edi
mov ecx, ebx
call fcn.00487cb4
pop edi
pop esi
pop ebx
ret 4
Function at 0x403e76
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x40b760
cmp edx, dword [eax]
je 0x403e98
add eax, 8
inc ecx
cmp eax, 0x40b7f0
jl 0x403e89
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x40b760]
jne 0x403fc6
mov eax, dword [0x40e6d8]
cmp eax, 1
je 0x403fa0
test eax, eax
jne 0x403ec9
cmp dword [0x40b694], 1
je 0x403fa0
cmp edx, 0xfc
je 0x403fc6
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x403f00
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.00406370
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.00406460
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x403f43
lea eax, [ebp - 0x1a4]
push eax
call fcn.00406460
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x4098b8
push edi
call fcn.00407c30
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.00406370
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.00406380
lea eax, [ebp - 0xa0]
push 0x409898
push eax
call fcn.00406380
push dword [esi + 0x40b764]
lea eax, [ebp + 8]
lea esi, [esi + 0x40b764]
push 0
push eax
push dword [esi]
call fcn.00406460
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]

Function at 0x40100b
Capabilities:
Query or enumerate registry value

Disassembly:
call 0x40100b
push eax
call sub.KERNEL32.dll_ExitProcess
push ebp
mov ebp, esp
add esp, 0xfffffef0
jmp 0x40109c
lea eax, [ebp - 0x104]
push eax
call fcn.004011ec
push 0x401019
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrcatA
push eax
call sub.KERNEL32.dll_LoadLibraryA
test eax, eax
jne 0x401165
lea eax, [ebp - 0x10c]
push eax
push 0x20019
push 0
push 0x401038
push 0x80000001
call sub.ADVAPI32.dll_RegOpenKeyExA
cmp eax, 0
jne 0x4011a5
mov dword [ebp - 0x110], 0x103
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x104]
push eax
push 0
push 0
push 0x401052
push dword [ebp - 0x10c]
call sub.ADVAPI32.dll_RegQueryValueExA
push eax
push dword [ebp - 0x10c]
call sub.ADVAPI32.dll_RegCloseKey
pop eax
cmp eax, 0
jne 0x4011a5
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrlenA
lea ebx, [ebp - 0x104]
add ebx, eax
dec ebx
cmp byte [ebx], 0x5c
je 0x40114a
mov word [ebx], 0x5c
push 0x401023
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_lstrcatA
push eax
call sub.KERNEL32.dll_LoadLibraryA
test eax, eax
je 0x4011a5
mov dword [ebp - 0x108], eax
push 0x40102d
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
je 0x40119a
push 0x3e8
call eax
test eax, eax
je 0x40119a
call 0x40118a
add dword [esp], 0x1e76
call eax
push 0
call sub.KERNEL32.dll_ExitProcess
push dword [ebp - 0x108]
call sub.KERNEL32.dll_FreeLibrary
push 0x10
push 0x401096
push 0x401057
push 0
call sub.USER32.dll_MessageBoxA
mov eax, 0xffffffff
leave
ret
Function at 0x412634
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub dh, al
inc ebp
lcall 0xc635, 0x9b45c633
inc ebp
pushfd
xor al, 0xc6
inc ebp
popfd
and dh, al
inc ebp
sahf
sub eax, 0x119f45c6
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x5f], 0x2e
mov byte [ebp - 0x5e], 0x35
mov byte [ebp - 0x5d], 0x24
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.00412272
push eax
push esi
push dword [ebp + 8]
call fcn.00412227
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.00412272
push eax
push esi
push dword [ebp + 8]
call fcn.00412227
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.00412262
lcall 0x7c9d, 0x886fcbf6
test bl, 0x6f
invalid
popfd
jl 0x4126e7

Function at 0x412ad0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x347], 0x56
mov byte [ebp - 0x346], 0x6d
mov byte [ebp - 0x345], 0x40
mov byte [ebp - 0x344], 0x44
mov byte [ebp - 0x343], 0x55
mov byte [ebp - 0x342], 0x25
lea eax, [ebp - 0x354]
push eax
call fcn.00412272
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00412227

Function at 0x415450
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
xor edx, edx
mov eax, edx
and eax, 1
sub eax, 1
not eax
and eax, 0xedb88320
mov ecx, edx
shr ecx, 1
xor eax, ecx
mov ecx, eax
and ecx, 1
sub ecx, 1
not ecx
and ecx, 0xedb88320
shr eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
sub eax, 1
shr ecx, 1
not eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
and ecx, 1
sub ecx, 1
not ecx
and ecx, 0xedb88320
shr eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
sub eax, 1
shr ecx, 1
not eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
and ecx, 1
sub ecx, 1
not ecx
and ecx, 0xedb88320
shr eax, 1
xor ecx, eax
mov eax, ecx
and eax, 1
sub eax, 1
shr ecx, 1
not eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
and ecx, 1
sub ecx, 1
not ecx
and ecx, 0xedb88320
shr eax, 1
xor ecx, eax
mov dword [edx*4 + 0x41dc60], ecx
add edx, 1
cmp edx, 0x100
jb 0x415452
cmp edx, 0x800
jae 0x41553b
mov edi, edi
mov eax, dword [edx*4 + 0x41d860]
mov ecx, eax
and ecx, 0xff
shr eax, 8
xor eax, dword [ecx*4 + 0x41dc60]
add edx, 1
cmp edx, 0x800
mov dword [edx*4 + 0x41dc5c], eax
jb 0x415510
mov dword [0x41dc34], 0x415bf0
call fcn.00415680
test eax, eax
jne 0x415558
mov dword [0x41dc34], 0x415b10
ret
Function at 0x10004237
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x98
lea eax, [esp + 0x30]
lea ecx, [esp + 0x40]
mov dword [0x10030628], 0x121e
mov dword [0x1003062c], 0x1c3
mov dword [esp], eax
mov dword [esp + 0x2c], ecx
call fcn.10005613
mov dword [0x1003062c], 0xc67
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x5c], 0x12f200
mov dword [0x10030628], 0x423d
mov ecx, dword [0x10030614]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x10030618]
mov dword [esp + 0x94], ecx
mov ecx, dword [0x1003061c]
mov dword [esp + 0x60], ecx
mov ecx, dword [0x10030620]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x28], eax
mov eax, 0xc67
lea ecx, [0x100043bd]
mov edx, dword [0x10030624]
mov dword [esp + 0x84], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
jmp 0x10004332
mov eax, dword [esp + 0x1c]
add eax, 0x3c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [esp + 0x1c]
cmp dword [edx + ecx], 0x4550
mov dword [esp + 0x14], ecx
je 0x1000434b
mov eax, dword [esp + 0x1c]
add eax, 0xfffff000
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
and eax, 0xfffff000
mov ecx, dword [esp + 0xc]
add ecx, 0x954
mov dword [0x1003062c], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cmp word [eax], 0x5a4d
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ecx
je 0x100042e0
jmp 0x10004304
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xc]
add ecx, 0xffffe1fb
mov dword [0x10030628], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + ecx + 0x50]
mov dword [esp + 0x44], edx
call fcn.1000441a
xor ecx, ecx
cmp eax, 0
mov dword [esp + 8], ecx
jne 0x100043b5
lea eax, [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.1000549d
mov dword [0x1003062c], 0xe4a
mov ecx, esp
lea edx, [esp + 0x40]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, 2
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov esp, ebp
pop ebp
ret
Function at 0x1000441a
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
mov eax, dword fs:[0x30]
mov dword [ebp - 4], eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], ecx
jmp 0x1000449e
mov eax, dword [ebp - 0x14]
add esp, 0x24
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x10004446
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
cmp word [eax + ecx*2 - 0x14], 0x64
je 0x100044f5
jmp 0x1000444e
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff8
shl eax, 1
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0x6c
je 0x1000450d
jmp 0x1000444e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
cmp word [eax + ecx*2 - 0x16], 0x61
je 0x10004455
jmp 0x1000444e
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
cmp word [ecx + eax*2], 0
mov edx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
je 0x100044cb
mov eax, dword [ebp - 0x20]
add eax, 1
cmp eax, 0x104
mov ecx, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
jl 0x1000449e
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
cmp word [ecx + eax*2 - 0x1a], 0x6c
mov dword [ebp - 0x18], eax
jne 0x1000444e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
cmp word [eax + ecx*2 - 0x18], 0x6f
je 0x1000448d
jmp 0x1000444e
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
cmp word [eax + ecx*2 - 0x12], 0x64
je 0x1000446a
jmp 0x1000444e
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
cmp word [ecx + edx*2 - 0xe], 0x6c
mov dword [ebp - 0x14], eax
je 0x10004446
jmp 0x1000444e
Function at 0x10004ac6
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov dword [0x10030634], 0
mov edi, dword [0x10030628]
add edi, 0xac6
mov dword [0x10030628], edi
mov byte [0x10030638], 0
mov edi, dword [0x1003062c]
add edi, 0x899
mov dword [0x1003062c], edi
mov dword [0x10030630], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], esi
jmp 0x10004b4a
xor eax, eax
mov ecx, 0x117c
mov dword [0x10030628], 0x117c
mov dword [0x10030630], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
jmp 0x10004b7c
mov eax, dword [ebp - 0x1c]
mov ecx, eax
mov dl, cl
mov ecx, dword [ebp - 0x18]
mov byte [ecx + eax], dl
mov dword [0x1003062c], 0x21f
mov eax, dword [0x10030630]
add eax, 1
mov dword [0x10030630], eax
cmp eax, 0x100
mov dword [ebp - 0x1c], eax
jl 0x10004b4a
jmp 0x10004b27
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, 0x100
add eax, 0xfffff2bb
mov dword [0x1003062c], eax
mov eax, dword [0x10030634]
mov esi, dword [ebp - 0x18]
movzx edi, byte [esi + ecx]
add edi, eax
mov eax, ecx
xor ebx, ebx
mov dword [ebp - 0x28], edx
mov edx, ebx
mov ebx, dword [ebp - 0x10]
div ebx
mov esi, dword [ebp - 0x14]
movzx edx, byte [esi + edx]
add edi, edx
mov eax, edi
cdq
mov edi, dword [ebp - 0x28]
idiv edi
mov dword [0x10030634], edx
mov esi, dword [ebp - 0x18]
mov bl, byte [esi + ecx]
mov byte [0x10030638], bl
mov dword [0x1003062c], 0x19c9
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
mov bl, byte [0x10030638]
mov ecx, dword [0x10030634]
mov byte [esi + ecx], bl
mov dword [0x1003062c], 0x237e
mov ecx, dword [0x10030630]
add ecx, 1
mov dword [0x10030630], ecx
cmp ecx, 0x100
mov dword [ebp - 0x2c], ecx
jge 0x10004c2f
mov eax, dword [0x10030628]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
jmp 0x10004b7c
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10004c4e
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, 0xfffff7ea
xor ebx, ebx
mov dword [0x10030630], 0
mov dword [0x10030634], 0
mov dword [0x1003063c], 0
mov dword [0x10030628], 0x1640
cmp eax, 0
mov dword [ebp - 0x10], eax
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], edi
je 0x10004dc1
jmp 0x10004cd2
mov eax, dword [0x10030634]
mov ecx, dword [0x10030630]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov esi, 0x100
add ecx, 1
mov dword [ebp - 0x34], eax
mov eax, ecx
mov dword [ebp - 0x38], edx
cdq
idiv esi
mov dword [0x10030630], edx
mov ecx, dword [ebp - 0x24]
movzx edi, byte [ecx + edx]
mov ebx, dword [ebp - 0x38]
add edi, ebx
mov eax, edi
mov dword [ebp - 0x3c], edx
cdq
idiv esi
mov dword [0x10030634], edx
mov esi, dword [ebp - 0x3c]
mov cl, byte [ecx + esi]
mov byte [0x10030638], cl
mov edi, dword [0x1003062c]
add edi, 0xfffff1b0
mov dword [0x1003062c], edi
mov edi, dword [ebp - 0x24]
mov cl, byte [edi + edx]
mov byte [edi + esi], cl
mov cl, byte [0x10030638]
mov edx, dword [0x10030634]
mov byte [edi + edx], cl
mov edx, dword [0x10030630]
movzx edx, byte [edi + edx]
mov ebx, dword [0x10030634]
movzx ebx, byte [edi + ebx]
add ebx, edx
mov dword [0x1003062c], 0x494
and ebx, 0xff
mov dword [0x1003063c], ebx
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
mov cl, byte [edx + ecx]
xor cl, byte [edi + ebx]
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov byte [ebx + edx], cl
mov ecx, dword [0x10030628]
mov edx, ecx
add edx, 0x126e
mov dword [0x10030628], edx
mov edx, dword [ebp - 0x34]
add edx, 1
mov esi, dword [ebp - 0x10]
cmp edx, esi
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x30], edx
jne 0x10004cbb
mov eax, dword [ebp - 0x40]
add eax, 0xfffff418
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [0x1003062c], eax
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10004f3b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [ebp + 8]
mov dword [0x10030628], 0xf07
mov dword [ebp - 0x10], eax
call fcn.10004dd1
xor ecx, ecx
mov edx, eax
mov esi, dword [eax + 0x3c]
mov edi, edx
add edi, esi
mov esi, dword [eax + esi]
cmp esi, 0x4550
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edi
je 0x10004f81
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [0x10030628], 0x1d5b
mov eax, dword [eax + 0x78]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + eax + 0x20]
mov esi, dword [edx + eax + 0x18]
cmp esi, 0
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], edi
je 0x100050aa
jmp 0x10004fe7
mov eax, dword [ebp - 0x34]
mov ecx, eax
mov edx, dword [ebp - 0x38]
add ecx, edx
mov esi, dword [ebp - 0x1c]
mov bl, byte [esi + ecx]
mov ecx, dword [ebp - 0x10]
mov bh, byte [ecx + eax]
cmp bl, bh
sete cl
cmp bl, 0
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x3d], bh
mov byte [ebp - 0x3e], cl
je 0x1000504e
jmp 0x10005015
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
add ecx, dword [ecx + edx + 0x24]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov esi, dword [ebp - 0x28]
mov edi, dword [esi + ecx*4]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edx
jmp 0x10004fbc
mov eax, dword [ebp - 0x3c]
add eax, 1
mov cl, byte [ebp - 0x3d]
cmp cl, 0
setne dl
mov ch, byte [ebp - 0x3e]
and ch, dl
cmp eax, 0x20
setb dl
and ch, dl
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x55], ch
mov al, byte [ebp - 0x55]
test al, 1
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x34], ecx
jne 0x10004fbc
jmp 0x1000504e
mov al, byte [ebp - 0x3e]
test al, 1
jne 0x10005081
jmp 0x10005057
xor eax, eax
mov ecx, dword [ebp - 0x4c]
add ecx, 2
mov edx, dword [ebp - 0x50]
add edx, 1
mov esi, dword [ebp - 0x2c]
cmp edx, esi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x30], eax
jb 0x10004ff9
jmp 0x100050aa
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
add edx, dword [edx + esi + 0x1c]
mov edi, dword [ebp - 0x1c]
add edi, dword [edx + ecx*4]
mov dword [ebp - 0x5c], edi
mov dword [0x10030628], 0x249e
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x1000549d
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [0x10030628], 0x24bc
mov esi, dword [0x1003062c]
add esi, 0xfffff2ac
mov dword [0x1003062c], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], edx
jmp 0x100054ed
mov dword [0x10030628], 0x1327
mov eax, dword [ebp - 0x34]
add eax, 0x180e
mov dword [ebp - 0x38], eax
jmp 0x100055db
mov eax, dword [ebp - 0x30]
mov cl, byte [eax + 0x1000693c]
mov dl, byte [eax + 0x1000690d]
sub dl, cl
mov byte [ebp + eax - 0x24], dl
add eax, 1
cmp eax, 0xe
mov dword [ebp - 0x30], eax
jne 0x100054ed
lea eax, [ebp - 0x24]
mov dword [0x10030628], 0x380
mov dword [0x1003062c], 0xffffeaa5
mov dword [ebp - 0x3c], eax
call fcn.100051db
mov dword [esp], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
call fcn.10005300
xor ecx, ecx
cmp eax, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ecx
je 0x100055db
mov eax, dword [ebp - 0x40]
mov dword [0x10030628], 0x761
mov ecx, esp
mov dword [ecx + 0xc], 0x40
mov dword [ecx + 8], 0x1000
mov dword [ecx + 4], 0x6000
mov dword [ecx], 0
call eax
sub esp, 0x10
mov dword [esp], eax
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], ecx
mov dword [ebp - 0x34], eax
call fcn.100047cb
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov word [ecx], 0x5a4d
mov dword [ecx + 0x3c], 0xd0
mov dword [ecx + 0xd0], 0x4550
add ecx, 0xffc00000
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x10], ecx
mov dword [0x10030628], 0x1e36
mov ecx, dword [ebp - 0x34]
mov dword [edx + 0x38], ecx
cmp ecx, 0
mov dword [ebp - 0x38], eax
jne 0x100054d3
mov eax, dword [ebp - 0x38]
add esp, 0x4c
pop esi
pop ebp
ret
Function at 0x10005613
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x168
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [0x10030628], 0xec4
mov edx, ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x138], ecx
jmp 0x10005672
mov eax, dword [ebp - 0x13c]
mov cl, byte [eax + 0x1000693c]
mov dl, byte [eax + 0x1000690d]
sub dl, cl
mov byte [ebp + eax - 0x2c], dl
add eax, 1
cmp eax, 0xe
mov dword [ebp - 0x13c], eax
je 0x100056e6
jmp 0x10005644
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
lea edx, section..data
mov esi, ecx
add esi, 1
imul edi, ecx, 0x134
mov ebx, edx
add ebx, edi
add ebx, 0x12c
imul ecx, ecx, 0x134
add edx, ecx
add edx, 0x130
mov ecx, dword [edx]
movzx edx, word [ebx]
xor edx, ecx
add edx, eax
cmp esi, 0x219
mov eax, edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x138], eax
jne 0x10005672
xor eax, eax
mov dword [0x1003062c], 0x1562
mov dword [ebp - 0x13c], eax
jmp 0x10005644
lea eax, [ebp - 0x2c]
mov dword [0x10030628], 0xdb0
mov dword [0x1003062c], 0xffffeaa5
mov dword [ebp - 0x144], eax
call fcn.100051db
mov dword [esp], eax
mov eax, dword [ebp - 0x144]
mov dword [esp + 4], eax
call fcn.10005300
mov ecx, eax
mov dword [0x10030640], eax
mov eax, esp
mov edx, dword [ebp - 0x140]
mov dword [eax + 4], edx
mov dword [eax + 0xc], 4
mov dword [eax + 8], 0x1000
mov dword [eax], 0
call ecx
sub esp, 0x10
xor ecx, ecx
mov edx, dword [0x10030628]
add edx, 0x1adc
mov dword [0x1003062c], edx
mov edx, ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x150], ecx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
lea edx, section..data
imul esi, eax, 0x134
mov edi, edx
add edi, esi
add edi, 0x130
mov esi, dword [edi]
imul edi, eax, 0x134
mov ebx, edx
add ebx, edi
add ebx, 0x44
mov edi, dword [ebx]
imul ebx, eax, 0x134
add edx, ebx
add edx, 0x12c
movzx edx, word [edx]
xor edx, esi
mov esi, dword [ebp - 0x148]
add esi, ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x15c], edx
call fcn.10004a03
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x158]
add eax, ecx
mov edx, dword [ebp - 0x154]
add edx, 1
cmp edx, 0x219
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x150], edx
jne 0x1000576d
lea eax, [0x1000691b]
mov ecx, 0x20
lea edx, [ebp - 0x12c]
mov dword [0x10030628], 0x1f64
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x164], ecx
call fcn.10004ac6
mov eax, dword [ebp - 0x160]
mov dword [esp], eax
mov ecx, dword [ebp - 0x148]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov edx, dword [ebp - 0x140]
mov dword [esp + 0xc], edx
call fcn.10004c4e
xor eax, eax
mov ecx, dword [ebp - 0x148]
add ecx, 0x114eda
mov edx, dword [ebp - 0x130]
mov dword [edx], ecx
mov dword [edx + 4], 0x12f200
mov ecx, dword [ebp - 0x148]
add ecx, 0x93869
mov dword [edx + 8], ecx
mov dword [edx + 0xc], 0x1fe0
add esp, 0x168
pop esi
pop edi
pop ebx
pop ebp
ret