joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000af60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
mov eax, dword [0x1009f040]
xor eax, esp
mov dword [esp + 0x1c], eax
mov dword [esp + 4], 0xe1ffe7ec
xor ecx, ecx
mov word [esp + 8], 0x100
lea eax, [ecx - 0x52]
xor byte [esp + ecx + 4], al
inc ecx
cmp ecx, 4
jb 0x1000af85
mov edx, 0x100ad10d
mov byte [esp + 9], 0
lea ecx, [esp + 4]
call fcn.10025780
mov dword [esp + 0xc], 0xfa90c0e0
xor ecx, ecx
mov dword [esp + 0x10], 0xded7dcdc
mov dword [esp + 0x14], 0xd2dbd6d4
mov word [esp + 0x18], 0x100
lea eax, [ecx - 0x52]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0xc
jb 0x1000afc6
mov edx, 0x100ad10f
mov byte [esp + 0x19], 0
lea ecx, [esp + 0xc]
call fcn.10025780
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret

Function at 0x1000b000
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
mov eax, dword [0x1009f040]
xor eax, esp
mov dword [esp + 0x1c], eax
push ecx
mov dword [esp], 0x3f800000
lea eax, [esp + 0x10]
push str._.3f
push eax
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0xc3480000
push eax
push 0x1012264c
mov edx, 4
mov dword [esp + 0x20], 0x43480000
mov ecx, str.m_fBobHeight
call fcn.10024820
add esp, 0x14
mov dword [esp + 4], 0
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 0x10], 0x91c4cafd
mov dword [esp + 0x14], 0x8594dcc6
mov word [esp + 0x18], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0x52
xor byte [esp + ecx + 0x10], al
inc ecx
cmp ecx, 8
jb 0x1000b080
push 0
lea edx, [esp + 8]
mov byte [esp + 0x1d], 0
lea ecx, [esp + 0x14]
call fcn.100228c0
add esp, 4
test al, al
je 0x1000b0b3
mov dword [0x1012264c], 0
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
Function at 0x1000b0d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004f0f5
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x1009f040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x77
xor edx, edx
nop
mov al, byte [edx + 0x1009a698]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000b11d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1000b100
mov byte [ebp - 0x17], 0
mov edx, 0x100d4224
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.10025780
mov dword [ebp - 0x20], 0x52206f4e
mov dword [ebp - 0x1c], 0x696f6365
mov word [ebp - 0x18], 0x6c
mov edx, 0x100ad114
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.10025780
mov dword [ebp - 0x20], 0x53206f4e
mov dword [ebp - 0x1c], 0x61657270
mov word [ebp - 0x18], 0x64
mov edx, 0x100d4220
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.10025780
mov dword [ebp - 0x20], 0x73727542
mov dword [ebp - 0x1c], 0x6f4d2074
mov word [ebp - 0x18], 0x6564
mov byte [ebp - 0x16], 0
mov edx, 0x100d4225
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.10025780
mov ecx, 0x3b
xor edx, edx
nop
mov al, byte [edx + str.oYQ_O_36c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1000b1dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1000b1c0
mov byte [ebp - 0x15], 0
mov edx, 0x100ad113
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.10025780
mov ecx, 0xe2
xor edx, edx
mov al, byte [edx + 0x1009a6b8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1000b21f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x1000b202
mov byte [ebp - 0x14], 0
mov edx, 0x100d4222
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x20]
call fcn.10025780
mov dword [ebp - 0x20], 0x74736146
mov dword [ebp - 0x1c], 0x6f6f5a20
mov word [ebp - 0x18], 0x6d
mov edx, 0x100d4221
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x20]
call fcn.10025780
mov ecx, 0xe1
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x1009a6c8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1000b28d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x14
jl 0x1000b270
mov byte [ebp - 0x14], 0
mov edx, 0x1012247c
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.10025780
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
Function at 0x1000eed0
Capabilities:
Create thread
Get disk information
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004f41e
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x1009f040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 0xc], 1
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48], 0
jne 0x1000f034
push 0x1009a0a2
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call fcn.1000f6c0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x44]
mov dword [ebp - 0x48], 1
push eax
push 0
push 0
push 0x1009a590
mov dword [ebp - 0x44], 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
call fcn.1000f9a0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x48], 3
cmp ecx, 0xf
jbe 0x1000ef92
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000ef88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000ef88
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004d2c3
add esp, 8
movups xmm0, xmmword [ebp - 0x40]
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [ebp - 0x30]
push eax
movq qword [ebp - 0x18], xmm0
call fcn.1000f7c0
call fcn.10009180
add esp, 0x18
test al, al
je 0x1000f055
push esi
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
push 0x64
push 0x232
call dword [sym.imp.KERNEL32.dll_Beep]
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x1000ee60
push 0
push 0
call esi
push 0
push 0
push 0
push 0x10001770
push 0
push 0
call esi
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x1000f034
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000f02a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000f02a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004d2c3
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004d170
mov esp, ebp
pop ebp
ret 0xc
movaps xmm0, xmmword [0x1009be80]
lea ecx, [ebp - 0x3c]
push 0x10
push 0x1009a0a2
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x2c], 0x100
call fcn.1000aac0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x1000f090
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 7], 0
je 0x1000f0b2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 6
jb 0x1000f0a0
mov byte [esi + 7], 0
pop esi
ret

