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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
cmp byte [0x100f95e4], 0
push ebx
push esi
push edi
je 0x1005928b
mov eax, dword [0x1017d9b4]
test eax, eax
jne 0x10059262
mov dword [esp + 0x2a], 0x4f80489
xor ecx, ecx
mov dword [esp + 0x2e], 0x4f404ea
mov dword [esp + 0x32], 0x4f204ec
mov dword [esp + 0x36], 0x4f004ee
mov dword [esp + 0x3a], 0x4ee04f0
mov dword [esp + 0x3e], 0x4e604f2
mov dword [esp + 0x42], 0x4f504e2
mov dword [esp + 0x46], 0x4e404e5
mov dword [esp + 0x4a], 0x49f04f8
mov dword [esp + 0x4e], 0x4fb04ec
mov dword [esp + 0x52], 0x4e804e4
mov dword [esp + 0x56], 0x49c04fe
mov dword [esp + 0x5a], 0x4d0
mov byte [esp + 0x5e], 1
nop word [eax + eax]
lea eax, [ecx + 0x4c8]
xor word [esp + ecx*2 + 0x2a], ax
inc ecx
cmp ecx, 0x19
jb 0x100591e0
xor eax, eax
mov byte [esp + 0x5e], 0
mov dword [esp + 0x12], 0x4af04a5
mov dword [esp + 0x16], 0x4aa04a5
mov dword [esp + 0x1a], 0x4a004aa
mov dword [esp + 0x1e], 0x4a304e8
mov dword [esp + 0x22], 0x4a504a4
mov word [esp + 0x26], ax
mov byte [esp + 0x28], 1
nop word [eax + eax]
lea ecx, [eax + 0x4c0]
xor word [esp + eax*2 + 0x12], cx
inc eax
cmp eax, 0xa
jb 0x10059230
lea eax, [esp + 0x2a]
mov byte [esp + 0x28], 0
push eax
lea eax, [esp + 0x16]
push eax
call fcn.100d08f0
mov dword [0x1017d9b4], eax
test eax, eax
je 0x10059166
mov ecx, dword [0x1017d98c]
test ecx, ecx
jne 0x10059280
inc eax
nop dword [eax]
test eax, eax
je 0x10059276
mov ecx, dword [eax]
test ecx, ecx
je 0x10059270
mov dword [0x1017d98c], ecx
cmp dword [ecx], 0
je 0x1005928b
mov dword [ecx], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1005c6a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d5e41
push eax
mov dword fs:[0], esp
sub esp, 0x28
mov eax, dword fs:[0x2c]
mov edx, dword [0x100fbfac]
push esi
mov esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1017d9d0]
cmp eax, dword [edx + 4]
jle 0x1005c7b6
push 0x1017d9d0
call fcn.100d136a
add esp, 4
cmp dword [0x1017d9d0], 0xffffffff
jne 0x1005c7b6
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x24], 0x97ac9ead
mov dword [ebp - 0x20], 0x85ada6ad
mov dword [ebp - 0x1c], 0xafbaa9
mov byte [ebp - 0x18], 1
nop word [eax + eax]
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0xb
jb 0x1005c720
mov byte [ebp - 0x18], 0
xor ecx, ecx
mov dword [ebp - 0x17], 0xa2a1aeac
mov dword [ebp - 0x13], 0xb3a7a1a8
mov word [ebp - 0xf], 0xa9
mov byte [ebp - 0xd], 1
nop dword [eax + eax]
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 9
jb 0x1005c750
mov byte [ebp - 0xd], 0
xor ecx, ecx
mov dword [ebp - 0x33], 0x819d9584
mov dword [ebp - 0x2f], 0x97a3b6a5
mov dword [ebp - 0x2b], 0xaeb3a8a4
mov word [ebp - 0x27], 0xbe
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0xd
jb 0x1005c782
lea eax, [ebp - 0x24]
mov byte [ebp - 0x25], 0
push eax
lea eax, [ebp - 0x17]
push eax
lea eax, [ebp - 0x33]
push eax
call fcn.1000ef40
push 0x1017d9d0
mov dword [0x1017d9bc], eax
call fcn.100d1320
add esp, 4
mov eax, dword [0x1017d9bc]
mov ecx, dword [ebp + 8]
mov dword [eax + esi], ecx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x1005c7e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d5e61
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov eax, dword fs:[0x2c]
mov edx, dword [0x100fbfac]
push esi
mov esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1017d9c0]
cmp eax, dword [edx + 4]
jle 0x1005c8e8
push 0x1017d9c0
call fcn.100d136a
add esp, 4
cmp dword [0x1017d9c0], 0xffffffff
jne 0x1005c8e8
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x100f1600]
movups xmmword [ebp - 0x3b], xmm0
mov dword [ebp - 0x2b], 0xaba5b9
mov byte [ebp - 0x27], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0x13
jb 0x1005c857
mov byte [ebp - 0x27], 0
xor ecx, ecx
mov dword [ebp - 0x17], 0xa2a1aeac
mov dword [ebp - 0x13], 0xb3a7a1a8
mov word [ebp - 0xf], 0xa9
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 9
jb 0x1005c882
mov byte [ebp - 0xd], 0
xor ecx, ecx
mov dword [ebp - 0x26], 0x819d9584
mov dword [ebp - 0x22], 0x97a3b6a5
mov dword [ebp - 0x1e], 0xaeb3a8a4
mov word [ebp - 0x1a], 0xbe
mov byte [ebp - 0x18], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x26], al
inc ecx
cmp ecx, 0xd
jb 0x1005c8b4
lea eax, [ebp - 0x3b]
mov byte [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x17]
push eax
lea eax, [ebp - 0x26]
push eax
call fcn.1000ef40
push 0x1017d9c0
mov dword [0x1017d9cc], eax
call fcn.100d1320
add esp, 4
mov eax, dword [0x1017d9cc]
mov ecx, dword [ebp + 8]
mov dword [eax + esi - 4], ecx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x1005d8a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d54cd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
cmp dword [0x100fb6ec], 8
mov eax, 0x100fb6d8
cmovae eax, dword [0x100fb6d8]
push eax
push 0x45
lea eax, [ebp - 0xb0]
push eax
push 0x100d8ec0
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x10], 0
movups xmmword [ebp - 0x24], xmm0
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1005d910
push esi
sub ecx, edx
lea eax, [ebp - 0xb0]
push edi
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.1000e1d0
mov dword [ebp - 4], 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x10], 8
lea esi, [ebp - 0x24]
mov edi, eax
lea eax, [ebp + 0xc]
cmovae esi, dword [ebp - 0x24]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
mov dword [ebp + 8], eax
cmp esi, dword [ebp + 0xc]
jne 0x1005d974
push str.invalid_stoi_argument
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__]
cmp dword [edi], 0x22
pop edi
pop esi
jne 0x1005d986
push str.stoi_argument_out_of_range
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__]
mov ecx, dword [ebp - 0x10]
cmp ecx, 8
jb 0x1005d9c5
mov edx, dword [ebp - 0x24]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d9b8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005d9b8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d178a
mov eax, dword [ebp + 8]
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8

