joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000cec0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005209d
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x10067040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0xa1
xor edx, edx
nop
mov al, byte [edx + 0x1005caa4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x54], al
and ecx, 0x800000ff
jns 0x1000cf0d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x20
jl 0x1000cef0
mov byte [ebp - 0x34], 0
lea eax, [ebp - 0x54]
mov dword [ebp - 4], 0
push eax
call fcn.100233c0
add esp, 4
mov ecx, 0xc1
xor edx, edx
mov al, byte [edx + 0x1005cb08]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1000cf4e
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x1000cf31
mov byte [ebp - 0x22], 0
mov edx, 0x100682b6
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.10027650
mov dword [ebp - 0x1c], 0x696c6c41
mov word [ebp - 0x18], 0x7365
mov byte [ebp - 0x16], 0
mov edx, 0x100683d2
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x1c]
call fcn.10027650
mov ecx, 0xee
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x1005cb18]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x20], al
and ecx, 0x800000ff
jns 0x1000cfbd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1000cfa0
mov byte [ebp - 0x13], 0
mov edx, 0x100683cf
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.10027650
mov dword [ebp - 0x18], 0x656d614e
mov byte [ebp - 0x14], 0
mov edx, 0x100683cd
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.10027650
mov ecx, 1
xor edx, edx
mov al, byte [edx + str.Mkmav___EN.]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1000d01e
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x1000d001
mov byte [ebp - 0x21], 0
mov edx, 0x100683d0
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x30]
call fcn.10027650
mov dword [ebp - 0x1c], 0x74736944
mov dword [ebp - 0x18], 0x65636e61
mov byte [ebp - 0x14], 0
mov edx, 0x100683ce
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.10027650
mov dword [ebp - 0x1c], 0x6c616548
mov word [ebp - 0x18], 0x6874
mov byte [ebp - 0x16], 0
mov edx, 0x100683d1
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x1c]
call fcn.10027650
mov ecx, 0x72
xor edx, edx
nop
mov al, byte [edx + 0x1005cb38]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1000d0ad
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x1000d090
mov byte [ebp - 0x23], 0
mov edx, 0x100683d3
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x30]
call fcn.10027650
mov dword [ebp - 4], 0xffffffff
call fcn.10033560
mov dword [ebp - 0x1c], 0x6c707845
mov dword [ebp - 0x18], 0x7669736f
mov word [ebp - 0x14], 0x65
mov edx, 0x100682b7
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x1c]
call fcn.10027650
mov dword [ebp - 0x18], 0x6e7547
mov edx, 0x100683cc
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x18]
call fcn.10027650
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
Function at 0x10010940
Capabilities:
Allocate or change rwx memory
Create thread
Execute shellcode via indirect call
Get disk information
Spawn thread to rwx shellcode
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005223e
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x10067040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 0xc], 1
mov esi, dword [ebp + 8]
mov dword [ebp - 0x44], 0
jne 0x10010af8
push 0x100534be
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0
call fcn.10003130
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x44], 1
push eax
push 0
push 0
push 0x100534c0
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
call fcn.10011260
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x44], 3
cmp ecx, 0xf
jbe 0x10010a03
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100109f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100109f9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004d65e
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.100039b0
call fcn.10004390
add esp, 0x18
test al, al
je 0x10010b1a
mov ecx, esi
call fcn.100055e0
test esi, esi
je 0x10010a8d
mov edi, dword [esi + 0x3c]
lea eax, [ebp - 0x44]
push eax
push 4
push 0x40
push esi
add edi, esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x10010a63
push 0x40
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
test edi, edi
je 0x10010a8d
lea eax, [ebp - 0x44]
push eax
push 4
push 0xf8
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x10010a8d
push 0xf8
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
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 0x100108d0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x100042e0
push 0
push 0
call esi
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x10010af8
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10010aee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10010aee
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1004d65e
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004d226
mov esp, ebp
pop ebp
ret 0xc
movaps xmm0, xmmword [0x10063390]
lea ecx, [ebp - 0x3c]
push 0x10
push 0x100534be
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x2c], 0x100
call fcn.1000aa90
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 0x10010b50
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x1d], 0
je 0x10010b72
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0x1c
jb 0x10010b60
mov byte [esi + 0x1d], 0
pop esi
ret

Function at 0x10010b80
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 6], 0
je 0x10010ba2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 5
jb 0x10010b90
mov byte [esi + 6], 0
pop esi
ret

Function at 0x10010bb0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x12], 0
je 0x10010bd2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0x11
jb 0x10010bc0
mov byte [esi + 0x12], 0
pop esi
ret

