joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1002fdc0
Capabilities:
Hash data using crc32b

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 4], 0x4c11db7
mov dword [ebp - 8], 0
jmp 0x1002fddf
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xff
jg 0x1002fe74
push 8
mov ecx, dword [ebp - 8]
push ecx
call fcn.1002fd60
add esp, 8
shl eax, 0x18
mov edx, dword [ebp - 8]
mov dword [edx*4 + 0x10054b10], eax
mov dword [ebp - 0xc], 0
jmp 0x1002fe19
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 8
jge 0x1002fe50
mov ecx, dword [ebp - 8]
mov edx, dword [ecx*4 + 0x10054b10]
shl edx, 1
mov eax, dword [ebp - 8]
mov ecx, dword [eax*4 + 0x10054b10]
and ecx, 0x80000000
neg ecx
sbb ecx, ecx
and ecx, dword [ebp - 4]
xor edx, ecx
mov eax, dword [ebp - 8]
mov dword [eax*4 + 0x10054b10], edx
jmp 0x1002fe10
push 0x20
mov ecx, dword [ebp - 8]
mov edx, dword [ecx*4 + 0x10054b10]
push edx
call fcn.1002fd60
add esp, 8
mov ecx, dword [ebp - 8]
mov dword [ecx*4 + 0x10054b10], eax
jmp 0x1002fdd6
mov esp, ebp
pop ebp
ret

Function at 0x100318d8
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x10053280]
jne 0x100318e2
repz ret
jmp fcn.1003517c

Function at 0x1003ac52
Capabilities:
Contain obfuscated stackstrings