Function at 0x1005d9e0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, 0x100fb6d8
cmp dword [0x100fb6ec], 8
cmovae eax, dword [0x100fb6d8]
push eax
push 0x45
lea eax, [ebp - 0x8c]
push eax
push str.false
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, str.true
lea ecx, [ebp - 0x8c]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x1005da51
test dx, dx
je 0x1005da44
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x1005da51
add ecx, 4
add eax, 4
test dx, dx
jne 0x1005da22
xor eax, eax
test eax, eax
sete al
mov esp, ebp
pop ebp
ret 8
sbb eax, eax
or eax, 1
test eax, eax
sete al
mov esp, ebp
pop ebp
ret 8
Function at 0x1005e4a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x8c
xor eax, eax
mov dword [esp + 0x4c], 0x4ff04fd
push esi
mov dword [esp + 0x54], 0x4f304ea
xor ecx, ecx
mov dword [esp + 0x58], 0x4ed048e
mov dword [esp + 0x5c], 0x4fe0488
mov dword [esp + 0x60], 0x4e904f0
mov dword [esp + 0x64], 0x4f304e1
mov dword [esp + 0x68], 0x4900496
mov dword [esp + 0x6c], 0x4e804f6
mov dword [esp + 0x70], 0x4e604f8
mov dword [esp + 0x74], 0x4e404fa
mov dword [esp + 0x78], 0x4e204fc
mov dword [esp + 0x7c], 0x4e004fe
mov dword [esp + 0x80], 0x4d604c0
mov dword [esp + 0x84], 0x4c304d6
mov dword [esp + 0x88], 0x4a104d5
mov word [esp + 0x8c], ax
mov byte [esp + 0x8e], 1
lea eax, [ecx + 0x4c8]
xor word [esp + ecx*2 + 0x50], ax
inc ecx
cmp ecx, 0x1e
jb 0x1005e542
xor eax, eax
mov byte [esp + 0x8e], 0
mov dword [esp + 0x38], 0x4af04a5
mov dword [esp + 0x3c], 0x4aa04a5
mov dword [esp + 0x40], 0x4a004aa
mov dword [esp + 0x44], 0x4a304e8
mov dword [esp + 0x48], 0x4a504a4
mov word [esp + 0x4c], ax
mov byte [esp + 0x4e], 1
nop
lea ecx, [eax + 0x4c0]
xor word [esp + eax*2 + 0x38], cx
inc eax
cmp eax, 0xa
jb 0x1005e590
lea eax, [esp + 0x50]
mov byte [esp + 0x4e], 0
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.100d08f0
mov ecx, dword [0x100fc310]
mov esi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov ecx, dword [0x100fc320]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
test eax, eax
je 0x1005e647
mov ecx, eax
call fcn.1000eb10
test eax, eax
je 0x1005e647
mov ecx, eax
call fcn.100149a0
mov dword [esp + 0xc], eax
mov ecx, 0x100fb564
mov dword [esp + 0x10], eax
mov eax, dword [0x100f9934]
mov dword [esp + 0x14], eax
mov eax, dword [0x100f9914]
mov dword [esp + 0x18], eax
mov eax, dword [0x100f993c]
mov dword [esp + 0x1c], eax
movzx eax, byte [0x100f991c]
mov byte [esp + 0x20], al
movzx eax, byte [0x100f992c]
mov byte [esp + 0x21], al
lea eax, [esp + 0xc]
push eax
call fcn.1005e650
movups xmm0, xmmword [esp + 0x10]
mov ecx, dword [esp + 0x20]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], ecx
mov ecx, dword [0x100fc308]
call esi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1005e8e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d5f51
push eax
mov dword fs:[0], esp
sub esp, 0x28
mov eax, dword fs:[0x2c]
mov edx, dword [0x100fbfac]
push esi
mov esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1017d9e4]
cmp eax, dword [edx + 4]
jle 0x1005e9b8
push 0x1017d9e4
call fcn.100d136a
add esp, 4
cmp dword [0x1017d9e4], 0xffffffff
jne 0x1005e9b8
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x100f1480]
movups xmmword [ebp - 0x2e], xmm0
mov word [ebp - 0x1e], 0xa4
mov byte [ebp - 0x1c], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x2e], al
inc ecx
cmp ecx, 0x11
jb 0x1005e956
mov byte [ebp - 0x1c], 0
xor ecx, ecx
mov dword [ebp - 0x1b], 0x819d9584
mov dword [ebp - 0x17], 0x97a3b6a5
mov dword [ebp - 0x13], 0xaeb3a8a4
mov word [ebp - 0xf], 0xbe
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xd
jb 0x1005e988
lea eax, [ebp - 0x2e]
mov byte [ebp - 0xd], 0
push eax
lea eax, [ebp - 0x1b]
push eax
call fcn.10007f10
push 0x1017d9e4
mov dword [0x1017d9dc], eax
call fcn.100d1320
add esp, 4
mov eax, dword [0x1017d9dc]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + esi]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x1005e9d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d5f71
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov eax, dword fs:[0x2c]
mov edx, dword [0x100fbfac]
push esi
mov esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1017d9d8]
cmp eax, dword [edx + 4]
jle 0x1005eaa2
push 0x1017d9d8
call fcn.100d136a
add esp, 4
cmp dword [0x1017d9d8], 0xffffffff
jne 0x1005eaa2
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x100f0b20]
movups xmmword [ebp - 0x2c], xmm0
mov byte [ebp - 0x1c], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 0xf
jb 0x1005ea40
mov byte [ebp - 0x1c], 0
xor ecx, ecx
mov dword [ebp - 0x1b], 0x819d9584
mov dword [ebp - 0x17], 0x97a3b6a5
mov dword [ebp - 0x13], 0xaeb3a8a4
mov word [ebp - 0xf], 0xbe
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xd
jb 0x1005ea72
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xd], 0
push eax
lea eax, [ebp - 0x1b]
push eax
call fcn.10007f10
push 0x1017d9d8
mov dword [0x1017d9e0], eax
call fcn.100d1320
add esp, 4
mov eax, dword [0x1017d9e0]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + esi]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10061e10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d5ff1
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov eax, dword fs:[0x2c]
mov edx, dword [0x100fbfac]
push esi
mov esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1017da18]
cmp eax, dword [edx + 4]
jle 0x10061ee2
push 0x1017da18
call fcn.100d136a
add esp, 4
cmp dword [0x1017da18], 0xffffffff
jne 0x10061ee2
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x18], 0x85ab9ead
mov dword [ebp - 0x14], 0x100938b
nop
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, 6
jb 0x10061e80
mov byte [ebp - 0x11], 0
xor ecx, ecx
mov dword [ebp - 0x27], 0x819d9584
mov dword [ebp - 0x23], 0x97a3b6a5
mov dword [ebp - 0x1f], 0xaeb3a8a4
mov word [ebp - 0x1b], 0xbe
mov byte [ebp - 0x19], 1
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0xd
jb 0x10061eb2
lea eax, [ebp - 0x18]
mov byte [ebp - 0x19], 0
push eax
lea eax, [ebp - 0x27]
push eax
call fcn.10007f10
push 0x1017da18
mov dword [0x1017da10], eax
call fcn.100d1320
add esp, 4
mov eax, dword [0x1017da10]
mov ecx, dword [ebp + 8]
mov dword [eax + esi], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 4