Function at 0x10010be0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 5], 0
je 0x10010c02
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 4
jb 0x10010bf0
mov byte [esi + 5], 0
pop esi
ret

Function at 0x10010c10
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 7], 0
je 0x10010c32
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 6
jb 0x10010c20
mov byte [esi + 7], 0
pop esi
ret

Function at 0x10010c40
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 8], 0
je 0x10010c62
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 7
jb 0x10010c50
mov byte [esi + 8], 0
pop esi
ret

Function at 0x10010e70
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x1e], 0
je 0x10010e92
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0x1d
jb 0x10010e80
mov byte [esi + 0x1e], 0
pop esi
ret

Function at 0x10010ea0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x10], 0
je 0x10010ec2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0xf
jb 0x10010eb0
mov byte [esi + 0x10], 0
pop esi
ret

Function at 0x10010ef0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xe], 0
je 0x10010f12
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0xd
jb 0x10010f00
mov byte [esi + 0xe], 0
pop esi
ret

Function at 0x10010f40
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xf], 0
je 0x10010f62
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0xe
jb 0x10010f50
mov byte [esi + 0xf], 0
pop esi
ret
Function at 0x10010f70
Capabilities:
Encode data using xor

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

Function at 0x10010fa0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xc], 0
je 0x10010fc2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0xb
jb 0x10010fb0
mov byte [esi + 0xc], 0
pop esi
ret

Function at 0x10010fd0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x11], 0
je 0x10010ff2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0x10
jb 0x10010fe0
mov byte [esi + 0x11], 0
pop esi
ret

Function at 0x10011000
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x17], 0
je 0x10011022
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0x16
jb 0x10011010
mov byte [esi + 0x17], 0
pop esi
ret

Function at 0x100110d0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 9], 0
je 0x100110f2
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 8
jb 0x100110e0
mov byte [esi + 9], 0
pop esi
ret

Function at 0x10011100
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xb], 0
je 0x10011122
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 0xa
jb 0x10011110
mov byte [esi + 0xb], 0
pop esi
ret

Function at 0x10011130
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0xa], 0
je 0x10011152
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0xd]
inc eax
xor byte [edx], cl
cmp eax, 9
jb 0x10011140
mov byte [esi + 0xa], 0
pop esi
ret
Function at 0x100120c0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x10067040]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
mov ebx, dword [0x100dd8ec]
lea eax, [esp + 0x24]
push esi
push edi
push eax
push dword [0x100dd904]
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 [0x100dd908]
mov esi, dword [esp + 0x24]
mov edx, esi
sbb edx, dword [0x100dd90c]
call fcn.10050f40
mov edx, dword [0x100dd914]
mov ecx, dword [0x100dd910]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x10], xmm0
call fcn.10050f40
movss xmm1, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
push 0x11
divss xmm1, xmm0
movss dword [ebx + 0x18], xmm1
mov dword [0x100dd90c], esi
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
mov dword [0x100dd908], 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 [0x100dd8ec]
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 0x100121fa
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 [0x100dd904]
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 [0x100dd904]
jne 0x10012254
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x10012254
lea eax, [esp + 0x18]
push eax
push dword [0x100dd904]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x10012254
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 0x10012262
or eax, 0xffffffff
jmp 0x1001226d
mov eax, dword [0x100dd8ec]
mov eax, dword [eax + 0x1cfc]
cmp dword [0x10067c2c], eax
je 0x1001227f
mov dword [0x10067c2c], eax
call fcn.10011fa0
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
Function at 0x10013fa0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x100dd964], 0
push ebx
push esi
push edi
mov edi, edx
mov esi, ecx
jne 0x1001405a
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 + 0x100dd960], eax
inc ebx
cmp ebx, 0x100
jb 0x10013fc0
mov ebx, dword [ebp + 8]
not ebx
mov eax, ebx
test edi, edi
jle 0x10014086
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100dd960]
sub edi, 1
jne 0x10014065
pop edi
pop esi
not eax
pop ebx
pop ebp
ret
mov cl, byte [esi]
inc esi
test cl, cl
je 0x100140b8
nop dword [eax]
cmp cl, 0x23
jne 0x1001409f
cmp byte [esi], cl
jne 0x1001409f
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 + 0x100dd960]
test cl, cl
jne 0x10014090
pop edi
pop esi
not eax
pop ebx
pop ebp
ret