Function at 0x1000f150
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x10], 0
je 0x1000f172
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0xf
jb 0x1000f160
mov byte [esi + 0x10], 0
pop esi
ret
Function at 0x1000f270
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 8], 0
je 0x1000f292
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 7
jb 0x1000f280
mov byte [esi + 8], 0
pop esi
ret

Function at 0x1000f2d0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x15], 0
je 0x1000f2f2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0x14
jb 0x1000f2e0
mov byte [esi + 0x15], 0
pop esi
ret

Function at 0x1000f300
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x13], 0
je 0x1000f322
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0x12
jb 0x1000f310
mov byte [esi + 0x13], 0
pop esi
ret

Function at 0x1000f330
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x12], 0
je 0x1000f352
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0x11
jb 0x1000f340
mov byte [esi + 0x12], 0
pop esi
ret

Function at 0x1000f360
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xf], 0
je 0x1000f382
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0xe
jb 0x1000f370
mov byte [esi + 0xf], 0
pop esi
ret

Function at 0x1000f3b0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xd], 0
je 0x1000f3d2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0xc
jb 0x1000f3c0
mov byte [esi + 0xd], 0
pop esi
ret

Function at 0x1000f3e0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 5], 0
je 0x1000f402
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 4
jb 0x1000f3f0
mov byte [esi + 5], 0
pop esi
ret

Function at 0x1000f430
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xc], 0
je 0x1000f452
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0xb
jb 0x1000f440
mov byte [esi + 0xc], 0
pop esi
ret

Function at 0x1000f460
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x11], 0
je 0x1000f482
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0x10
jb 0x1000f470
mov byte [esi + 0x11], 0
pop esi
ret

Function at 0x1000f490
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xe], 0
je 0x1000f4b2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0xd
jb 0x1000f4a0
mov byte [esi + 0xe], 0
pop esi
ret
Function at 0x1000f4c0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 9], 0
je 0x1000f4e2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 8
jb 0x1000f4d0
mov byte [esi + 9], 0
pop esi
ret

Function at 0x1000f4f0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xb], 0
je 0x1000f512
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 0xa
jb 0x1000f500
mov byte [esi + 0xb], 0
pop esi
ret