Disassembly:
inc dword [eax]
mov byte [ebp - 0x6b6], 0x9b
and byte [ebp - 0x6b5], 0
mov byte [ebp - 0x6b4], 0x33
mov byte [ebp - 0x6b3], 0x16
mov byte [ebp - 0x6b2], 0xd
mov byte [ebp - 0x6b1], 0x10
mov byte [ebp - 0x6b0], 1
mov byte [ebp - 0x6af], 0x34
mov byte [ebp - 0x6ae], 0x16
mov byte [ebp - 0x6ad], 0xb
mov byte [ebp - 0x6ac], 7
mov byte [ebp - 0x6ab], 1
mov byte [ebp - 0x6aa], 0x17
mov byte [ebp - 0x6a9], 0x17
mov byte [ebp - 0x6a8], 0x29
mov byte [ebp - 0x6a7], 1
mov byte [ebp - 0x6a6], 9
mov byte [ebp - 0x6a5], 0xb
mov byte [ebp - 0x6a4], 0x16
mov byte [ebp - 0x6a3], 0x1d
invalid
Function at 0x1003b397
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push edx
wait
fnstcw word [esp]
je 0x10033773
cmp word [esp], 0x27f
je 0x1003372d
fldcw word [0x100496a8]
fptan
wait
fnstsw ax
sahf
jp 0x10033754
fstp st(0)
cmp dword [0x10054f40], 0
jne 0x1003b28e
mov edx, 0x20
lea ecx, [0x100532f0]
jmp 0x1003b29b
fld xword [0x100496aa]
fxch st(1)
fprem1
wait
fnstsw ax
sahf
jp 0x1003375c
fstp st(1)
fptan
fstp st(0)
jmp 0x10033737
call fcn.1003b21c
jmp 0x1003378e
test eax, 0xfffff
jne 0x1003376c
cmp dword [esp + 8], 0
jne 0x1003376c
fstp st(0)
fld xword [0x10053ea0]
mov eax, 1
cmp dword [0x10054f40], 0
jne 0x1003b28e
mov edx, 0x20
lea ecx, [0x100532f0]
call 0x1003b397
pop edx
ret
mov byte [ebp - 0x6d5], 0xb7
mov byte [ebp - 0x6d4], 0x95
xchg ebp, eax
mov byte [ebp - 0x6d3], 0xba
mov byte [ebp - 0x6d2], 0xbf
mov byte [ebp - 0x6d1], 0xb6
mov byte [ebp - 0x6d0], 0xd3
call fcn.10039f48
pop esi
xchg ecx, eax
lodsb al, byte [esi]
pop ds
lea eax, [ebp - 0x6dc]
push eax
call fcn.10039f58
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.10039f0d
add esp, 0xc
mov dword [ebp - 0x6c8], eax
push 0
lea eax, [ebp - 0x6e0]
push eax
push dword [ebp - 0x378]
push dword [ebp - 4]
push dword [ebp - 0x66c]
call dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], eax
push dword [ebp - 0x66c]
call dword [ebp - 0x680]
cmp dword [ebp - 0x6cc], 0
je 0x1003c0db
push 5
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 4]
lea eax, [ecx + eax - 0x1d]
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.10039eb9
add esp, 0xc
and dword [ebp - 0x700], 0
jmp 0x1003b355
mov eax, dword [ebp - 0x700]
inc eax
mov dword [ebp - 0x700], eax
cmp dword [ebp - 0x700], 5
jge 0x1003b39e
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
movsx ecx, byte [ebp - 0x24]
xor eax, ecx
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
mov eax, dword [ebp - 0x700]
movsx eax, byte [ebp + eax - 0x394]
not eax
mov ecx, dword [ebp - 0x700]
mov byte [ebp + ecx - 0x394], al
jmp 0x1003b348
call fcn.10039f48
xchg esi, eax
sub dword [ebx + eax*2], ecx
and byte [ebp - 0x72c], 0
and byte [ebp - 0x72b], 0
mov byte [ebp - 0x72a], 0xc2
and byte [ebp - 0x729], 0
mov byte [ebp - 0x728], 0x6b
mov byte [ebp - 0x727], 0x54
mov byte [ebp - 0x726], 0x4f
mov byte [ebp - 0x725], 0x49
mov byte [ebp - 0x724], 0x48
mov byte [ebp - 0x723], 0x5c
mov byte [ebp - 0x722], 0x51
mov byte [ebp - 0x721], 0x6d
mov byte [ebp - 0x720], 0x4f
mov byte [ebp - 0x71f], 0x52
mov byte [ebp - 0x71e], 0x49
mov byte [ebp - 0x71d], 0x58
mov byte [ebp - 0x71c], 0x5e
mov byte [ebp - 0x71b], 0x49
mov byte [ebp - 0x71a], 0x3d
call fcn.10039f48
mov ebp, 0x8d348074
test esp, edx
clc
invalid
pop edi
pop esi
pop ebx
leave
ret
Function at 0x1003c385
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.10033c46
and dword [ebp - 4], 0
cmp dword [0x10055914], 0
mov ebx, eax
jne 0x1003c436
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x1003c4e7
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1004d5d0
push edi
call esi
test eax, eax
je 0x1003c4e7
push eax
call fcn.10033bd4
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x10055914], eax
call esi
push eax
call fcn.10033bd4
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x10055918], eax
call esi
push eax
call fcn.10033bd4
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x1005591c], eax
call esi
push eax
call fcn.10033bd4
pop ecx
mov dword [0x10055924], eax
test eax, eax
je 0x1003c436
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.10033bd4
pop ecx
mov dword [0x10055920], eax
mov eax, dword [0x10055920]
cmp eax, ebx
je 0x1003c48e
cmp dword [0x10055924], ebx
je 0x1003c48e
push eax
call fcn.10033c4f
push dword [0x10055924]
mov esi, eax
call fcn.10033c4f
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x1003c48e
test edi, edi
je 0x1003c48e
call esi
test eax, eax
je 0x1003c485
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x1003c485
test byte [ebp - 0xc], 1
jne 0x1003c48e
or dword [ebp + 0x10], 0x200000
jmp 0x1003c4c7
mov eax, dword [0x10055918]
cmp eax, ebx
je 0x1003c4c7
push eax
call fcn.10033c4f
pop ecx
test eax, eax
je 0x1003c4c7
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x1003c4c7
mov eax, dword [0x1005591c]
cmp eax, ebx
je 0x1003c4c7
push eax
call fcn.10033c4f
pop ecx
test eax, eax
je 0x1003c4c7
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x10055914]
call fcn.10033c4f
pop ecx
test eax, eax
je 0x1003c4e7
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x1003c4e9
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x4095f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push eax
push ecx
nop
push edx
push ebx
push esp
push ebp
push esi
push edi
push ebp
mov ebp, esp
sub esp, 0x64
push ebx