Function at 0x10014960
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x10014972
mov dword [edi], 0
mov edx, 0x10062404
call fcn.10014830
mov esi, eax
test esi, esi
jne 0x10014986
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 0x10014a20
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 0x10014a20
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 0x10014a20
inc dword [0x100dd918]
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 0x10014a20
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 0x10014a09
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
push dword [ebp + 8]
dec dword [0x100dd918]
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 0x10014a18
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 0x1001a900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov eax, dword [0x10067040]
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], 0x7461675a
mov dword [esp + 0x38], 0x100657e
lea eax, [ecx + 0xd]
xor byte [esp + ecx + 0x34], al
inc ecx
cmp ecx, 6
jb 0x1001a936
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0x7461675a
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [esp + 0x38], 0x100657e
nop dword [eax]
lea eax, [ecx + 0xd]
xor byte [esp + ecx + 0x34], al
inc ecx
cmp ecx, 6
jb 0x1001a960
push 0
xor edx, edx
mov byte [esp + 0x3f], 0
lea ecx, [esp + 0x38]
call fcn.10013fa0
mov ecx, dword [edi + 0x2ca0]
lea esi, [edi + 0x2c9c]
mov dword [esp + 0x18], eax
add esp, 4
mov eax, dword [esi]
mov dword [esp + 0x18], 0x1001a3d0
mov dword [esp + 0x1c], 0x1001a440
mov dword [esp + 0x20], 0x1001a5d0
test eax, eax
jne 0x1001a9fb
cmp eax, ecx
jne 0x1001a9dc
lea edi, [eax + 1]
test ecx, ecx
je 0x1001a9c6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1001a9cb
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.100352e0
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 0x1001aa5a
cmp eax, ecx
jne 0x1001aa27
lea edi, [eax + 1]
test ecx, ecx
je 0x1001aa11
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1001aa16
mov eax, 8
cmp eax, edi
mov ecx, esi
cmovg edi, eax
push edi
call fcn.100352e0
mov edi, dword [esp + 0xc]
mov eax, dword [esi]
test eax, eax
jle 0x1001aa44
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.1004d226
mov esp, ebp
pop ebp
ret
Function at 0x1001ada0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [0x100dd8ec]
mov eax, ecx
mov dword [ebp - 8], eax
mov dword [esi + 0x2c8c], 0
test eax, eax
je 0x1001ae5c
push ebx
push edi
push 0
lea ecx, [esi + 0x2c90]
mov dword [esi + 0x2c8c], 0
call fcn.10034e30
lea eax, [ebp - 1]
mov byte [ebp - 1], 0
push eax
lea ecx, [esi + 0x2c90]
call fcn.10035040
xor ebx, ebx
cmp dword [esi + 0x2c9c], ebx
jle 0x1001ae25
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x2ca4]
lea ecx, [esi + 0x2c90]
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 + 0x2c9c]
jl 0x1001ae00
mov edi, dword [esi + 0x2c90]
mov edx, 0x10062408
mov ecx, dword [ebp - 8]
dec edi
mov ebx, dword [esi + 0x2c98]
call fcn.10014830
mov esi, eax
test esi, esi
je 0x1001ae5a
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 0x1003a980
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x10067040]
xor eax, esp
mov dword [esp + 0x30], eax
movaps xmm0, xmmword [0x100635a0]
push ebx
movups xmmword [esp + 8], xmm0
mov ebx, ecx
mov dword [esp + 0x28], 0x565e4142
movaps xmm0, xmmword [0x100633d0]
xor ecx, ecx
push esi
push edi
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x34], 0x45577114
mov dword [esp + 0x38], 0x1003953
nop dword [eax + eax]
mov al, cl
add al, 0x10
xor byte [esp + ecx + 0x10], al
inc ecx
cmp ecx, 0x2a
jb 0x1003a9d0
xor esi, esi
mov byte [esp + 0x3b], 0
cmp byte [esp + 0x10], 0
lea edx, [esp + 0x10]
je 0x1003aa06
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003a9f5
sub eax, edi
inc edx
add edx, eax
inc esi
cmp byte [edx], cl
jne 0x1003a9f0
push ecx
push esi
lea eax, [esp + 0x18]
mov edx, 0x100ddd6c
push eax
push 0x1002e090
mov ecx, ebx
call fcn.1002e0f0
add esp, 0x10
test al, al
je 0x1003aab9
mov eax, dword [0x100ddd6c]
cmp eax, 4
ja case.default.0x1003aa33
jmp dword [eax*4 + 0x1003aad0]
xor ecx, ecx
call fcn.10044b50
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
call fcn.10045b70
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
call fcn.100454c0
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
call fcn.10047090
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
call fcn.100469e0
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x3c]
xor al, al
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1004d226
mov esp, ebp
pop ebp
ret