Function at 0x10061f00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100d6011
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov eax, dword fs:[0x2c]
mov edx, dword [0x100fbfac]
push esi
mov esi, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [0x1017da1c]
cmp eax, dword [edx + 4]
jle 0x10061fd0
push 0x1017da1c
call fcn.100d136a
add esp, 4
cmp dword [0x1017da1c], 0xffffffff
jne 0x10061fd0
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x100f1340]
movups xmmword [ebp - 0x2b], xmm0
mov word [ebp - 0x1b], 0x100
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0x10
jb 0x10061f72
mov byte [ebp - 0x1a], 0
xor ecx, ecx
mov dword [ebp - 0x19], 0x979d9584
mov dword [ebp - 0x15], 0xa6aa9582
mov dword [ebp - 0x11], 0xb8acb1
mov byte [ebp - 0xd], 1
nop
lea eax, [ecx - 0x40]
xor byte [ebp + ecx - 0x19], al
inc ecx
cmp ecx, 0xb
jb 0x10061fa0
lea eax, [ebp - 0x2b]
mov byte [ebp - 0xd], 0
push eax
lea eax, [ebp - 0x19]
push eax
call fcn.10007f10
push 0x1017da1c
mov dword [0x1017da00], eax
call fcn.100d1320
add esp, 4
mov eax, dword [0x1017da00]
mov ecx, dword [ebp + 8]
mov dword [eax + esi], ecx
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x10062310
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d6071
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
cmp dword [0x1017dbe8], 0
je 0x100624f3
cmp dword [0x100f9804], 0
je 0x1006244c
mov ecx, dword [0x100fc340]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x1006244c
mov ecx, dword [0x100fc31c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
test al, al
jne 0x1006244c
cmp byte [0x1017de95], al
jne 0x1006244c
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100fbfac]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1017ec7c]
cmp eax, dword [ecx + 4]
jle 0x100623e0
push 0x1017ec7c
call fcn.100d136a
add esp, 4
cmp dword [0x1017ec7c], 0xffffffff
jne 0x100623e0
mov dword [ebp - 4], 0
mov ecx, dword [0x100fc310]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x10], eax
call dword [ebp - 0x10]
push 0x1017ec7c
fstp dword [0x1017ec80]
mov dword [ebp - 4], 0xffffffff
call fcn.100d1320
add esp, 4
mov ecx, dword [0x100fc310]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x10], eax
call dword [ebp - 0x10]
push dword [0x100f9804]
fstp dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x10]
subss xmm0, dword [0x1017ec80]
movss dword [ebp - 0x10], xmm0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1006244c
movss xmm0, dword [ebp - 0x10]
comiss xmm0, dword [0x100f05f4]
jbe 0x1006244c
mov ecx, dword [0x100fc310]
cmp byte [0x100f9048], 0
sete byte [0x100f9048]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x10], eax
call dword [ebp - 0x10]
fstp dword [0x1017ec80]
mov ecx, dword [0x100fc364]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x7c]
test eax, eax
setne bl
cmp byte [0x100f9048], 0
je 0x100624e1
cmp byte [0x100f97b4], 0
je 0x10062478
cmp byte [0x100f97fc], 0
jne 0x10062489
mov ecx, dword [0x1017dbe8]
call fcn.1000e8d0
shr eax, 1
test al, 1
jne 0x100624e1
test bl, bl
jne 0x10062491
push 1
jmp 0x100624e7
cmp byte [0x100f976c], 0
je 0x100624f2
mov ecx, dword [0x100fc32c]
push 0x100fb46c
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp byte [0x100f9774], 0
je 0x100624f2
mov eax, dword [0x1017dbe8]
mov eax, dword [eax + 0x1bf8]
test eax, eax
je 0x100624f2
movss xmm0, dword [0x100fb470]
movss dword [eax + 0x80], xmm0
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
test bl, bl
je 0x100624f2
push 0
mov ecx, dword [0x1017dbe8]
call fcn.10061f00
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x10062510
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 8], ecx
mov ecx, dword [0x100fc360]
push ebx
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x12c]
call eax
mov ecx, dword [0x100fc360]
movzx esi, ax
mov dword [ebp - 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x134]
call eax
cmp si, ax
je 0x10062724
nop dword [eax + eax]
mov ecx, dword [0x100fc360]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
mov esi, eax
test esi, esi
je 0x100626f2
mov edx, dword [esi]
mov ecx, esi
mov edx, dword [edx + 0xa8]
call edx
test al, al
jne 0x100626f2
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0xe0]
call eax
test al, al
je 0x100626f2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ebx, eax
mov edx, ebx
lea edi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x100625a1
sub edx, edi
mov dword [ebp - 0x25], 0xafb0ae97
mov dword [ebp - 0x21], 0xa2b2e5a0
xor ecx, ecx
mov dword [ebp - 0x1d], 0xb9bfbdb0
mov dword [ebp - 0x19], 0x100bea9
mov al, cl
sub al, 0x40
xor byte [ebp + ecx - 0x25], al
inc ecx
cmp ecx, 0xe
jb 0x100625c8
lea ecx, [ebp - 0x25]
mov byte [ebp - 0x16], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100625e0
sub ecx, edi
lea eax, [ebp - 0x25]
push ecx
push eax
push ecx
mov ecx, ebx
call fcn.1001e700
add esp, 0xc
cmp eax, 0xffffffff
je 0x100626f2
mov byte [ebp - 1], 0
xor ecx, ecx
mov eax, dword [esi]
mov dword [ebp - 0x15], 0xafada2e4
mov dword [ebp - 0x11], 0xf4b7ab
mov byte [ebp - 0xd], 1
mov edx, dword [eax + 0x2c]
nop
mov al, cl
sub al, 0x40
xor byte [ebp + ecx - 0x15], al
inc ecx
cmp ecx, 7
jb 0x10062620
push 1
lea eax, [ebp - 1]
mov byte [ebp - 0xd], 0
push eax
lea eax, [ebp - 0x15]
mov ecx, esi
push eax
call edx
cmp byte [ebp - 1], 0
mov edi, eax
je 0x100626a0
test edi, edi
je 0x100626a0
mov ebx, dword [ebp - 8]
sub esp, 0xc
movss xmm1, dword [0x100f0568]
mov edx, dword [edi]
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
movd xmm0, ecx
mov ecx, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 8], xmm0
movd xmm0, eax
movzx eax, byte [ebx]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp], xmm0
call dword [edx + 0x28]
jmp 0x100626f2
mov ebx, dword [ebp - 8]
sub esp, 0xc
movss xmm1, dword [0x100f0568]
mov ecx, esi
mov edx, dword [esi]
movzx eax, byte [ebx + 2]
movd xmm0, eax
movzx eax, byte [ebx + 1]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 8], xmm0
movd xmm0, eax
movzx eax, byte [ebx]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp], xmm0
call dword [edx + 0x70]
mov ecx, dword [0x100fc360]
push dword [ebp - 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x130]
call eax
mov ecx, dword [0x100fc360]
movzx esi, ax
mov dword [ebp - 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x134]
call eax
cmp si, ax
jne 0x10062550
pop edi
pop esi
mov byte [0x100fc4f0], 1
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100649c0
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 0x10064a21
mov cl, byte [esi]
lea esi, [esi + 1]
dec edi
cmp cl, 0x23
jne 0x10064a04
cmp edi, 2
jb 0x10064a04
cmp byte [esi], cl
jne 0x10064a04
cmp byte [esi + 1], cl
jne 0x10064a04
mov eax, ebx
movzx ecx, cl
movzx edx, al
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100db4d8]
jmp 0x100649d5
movzx edx, al
movzx ecx, cl
xor edx, ecx
shr eax, 8
xor eax, dword [edx*4 + 0x100db4d8]
test edi, edi
jne 0x100649d5
pop edi
pop esi
not eax
pop ebx
pop ebp
ret
mov cl, byte [esi]
inc esi
test cl, cl
je 0x10064a50
cmp cl, 0x23
jne 0x10064a37
cmp byte [esi], cl
jne 0x10064a37
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 + 0x100db4d8]
test cl, cl
jne 0x10064a28
pop edi
pop esi
not eax
pop ebx
pop ebp
ret