Function at 0x409600
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push esi
push edi
mov edi, 7
mov dword [ebp - 0xc], 0xa
mov esi, 0xe
mov dword [ebp - 8], 9
mov eax, esi
add eax, dword [ebp - 8]
sub eax, 0x17
mov dword [ebp - 0x24], eax
and dword [ebp - 0x28], 0
jmp 0x409695
add dword [ebp - 0x28], 0x4f5f
mov dword [ebp - 0x20], 0xfdb91d7f
mov dword [ebp - 0x24], 0x5f61
jmp 0x40969e
dec dword [ebp - 0x20]
mov eax, dword [ebp - 8]
sub eax, 9
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], 0x490000
mov dword [ebp - 0x2c], 0x46c6c0
mov eax, edi
add eax, esi
sub eax, 0x12
mov dword [ebp - 0x10], eax
jmp 0x40967c
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x28]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x20]
xor edx, ecx
mov byte [eax], dl
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jb 0x409668
jmp 0x4096ea
mov eax, dword [ebp - 8]
add eax, esi
sub eax, 0x14
cmp eax, dword [ebp - 0x44]
jbe 0x4096a7
jmp 0x40964e
mov dword [ebp - 0x28], 0x467361
jmp 0x40962b
add dword [ebp - 0x24], 0x1da9f
jmp 0x409642
mov eax, esi
inc dword [ebp - 0x44]
jmp 0x409809
mov eax, esi
add eax, dword [ebp - 0xc]
sub eax, 0x16
cmp eax, dword [ebp - 0x44]
jne 0x409686
inc dword [ebp - 0x20]
jmp 0x409686

Function at 0x409984
Capabilities:
Parse pe header

Disassembly:
push 0xc
push 0x40f110
call fcn.00409cd8
xor ecx, ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x4099e4
cmp eax, 0xffffffff
je 0x4099e4
mov dword [ebp - 4], ecx
mov edx, 0x5a4d
cmp word [eax], dx
jne 0x4099dd
mov edx, dword [eax + 0x3c]
test edx, edx
js 0x4099dd
cmp edx, 0x10000000
jae 0x4099dd
add eax, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
sub ecx, 0x4550
neg ecx
sbb ecx, ecx
not ecx
and ecx, eax
jmp 0x4099da
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xfffffffe
mov eax, ecx
call fcn.00409d1d
ret 4

Function at 0x409a40
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x409a7e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x409a76
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x409a80
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x409a66
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x409b50
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
je 0x409b66
xor eax, eax
pop ebp
ret
mov ecx, dword [eax + 0x3c]
add ecx, eax
xor eax, eax
cmp dword [ecx], 0x4550
jne 0x409b81
mov edx, 0x10b
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
Function at 0x40c453
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [0x4108fc]
push edi
mov edi, edx
test edi, edi
je 0x40c4a2
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x40c4a1
and dword [ebp - 4], 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileType]
and eax, 0xffff7fff
cmp eax, 2
lea eax, [ebp - 4]
push 0
push eax
jne 0x40c495
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteConsoleW]
jmp 0x40c4a1
lea eax, [esi + esi]
push eax
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x40ce10
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x410344]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
cmp ax, word [0x4108f8]
jne 0x40ceac
push edi
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], 6
push eax
push 1
xor edi, edi
push edi
push 0x403ee0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40ceab
push esi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push edi
push edi
push 0x403f98
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x10]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
pop esi
jne 0x40ceab
push 3
push dword [edi*8 + 0x401248]
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x40ce9d
inc edi
cmp edi, 0x1c
jb 0x40ce7b
jmp 0x40ceab
mov ax, word [edi*8 + 0x40124c]
mov word [0x4108f8], ax
pop edi
mov ecx, dword [ebp - 4]
mov ax, word [0x4108f8]
xor ecx, ebp
call fcn.00409600
mov esp, ebp
pop ebp
ret

Function at 0x46c6dc
Capabilities:
Encode data using xor

