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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
movaps xmm0, xmmword [0x1009a5d0]
xor eax, eax
movups xmmword [ebp - 0x24], xmm0
push edi
movaps xmm0, xmmword [0x1009a790]
mov edi, ecx
movups xmmword [ebp - 0x14], xmm0
mov word [ebp - 4], 0x70
mov cl, byte [ebp - 0x24]
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 0x20
jb 0x1000dbb7
push dword [ebp + 8]
lea eax, [ebp - 0x23]
mov byte [ebp - 3], 0
push eax
call fcn.10002690
mov ecx, dword [edi + 4]
add esp, 8
mov eax, dword [ecx]
push dword [ebp + 8]
call dword [eax + 0x38]
pop edi
mov esp, ebp
pop ebp
ret 4

Function at 0x1000ed70
Capabilities:
Hash data using fnv

Disassembly:
mov al, byte [ecx]
test al, al
je 0x1000ed87
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
inc ecx
jmp fcn.1000ed70
mov eax, edx
ret

Function at 0x1000ee00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [0x1009ad20]
push ebx
push esi
push edi
mov edi, ecx
lea ebx, [eax*4]
mov eax, dword [edi + 8]
mov edx, dword [ebx + eax]
xor eax, eax
movups xmmword [ebp - 0x20], xmm0
movaps xmm0, xmmword [0x1009a4b0]
movups xmmword [ebp - 0x10], xmm0
mov cl, byte [ebp - 0x20]
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0x1e
jb 0x1000ee33
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x1f]
push esi
push edx
push eax
mov byte [ebp - 1], 0
call fcn.10002690
mov eax, dword [edi + 8]
add esp, 0xc
pop edi
mov dword [ebx + eax], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x1000ee70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
movaps xmm0, xmmword [0x1009acd0]
push esi
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax]
xor eax, eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 8], 0x7d005d15
movaps xmm0, xmmword [str.GI__v_v_v]
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 4], 0x2f0c
mov byte [ebp - 2], 0
mov cl, byte [ebp - 0x28]
xor byte [ebp + eax - 0x27], cl
inc eax
cmp eax, 0x25
jb 0x1000eea6
push dword [esi + 8]
lea eax, [ebp - 0x27]
mov byte [ebp - 2], 0
push edx
push eax
call fcn.10002690
mov ecx, dword [esi]
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [ecx], eax
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x1000eee0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
movaps xmm0, xmmword [0x1009a6d0]
push esi
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax]
xor eax, eax
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x28], 0x44195141
movaps xmm0, xmmword [0x1009a630]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x2c], 0x6b4839
nop word [eax + eax]
mov cl, byte [esp + 8]
xor byte [esp + eax + 9], cl
inc eax
cmp eax, 0x26
jb 0x1000ef20
push dword [esi + 4]
lea eax, [esp + 0xd]
mov byte [esp + 0x33], 0
push edx
push eax
call fcn.10002690
mov ecx, dword [esi]
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [ecx], eax
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1000f090
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008c8ad
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push esi
mov eax, dword [0x100a4040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
mov dword [esi], vtable.EventListener.0
mov ecx, dword [0x100be9f4]
push 0
push str.bullet_impact
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x1000f11f
movaps xmm0, xmmword [0x1009adf0]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
mov word [ebp - 0x14], 0x3d43
movaps xmm0, xmmword [0x1009ae10]
movups xmmword [ebp - 0x24], xmm0
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x21
jb 0x1000f102
lea eax, [ebp - 0x33]
mov byte [ebp - 0x12], 0
push eax
call fcn.10002690
add esp, 4
mov ecx, dword [0x100be9f4]
push 0
push str.player_hurt
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x1000f170
movaps xmm0, xmmword [0x1009a770]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
mov byte [ebp - 0x14], al
movaps xmm0, xmmword [0x1009b020]
movups xmmword [ebp - 0x24], xmm0
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x1f
jb 0x1000f153
lea eax, [ebp - 0x33]
mov byte [ebp - 0x14], 0
push eax
call fcn.10002690
add esp, 4
mov ecx, dword [0x100be9f4]
push 0
push str.vote_cast
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x1000f1d1
movaps xmm0, xmmword [0x1009aea0]
xor ecx, ecx
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0x184a5d56
mov dword [ebp - 0x1c], 0x5d4c574e
mov dword [ebp - 0x18], 0x4b595b67
mov word [ebp - 0x14], 0x324c
mov byte [ebp - 0x12], al
mov al, byte [ebp - 0x30]
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0x1d
jb 0x1000f1b4
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x12], 0
push eax
call fcn.10002690
add esp, 4
mov ecx, dword [0x100be9f4]
push 0
push str.game_newmap
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test al, al
jne 0x1000f222
movaps xmm0, xmmword [0x1009ae20]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
mov byte [ebp - 0x14], al
movaps xmm0, xmmword [0x1009a920]
movups xmmword [ebp - 0x24], xmm0
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x1f
jb 0x1000f205
lea eax, [ebp - 0x33]
mov byte [ebp - 0x14], 0
push eax
call fcn.10002690
add esp, 4
movaps xmm0, xmmword [str.8N_VL]
xor ecx, ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0x595d4a5b
mov dword [ebp - 0x18], 0x325c5d4c
mov byte [ebp - 0x14], 0
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x17
jb 0x1000f241
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x14], 0
push eax
call fcn.10002690
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100117f0
Capabilities:
Delete file
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [0x100a4040]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [ecx]
lea ecx, [esp + 0x1c]
lea eax, [eax + edx*8]
push eax
call fcn.1000b8c0
cmp dword [esp + 0x30], 0xf
lea eax, [esp + 0x1c]
cmova eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
movaps xmm0, xmmword [0x1009b0b0]
lea edx, [esp + 0x20]
add esp, 4
mov dword [esp + 0x10], 0x3930353a
cmp dword [esp + 0x30], 0xf
movups xmmword [esp], xmm0
cmova edx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x14], 0x562f797c
mov byte [esp + 0x18], 0
mov cl, byte [esp]
xor byte [esp + eax + 1], cl
inc eax
cmp eax, 0x17
jb 0x10011861
push edx
lea eax, [esp + 5]
mov byte [esp + 0x1c], 0
push eax
call fcn.10002690
mov ecx, dword [esp + 0x38]
add esp, 8
cmp ecx, 0xf
jbe 0x100118b9
mov edx, dword [esp + 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100118af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100118af
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1008a5c0
add esp, 8
mov ecx, dword [esp + 0x34]
xor ecx, esp
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4
Function at 0x10012310
Capabilities:
Create process on windows

Disassembly:
push 1
push 0
push 0
push 0x10091711
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
ret
Function at 0x100143e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov ecx, dword [0x100be9f8]
push esi
mov eax, dword [ecx]
call dword [eax + 0x138]
push 0x10014190
mov eax, dword [eax]
mov esi, dword [eax + 0x90]
push esi
call fcn.10001250
movaps xmm0, xmmword [0x1009afd0]
movups xmmword [ebp - 0x28], xmm0
mov dword [0x100be990], eax
xor eax, eax
movaps xmm0, xmmword [0x1009afe0]
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x10623f3a
mov byte [ebp - 4], 0
mov cl, byte [ebp - 0x28]
xor byte [ebp + eax - 0x27], cl
inc eax
cmp eax, 0x23
jb 0x10014430
lea eax, [ebp - 0x27]
mov byte [ebp - 4], 0
push esi
push eax
call fcn.10002690
mov ecx, dword [0x100be9f8]
add esp, 8
mov eax, dword [ecx]
call dword [eax + 0x138]
push 0x10014300
mov eax, dword [eax]
mov esi, dword [eax + 0xa0]
push esi
call fcn.10001250
movaps xmm0, xmmword [0x1009a550]
xor ecx, ecx
movups xmmword [ebp - 0x28], xmm0
mov dword [0x100be960], eax
movaps xmm0, xmmword [0x1009ac50]
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x45401401
mov word [ebp - 4], 0x6a18
mov byte [ebp - 2], 0
nop dword [eax]
mov al, byte [ebp - 0x28]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x25
jb 0x100144a0
lea eax, [ebp - 0x27]
mov byte [ebp - 2], 0
push esi
push eax
call fcn.10002690
add esp, 8
mov byte [0x100bf474], 1
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10024050
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub dword [ebp + 0xc], 1
jne 0x1002407a
push 0
push 0
push dword [ebp + 8]
push 0x10022dd0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x1002407a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop ebp
ret 0xc

Function at 0x10024f10
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x38], 0
je 0x10024f3c
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const___long_long___int64__]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x20], esi
mov ecx, dword [eax]
lea eax, [ebx + 0x30]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x10024f64
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x10024f6a
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, ecx
cdq
mov dword [esp + 0x10], eax
mov ecx, edx
mov dword [esp + 0x14], ecx
test edi, edi
jl 0x10024fd2
jg 0x10024f81
test esi, esi
je 0x10024fd2
test ecx, ecx
jl 0x10024fcd
jg 0x10024f8b
test eax, eax
je 0x10024fcd
cmp edi, ecx
jg 0x10024f9f
jl 0x10024f95
cmp esi, eax
jae 0x10024f9f
mov eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
push eax
push dword [ebp + 8]
push dword [esp + 0x24]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
add ecx, edx
sub esi, edx
mov eax, dword [eax]
sbb edi, dword [esp + 0x14]
sub dword [eax], edx
mov eax, dword [ebx + 0x20]
add dword [eax], edx
jmp 0x10024fd5
mov ecx, dword [ebp + 8]
jmp 0x10024fdf
mov ecx, dword [ebp + 8]
test edi, edi
jl 0x10024ff9
jg 0x10024fdf
test esi, esi
je 0x10024ff9
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x10024ff9
push eax
push esi
push 1
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
sub esi, eax
sbb edi, 0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub eax, esi
sbb edx, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10025010
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], esi
test eax, eax
jg 0x1002503c
jl 0x10025030
test ecx, ecx
jne 0x1002503c
pop esi
xor eax, eax
xor edx, edx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebx + 0x38], 0
je 0x10025055
push eax
push ecx
push esi
mov ecx, ebx
call dword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char___long_long___int64__]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x1c]
push edi
mov edi, ecx
mov eax, dword [eax]
mov dword [ebp - 8], eax
test eax, eax
je 0x100250a3
mov eax, dword [ebx + 0x2c]
lea edx, [ebx + 0x2c]
mov dword [ebp - 0xc], edx
mov eax, dword [eax]
test eax, eax
je 0x100250a9
mov edi, dword [ebp - 4]
cmp eax, ecx
mov esi, ecx
cmovb esi, eax
push esi
push dword [ebp - 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebx + 0x2c]
add edi, esi
mov dword [ebp - 4], edi
add esp, 0xc
mov edi, dword [ebp + 0xc]
sub edi, esi
sub dword [eax], esi
mov eax, dword [ebx + 0x1c]
add dword [eax], esi
mov esi, dword [ebp - 4]
jmp 0x100250a9
lea eax, [ebx + 0x2c]
mov dword [ebp - 0xc], eax
cmp dword [ebx + 0x4c], 0
je 0x10025116
mov ecx, dword [ebx + 0xc]
lea eax, [ebx + 0x3c]
cmp dword [ecx], eax
jne 0x100250d2
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebx + 0x1c]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [eax], edx
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp edi, 0xfff
jbe 0x10025104
nop
push dword [ebx + 0x4c]
push 0xfff
push 1
push esi
call eax
add esp, 0x10
add esi, eax
sub edi, eax
cmp eax, 0xfff
jne 0x10025116
cmp edi, eax
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
ja 0x100250e0
test edi, edi
je 0x10025116
push dword [ebx + 0x4c]
push edi
push 1
push esi
call eax
add esp, 0x10
sub edi, eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
sub eax, edi
pop edi
pop esi
sbb edx, 0
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x100254a0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x100a4040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
cmp ebx, 0xffffffff
jne 0x100254d0
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x20]
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x1002550c
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
lea eax, [edi + ecx]
cmp ecx, eax
jae 0x1002550c
lea ecx, [edi - 1]
mov eax, ebx
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
pop edi
mov esi, dword [edx]
lea ecx, [esi + 1]
mov dword [edx], ecx
mov byte [esi], bl
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x4c], 0
je 0x100255e3
mov edi, dword [esi + 0xc]
lea eax, [esi + 0x3c]
cmp dword [edi], eax
jne 0x10025534
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
sub edx, ecx
mov dword [edi], ecx
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov dword [eax], edx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x10025540
movsx eax, bl
jmp 0x10025578
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x25], bl
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x25]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet___char_const___char_const___char_const____char___char___char___const]
sub eax, 0
je 0x100255a2
sub eax, 1
je 0x100255a2
sub eax, 2
jne 0x100255e3
movsx eax, byte [ebp - 0x25]
push dword [esi + 0x4c]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
add esp, 8
or ecx, 0xffffffff
cmp eax, ecx
cmove ebx, ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x100255c0
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x100255e3
lea ecx, [ebp - 0x25]
mov byte [esi + 0x3d], 1
or eax, 0xffffffff
cmp dword [ebp - 0x30], ecx
pop edi
pop esi
cmovne eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4
Function at 0x10025d50
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x100a4040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x10025e0c
cmp byte [esi + 0x3d], 0
je 0x10025e0c
mov eax, dword [esi]
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x10025dfa
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x10025dc1
sub eax, 1
je 0x10025dc5
sub eax, 2
jne 0x10025dfa
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x10025de3
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x10025dfa
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.1008a073
mov esp, ebp
pop ebp
ret