Function at 0x10064be0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
test esi, esi
jne 0x10064c05
push 0x5f7
push str.C:UsersRichcieDesktopFedoraware_mainSE_OwnedTeamFortress2TeamFortress2FeaturesWhatImGuiimgui.cpp
push str.filename__mode
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov edi, dword [ebp + 8]
test edi, edi
je 0x10064c12
mov dword [edi], 0
mov edx, 0x100e0280
mov ecx, esi
call fcn.10064a60
mov esi, eax
test esi, esi
je 0x10064d02
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push esi
call ebx
add esp, 4
mov dword [ebp - 4], eax
cmp eax, 0xffffffff
je 0x10064cf8
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 0x10064cf8
push esi
call ebx
mov ebx, eax
add esp, 4
mov dword [ebp + 8], ebx
cmp ebx, 0xffffffff
je 0x10064cf8
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 0x10064cf8
mov eax, dword [0x100fc4f8]
test eax, eax
je 0x10064c8c
inc dword [eax + 0x370]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10064cf8
push esi
push dword [ebp + 8]
push 1
push ebx
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 0x10064cdd
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [0x100fc4f8]
add esp, 4
test eax, eax
je 0x10064cca
dec dword [eax + 0x370]
push ebx
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 edi, edi
je 0x10064cef
mov eax, dword [ebp + 8]
mov dword [edi], eax
mov eax, ebx
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