Disassembly:
jg 0x46c6d1
jg 0x46c6d3
jg 0x46c6d5
jg 0x46c6d7
jg 0x46c6d9
jg 0x46c6db
jg 0x46c6dd
jg 0x46c6df
jg 0x46c6e1
jg 0x46c6e3
jg 0x46c6e5
jg 0x46c6e7
jg 0x46c6e9
jg 0x46c6eb
jg 0x46c6ed
jg 0x46c6ef
jg 0x46c6f1
jg 0x46c6f3
jg 0x46c6f5
jg 0x46c6f7
jg 0x46c6f9
jg 0x46c6fb
jg 0x46c6fd
jg 0x46c6ff
jg 0x46c701
jg 0x46c703
jg 0x46c705
jg 0x46c707
jg 0x46c709
jg 0x46c70b
jg 0x46c70d
lodsd eax, dword [esi]
adc bh, ah
fldcw word [edx + 0x42]
inc edx
salc
mov ebx, 0x6a4ecf54
push 0x3a
cmp dh, byte [ecx]
xor dword [eax + 0x3542297f], edi
mov eax, 0x3542297f
jg 0x46c718
inc edx
xor eax, 0x4426b27f
jg 0x46c6a5
fidivr word [edi - 0x59]
cmpsd dword [esi], dword es:[edi]
and dword [ebx + 0x2d], edx
mov bl, 0xf
Function at 0x402522
Capabilities:
Terminate process

Disassembly:
jmp 0x43e539
push 0x17
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x43e54a
push 5
pop ecx
int 0x29
push esi
push 1
mov esi, 0xc0000417
push esi
push 2
call fcn.004038be
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
pop esi
ret

Function at 0x4025b3
Capabilities:
Query environment variable

Disassembly:
jmp 0x441a99
mov edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
jne 0x441aaa
pop esi
ret
push ebx
push edi
push esi
call fcn.00441980
mov ebx, eax
sub ebx, esi
and ebx, 0xfffffffe
push ebx
call fcn.00402aa9
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x441ad2
push ebx
push esi
push edi
call fcn.0040378d
add esp, 0xc
push 0
call fcn.00403da0
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, edi
pop edi
pop ebx
pop esi
ret

Function at 0x4037fb
Capabilities:
Parse pe header