Function at 0x1000f5e0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xa], 0
je 0x1000f602
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x52]
inc eax
xor byte [edx], cl
cmp eax, 9
jb 0x1000f5f0
mov byte [esi + 0xa], 0
pop esi
ret
Function at 0x100107b0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x1009f040]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
mov ebx, dword [0x1012266c]
lea eax, [esp + 0x24]
push esi
push edi
push eax
push dword [0x10122684]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
movd xmm1, eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x30]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [esp + 0x20]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebx + 0x10], xmm1
movss dword [ebx + 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edi, dword [esp + 0x20]
mov ecx, edi
sub ecx, dword [0x10122688]
mov esi, dword [esp + 0x24]
mov edx, esi
sbb edx, dword [0x1012268c]
call fcn.1004e4e0
mov edx, dword [0x10122694]
mov ecx, dword [0x10122690]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x10], xmm0
call fcn.1004e4e0
movss xmm1, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
push 0x11
divss xmm1, xmm0
movss dword [ebx + 0x18], xmm1
mov dword [0x1012268c], esi
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [0x10122688], edi
call esi
shr eax, 0xf
and al, 1
push 0x10
mov byte [ebx + 0xf1], al
call esi
shr eax, 0xf
and al, 1
push 0x12
mov byte [ebx + 0xf2], al
call esi
mov ecx, dword [0x1012266c]
shr eax, 0xf
and al, 1
mov byte [ebx + 0xf4], 0
mov byte [ebx + 0xf3], al
cmp byte [ecx + 0x36f], 0
lea esi, [ecx + 0xd8]
je 0x100108ea
cvttss2si eax, dword [esi]
mov dword [esp + 0x10], eax
cvttss2si eax, dword [ecx + 0xdc]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
push eax
push dword [0x10122684]
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [esp + 0x14]
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_SetCursorPos]
mov dword [esi], 0xff7fffff
mov dword [esi + 4], 0xff7fffff
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [0x10122684]
jne 0x10010944
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x10010944
lea eax, [esp + 0x18]
push eax
push dword [0x10122684]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x10010944
movd xmm0, dword [esp + 0x18]
movd xmm1, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [esi], xmm0
movss dword [esi + 4], xmm1
cmp byte [ebx + 0xf0], 0
je 0x10010952
or eax, 0xffffffff
jmp 0x1001095d
mov eax, dword [0x1012266c]
mov eax, dword [eax + 0x1bd4]
cmp dword [0x100ac8a0], eax
je 0x1001096f
mov dword [0x100ac8a0], eax
call fcn.10010690
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
Function at 0x10012530
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x101226ec], 0
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
jne 0x100125ea
xor ebx, ebx
nop dword [eax]
mov edx, ebx
mov eax, ebx
shr eax, 1
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, eax
mov eax, edx
shr edx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, edx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov dword [ebx*4 + 0x101226e8], eax
inc ebx
cmp ebx, 0x100
jb 0x10012550
mov ebx, dword [ebp + 8]
not ebx
mov eax, ebx
test edi, edi
jle 0x10012616
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x101226e8]
sub edi, 1
jne 0x100125f5
pop edi
pop esi
not eax
pop ebx
pop ebp
ret
mov cl, byte [esi]
inc esi
test cl, cl
je 0x10012648
nop dword [eax]
cmp cl, 0x23
jne 0x1001262f
cmp byte [esi], cl
jne 0x1001262f
cmp byte [esi + 1], cl
cmove eax, ebx
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
mov cl, byte [esi]
inc esi
xor eax, dword [edx*4 + 0x101226e8]
test cl, cl
jne 0x10012620
pop edi
pop esi
not eax
pop ebx
pop ebp
ret