Function at 0x10029a10
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, edx
not ebx
mov esi, ecx
mov eax, ebx
test edi, edi
je 0x10029a71
mov cl, byte [esi]
lea esi, [esi + 1]
dec edi
cmp cl, 0x23
jne 0x10029a54
cmp edi, 2
jb 0x10029a54
cmp byte [esi], cl
jne 0x10029a54
cmp byte [esi + 1], cl
jne 0x10029a54
mov eax, ebx
movzx ecx, cl
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100935a8]
jmp 0x10029a25
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100935a8]
test edi, edi
jne 0x10029a25
pop edi
pop esi
not eax
pop ebx
pop ebp
ret
mov cl, byte [esi]
inc esi
test cl, cl
je 0x10029aa0
cmp cl, 0x23
jne 0x10029a87
cmp byte [esi], cl
jne 0x10029a87
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 + 0x100935a8]
test cl, cl
jne 0x10029a78
pop edi
pop esi
not eax
pop ebx
pop ebp
ret
Function at 0x10029bb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
test ebx, ebx
je 0x10029bc4
mov dword [ebx], 0
mov edx, 0x10098ea0
call fcn.10029ab0
mov esi, eax
test esi, esi
je 0x10029cb2
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push esi
call edi
add esp, 4
mov dword [ebp - 4], eax
cmp eax, 0xffffffff
je 0x10029ca8
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 0x10029ca8
push esi
call edi
mov edi, eax
add esp, 4
mov dword [ebp + 8], edi
cmp edi, 0xffffffff
je 0x10029ca8
push 0
push dword [ebp - 4]
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x10029ca8
mov eax, dword [0x100be9bc]
test eax, eax
je 0x10029c3c
inc dword [eax + 0x370]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
je 0x10029ca8
push esi
push dword [ebp + 8]
push 1
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
push esi
cmp eax, dword [ebp + 8]
je 0x10029c8d
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [0x100be9bc]
add esp, 4
test eax, eax
je 0x10029c7a
dec dword [eax + 0x370]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
test ebx, ebx
je 0x10029c9f
mov eax, dword [ebp + 8]
mov dword [ebx], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1002c3a0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ecx + 0xc0]
mov eax, dword [ecx + 0xc8]
push esi
push edi
lea esi, [ebp + 8]
mov edi, 4
mov eax, dword [eax + edx*4 - 4]
not eax
nop
movzx ecx, byte [esi]
lea esi, [esi + 1]
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100935a8]
sub edi, 1
jne 0x1002c3c0
mov ecx, dword [0x100be9bc]
not eax
pop edi
pop esi
cmp dword [ecx + 0x1aa4], eax
jne 0x1002c3f2
mov dword [ecx + 0x1aa8], eax
cmp dword [ecx + 0x1adc], eax
jne 0x1002c401
mov byte [ecx + 0x1ae0], 1
pop ebp
ret 4

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x100a4040]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
movss xmm0, dword [edx]
mov edi, 0x10
subss xmm0, dword [esi + 0xc]
mov ecx, dword [esi + 0xc0]
cvttss2si eax, xmm0
movss xmm0, dword [edx + 4]
subss xmm0, dword [esi + 0x10]
mov dword [ebp - 0x14], eax
cvttss2si eax, xmm0
movss xmm0, dword [edx + 8]
subss xmm0, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
cvttss2si eax, xmm0
movss xmm0, dword [edx + 0xc]
subss xmm0, dword [esi + 0x10]
mov dword [ebp - 0xc], eax
cvttss2si eax, xmm0
mov dword [ebp - 8], eax
mov eax, dword [esi + 0xc8]
lea esi, [ebp - 0x14]
mov edx, dword [eax + ecx*4 - 4]
not edx
movzx eax, byte [esi]
lea esi, [esi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x100935a8]
sub edi, 1
jne 0x1002c484
mov eax, dword [0x100be9bc]
not edx
pop edi
pop esi
cmp dword [eax + 0x1aa4], edx
jne 0x1002c4b5
mov dword [eax + 0x1aa8], edx
cmp dword [eax + 0x1adc], edx
jne 0x1002c4c4
mov byte [eax + 0x1ae0], 1
mov ecx, dword [ebp - 4]
mov eax, edx
xor ecx, ebp
call fcn.1008a073
mov esp, ebp
pop ebp
ret 4