Disassembly:
jmp 0x40835b
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x40839a
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x40839a
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x40839a
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x40839a
cmp dword [ecx + 0x74], 0xe
jbe 0x40839a
cmp dword [ecx + 0xe8], 0
setne al
ret
xor al, al
ret
Function at 0x43f893
Capabilities:
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x4730c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x25c], ecx
cmp edx, edi
je 0x43f8de
movzx eax, word [edx]
lea ecx, [ebp - 0x255]
push eax
call fcn.0043fe55
test al, al
jne 0x43f8d8
sub edx, 2
cmp edx, edi
jne 0x43f8be
mov ecx, dword [ebp - 0x25c]
movzx esi, word [edx]
cmp esi, 0x3a
jne 0x43f900
lea eax, [edi + 2]
cmp edx, eax
je 0x43f900
push ecx
xor ebx, ebx
push ebx
push ebx
push edi
call fcn.0043f48c
add esp, 0x10
jmp 0x43f9fa
push esi
lea ecx, [ebp - 0x255]
call fcn.0043fe55
sub edx, edi
movzx eax, al
sar edx, 1
inc edx
neg eax
sbb eax, eax
xor ebx, ebx
push ebx
push ebx
and eax, edx
push ebx
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x254]
push eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x43f943
push dword [ebp - 0x25c]
jmp 0x43f8f0
mov ebx, dword [ebp - 0x25c]
push 0x2e
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 2
mov dword [ebp - 0x25c], eax
pop eax
cmp word [ebp - 0x228], ax
jne 0x43f980
cmp word [ebp - 0x226], 0
je 0x43f9a1
cmp word [ebp - 0x226], ax
jne 0x43f980
cmp word [ebp - 0x224], 0
je 0x43f9a1
push ebx
push dword [ebp - 0x260]
lea eax, [ebp - 0x228]
push edi
push eax
call fcn.0043f48c
add esp, 0x10
mov dword [ebp - 0x264], eax
test eax, eax
jne 0x43f9ed
lea eax, [ebp - 0x254]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
push 0x2e
test eax, eax
pop eax
jne 0x43f95a
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
sub eax, edx
mov ecx, dword [ebp - 0x25c]
sar eax, 2
cmp ecx, eax
jne 0x43f9d5
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x43f9fa
push 0x43ed72
sub eax, ecx
push 4
push eax
lea eax, [edx + ecx*4]
push eax
call fcn.00403698
add esp, 0x10
jmp 0x43f9ca
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040221b
leave
ret
Function at 0x457b6b
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, eax
push ebx
mov ebx, dword [ebp + 0xc]
and eax, 0x3f
sar ecx, 6
push esi
push edi
imul edi, eax, 0x38
mov eax, dword [ecx*4 + 0x475248]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + edi + 0x18]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x457bab
cmp byte [ebx], 0xa
jne 0x457bab
or byte [eax + edi + 0x28], 4
jmp 0x457bb0
and byte [eax + edi + 0x28], 0xfb
add ecx, ebx
mov edx, ebx
mov dword [ebp - 0xc], ecx
mov esi, ebx
cmp ebx, ecx
jae 0x457cae
mov al, byte [edx]
cmp al, 0x1a
je 0x457c90
lea ecx, [edx + 1]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
cmp al, 0xd
je 0x457bdf
mov edx, dword [ebp - 8]
mov byte [esi], al
jmp 0x457c04
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x457c0e
mov cl, byte [eax]
xor eax, eax
cmp cl, 0xa
sete al
inc eax
add edx, eax
cmp cl, 0xa
sete al
dec al
and al, 3
add al, 0xa
mov byte [esi], al
mov ecx, dword [ebp - 0xc]
inc esi
cmp edx, ecx
jb 0x457bc1
jmp 0x457cae
push 0
lea eax, [ebp - 0xc]
push eax
push 1
lea eax, [ebp - 1]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x457c8b
cmp dword [ebp - 0xc], 0
je 0x457c8b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx*4 + 0x475248]
test byte [eax + edi + 0x28], 0x48
je 0x457c65
mov dl, byte [ebp - 1]
lea eax, [esi + 1]
mov dword [ebp - 0x14], eax
cmp dl, 0xa
jne 0x457c50
mov byte [esi], dl
jmp 0x457c61
mov byte [esi], 0xd
mov eax, dword [ecx*4 + 0x475248]
mov byte [eax + edi + 0x2a], dl
mov eax, dword [ebp - 0x14]
mov esi, eax
jmp 0x457cae
cmp byte [ebp - 1], 0xa
jne 0x457c74
cmp esi, ebx
jne 0x457c74
mov byte [esi], 0xa
jmp 0x457cad
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.00401500
add esp, 0x10
cmp byte [ebp - 1], 0xa
je 0x457cae
mov byte [esi], 0xd
jmp 0x457cad
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx*4 + 0x475248]
mov al, byte [ecx + edi + 0x28]
test al, 0x40
jne 0x457caa
or al, 2
mov byte [ecx + edi + 0x28], al
jmp 0x457cae
mov byte [esi], 0x1a
inc esi
sub esi, ebx
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret
Function at 0x457d0a
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, eax
and eax, 0x3f
sar ebx, 6
push edi
imul edi, eax, 0x38
push 0xa
mov eax, dword [ebx*4 + 0x475248]
pop edx
mov dword [ebp - 0x14], edx
mov ecx, dword [edi + eax + 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x457d4d
cmp word [esi], dx
jne 0x457d4d
or byte [edi + eax + 0x28], 4
jmp 0x457d52
and byte [edi + eax + 0x28], 0xfb
lea edx, [esi + ecx*2]
mov eax, esi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
cmp eax, edx
jae 0x457e8b
mov dword [ebp - 0xc], 0xd
movzx ecx, word [eax]
mov edx, ecx
mov dword [ebp - 0x10], edx
push 0x1a
pop edx
cmp cx, dx
mov edx, dword [ebp - 8]
je 0x457e6b
add eax, 2
cmp cx, word [ebp - 0xc]
je 0x457d94
mov dword [ebp - 4], eax
mov word [esi], cx
jmp 0x457dca
cmp eax, edx
jae 0x457dd6
movzx eax, word [eax]
xor ecx, ecx
cmp ax, word [ebp - 0x14]
mov edx, eax
push 0xa
sete cl
xor eax, eax
lea ecx, [ecx*2 + 2]
add dword [ebp - 4], ecx
pop ecx
cmp dx, cx
mov edx, dword [ebp - 8]
sete al
dec eax
and eax, 3
add eax, ecx
mov word [esi], ax
mov eax, dword [ebp - 4]
add esi, 2
cmp eax, edx
jb 0x457d6c
jmp 0x457e8b
push 0
lea eax, [ebp - 0x14]
push eax
push 2
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x457e67
cmp dword [ebp - 0x14], 0
je 0x457e67
mov eax, dword [ebx*4 + 0x475248]
push 0xa
test byte [edi + eax + 0x28], 0x48
je 0x457e3f
mov cx, word [ebp - 4]
pop eax
cmp cx, ax
je 0x457e85
push 0xd
pop eax
mov word [esi], ax
mov eax, dword [ebx*4 + 0x475248]
push 0xa
mov byte [edi + eax + 0x2a], cl
mov eax, dword [ebx*4 + 0x475248]
shr cx, 8
mov byte [edi + eax + 0x2b], cl
mov eax, dword [ebx*4 + 0x475248]
pop ecx
mov byte [edi + eax + 0x2c], cl
jmp 0x457e88
pop ebx
cmp word [ebp - 4], bx
jne 0x457e50
cmp esi, dword [ebp + 0xc]
jne 0x457e50
mov word [esi], bx
jmp 0x457e88
push 1
push 0xffffffffffffffff
push 0xfffffffffffffffe
push dword [ebp + 8]
call fcn.00401500
add esp, 0x10
cmp word [ebp - 4], bx
je 0x457e8b
push 0xd
jmp 0x457e84
mov ecx, dword [ebx*4 + 0x475248]
mov al, byte [ecx + edi + 0x28]
test al, 0x40
jne 0x457e82
or al, 2
mov byte [ecx + edi + 0x28], al
jmp 0x457e8b
push 0x1a
pop eax
mov word [esi], ax
add esi, 2
sub esi, dword [ebp + 0xc]
and esi, 0xfffffffe
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret
Function at 0x100023dc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
pushal
call 0x100023eb
pop dword [ebp - 0x3c]
mov eax, 0xf199c810
sub eax, 0xe199a425
sub dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], 0xe8086635
add dword [ebp - 0x4c], 0x6649df16
mov dword [ebp - 0x48], 0xce49a027
add dword [ebp - 0x48], 0x63e9ac1e
mov dword [ebp - 0x44], 0x9d616847
add dword [ebp - 0x44], 0xaeeadbe7
mov dword [ebp - 0x40], 0xfe13d5bf
sub dword [ebp - 0x40], 0xfe13d5bf
lea eax, [ebp - 0x4c]
push eax
mov eax, 0x701bc9ce
add eax, 0x9fe4d636
add eax, dword [ebp - 0x3c]
call dword [eax]
mov dword [ebp - 0x4c], 0x3eb9203b
add dword [ebp - 0x4c], 0x35b9491b
mov dword [ebp - 0x48], 0x34a83ca6
sub dword [ebp - 0x48], 0xf33bdb31
mov dword [ebp - 0x44], 0x95417910
sub dword [ebp - 0x44], 0x31d20ca4
mov dword [ebp - 0x40], 0xe9e292a1
add dword [ebp - 0x40], 0x161d6d5f
lea ebx, [ebp - 0x4c]
push ebx
push eax
mov eax, 0x8a92a137
add eax, 0x856dfed1
add eax, dword [ebp - 0x3c]
call dword [eax]
push 0x40
push 0x1000
push 0x37857
push 0
call eax
mov ecx, 0xa483504a
add ecx, 0x5b7cfb62
mov esi, eax
mov edi, 0x479753cd
sub edi, 0x37965bcd
add edi, dword [ebp - 0x3c]
mov edx, 0x76fcf14a
sub edx, 0x77e10832
sub dword [ebp - 0x14], ecx
mov ebx, dword [edi]
add dword [ebp - 0x38], 0xdd36b1ef
sub ebx, edx
xor dword [ebp - 0x18], ebx
mov dword [esi], ebx
xor dword [ebp - 0xc], 0x1e5049b4
add esi, 0xd0860efb
sub esi, 0xd0860ef7
add edi, 0x9ae87ebe
sub edi, 0x9ae87eba
loop 0x1000250d
add eax, 0xf94cb42
add eax, 0xf06c5641
mov ebx, eax
add eax, 5
mov ecx, 0x10000000
add ecx, dword [ebp - 0x3c]
call ebx
leave
ret