Function at 0x10012ef0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x10012f02
mov dword [edi], 0
mov edx, 0x1009abe4
call fcn.10012dc0
mov esi, eax
test esi, esi
jne 0x10012f16
pop edi
pop esi
pop ebp
ret
push ebx
push 2
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x10012fb0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
add esp, 4
cmp ebx, 0xffffffff
je 0x10012fb0
push 0
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x10012fb0
inc dword [0x10122698]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp + 8], eax
test eax, eax
je 0x10012fb0
push esi
push ebx
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
push esi
cmp eax, ebx
je 0x10012f99
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
push dword [ebp + 8]
dec dword [0x10122698]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 8
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
test edi, edi
je 0x10012fa8
mov dword [edi], ebx
mov eax, dword [ebp + 8]
pop ebx
pop edi
pop esi
pop ebp
ret
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
Function at 0x10018e60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov eax, dword [0x1009f040]
xor eax, esp
mov dword [esp + 0x34], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0xc], edi
xor ecx, ecx
mov dword [esp + 0x34], 0xd5dec6f9
mov dword [esp + 0x38], 0x100c4dd
lea eax, [ecx - 0x52]
xor byte [esp + ecx + 0x34], al
inc ecx
cmp ecx, 6
jb 0x10018e96
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0xd5dec6f9
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [esp + 0x38], 0x100c4dd
nop dword [eax]
lea eax, [ecx - 0x52]
xor byte [esp + ecx + 0x34], al
inc ecx
cmp ecx, 6
jb 0x10018ec0
push 0
xor edx, edx
mov byte [esp + 0x3f], 0
lea ecx, [esp + 0x38]
call fcn.10012530
mov ecx, dword [edi + 0x2b78]
lea esi, [edi + 0x2b74]
mov dword [esp + 0x18], eax
add esp, 4
mov eax, dword [esi]
mov dword [esp + 0x18], 0x10018930
mov dword [esp + 0x1c], 0x100189a0
mov dword [esp + 0x20], 0x10018b30
test eax, eax
jne 0x10018f5b
cmp eax, ecx
jne 0x10018f3c
lea edi, [eax + 1]
test ecx, ecx
je 0x10018f26
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10018f2b
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.10033570
mov edi, dword [esp + 0xc]
mov eax, dword [esi]
movups xmm0, xmmword [esp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 8]
movups xmmword [eax + ecx*8], xmm0
movq xmm0, qword [esp + 0x20]
movq qword [eax + ecx*8 + 0x10], xmm0
jmp 0x10018fba
cmp eax, ecx
jne 0x10018f87
lea edi, [eax + 1]
test ecx, ecx
je 0x10018f71
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10018f76
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.10033570
mov edi, dword [esp + 0xc]
mov eax, dword [esi]
test eax, eax
jle 0x10018fa4
mov ecx, dword [esi + 8]
lea eax, [eax + eax*2]
shl eax, 3
push eax
push ecx
lea eax, [ecx + 0x18]
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esi + 8]
movups xmm0, xmmword [esp + 0x10]
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x20]
movq qword [eax + 0x10], xmm0
inc dword [esi]
mov ecx, dword [esp + 0x3c]
mov byte [edi], 1
pop edi
pop esi
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
Function at 0x10019300
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [0x1012266c]
mov eax, ecx
mov dword [ebp - 8], eax
mov dword [esi + 0x2b64], 0
test eax, eax
je 0x100193bc
push ebx
push edi
push 0
lea ecx, [esi + 0x2b68]
mov dword [esi + 0x2b64], 0
call fcn.10033130
lea eax, [ebp - 1]
mov byte [ebp - 1], 0
push eax
lea ecx, [esi + 0x2b68]
call fcn.10033340
xor ebx, ebx
cmp dword [esi + 0x2b74], ebx
jle 0x10019385
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x2b7c]
lea ecx, [esi + 0x2b68]
add eax, edi
push ecx
push eax
push esi
mov eax, dword [eax + 0x10]
call eax
inc ebx
add esp, 0xc
add edi, 0x18
cmp ebx, dword [esi + 0x2b74]
jl 0x10019360
mov edi, dword [esi + 0x2b68]
mov edx, 0x1009abe8
mov ecx, dword [ebp - 8]
dec edi
mov ebx, dword [esi + 0x2b70]
call fcn.10012dc0
mov esi, eax
test esi, esi
je 0x100193ba
push esi
push edi
push 1
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10032ce0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 6], 0
je 0x10032d02
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax - 0x51]
inc eax
xor byte [edx], cl
cmp eax, 5
jb 0x10032cf0
mov byte [esi + 6], 0
pop esi
ret

Function at 0x10038c10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
mov eax, dword [0x1009f040]
xor eax, esp
mov dword [esp + 0x28], eax
movaps xmm0, xmmword [0x1009bd90]
push ebx
movups xmmword [esp + 4], xmm0
mov ebx, ecx
mov dword [esp + 0x24], 0xb8a0b094
movaps xmm0, xmmword [0x1009be40]
xor ecx, ecx
push esi
push edi
movups xmmword [esp + 0x1c], xmm0
mov word [esp + 0x30], 0xd4
mov byte [esp + 0x32], 1
mov al, cl
sub al, 0x50
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x25
jb 0x10038c57
xor esi, esi
mov byte [esp + 0x32], 0
cmp byte [esp + 0xc], 0
lea edx, [esp + 0xc]
je 0x10038c91
mov eax, edx
lea edi, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10038c80
sub eax, edi
inc edx
add edx, eax
inc esi
cmp byte [edx], cl
jne 0x10038c77
push ecx
push esi
lea eax, [esp + 0x14]
mov edx, 0x100aca1c
push eax
push 0x1002c300
mov ecx, ebx
call fcn.1002c360
add esp, 0x10
test al, al
je 0x10038d27
mov eax, dword [0x100aca1c]
cmp eax, 3
ja case.default.0x10038cba
jmp dword [eax*4 + 0x10038d3c]
call fcn.10043400
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
xor ecx, ecx
call fcn.10042d50
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
call fcn.10044920
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
call fcn.10044270
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x34]
xor al, al
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1004d170
mov esp, ebp
pop ebp
ret