joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001c250
Capabilities:
Read file on windows
Read pipe

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
cmp qword [rsp + 0x68], 0
jne 0x14001c272
xor al, al
jmp 0x14001c339
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x14001c28b
xor al, al
jmp 0x14001c339
mov rax, qword [rsp + 0x40]
cmp qword [rax + 8], 0xffffffffffffffff
jne 0x14001c29e
xor al, al
jmp 0x14001c339
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x14001c32d
mov eax, dword [rsp + 0x30]
cmp rax, qword [rsp + 0x70]
jb 0x14001c32b
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x34], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x34]
mov r8d, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x14001c321
mov al, 1
jmp 0x14001c339
mov rcx, qword [rsp + 0x60]
call fcn.14001c150
jmp 0x14001c337
mov rcx, qword [rsp + 0x60]
call fcn.14001c150
xor al, al
add rsp, 0x58
ret

Function at 0x14001c6a0
Capabilities:
Set registry value

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], 0
cmp qword [rsp + 0x88], 0
je 0x14001c755
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, word [rcx + rax]
test eax, eax
je 0x14001c755
mov qword [rsp + 0x40], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
je 0x14001c74b
mov eax, dword [rsp + 0x50]
jmp 0x14001c7b5
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x98]
xor r8d, r8d
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x58], 0
je 0x14001c7b1
mov rax, qword [rsp + 0x80]
cmp qword [rsp + 0x58], rax
je 0x14001c7b1
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [rsp + 0x50]
add rsp, 0x78
ret
Function at 0x14001cbe0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xaf8
mov rax, qword [0x140420080]
xor rax, rsp
mov qword [rsp + 0xae0], rax
mov dword [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_32
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rsp + 0xb00]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [rsp + 0x28], reloc.WLDAP32.dll_Ordinal_32
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rsp + 0xb08]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareValveSteam
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 0
je 0x14001ccb1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_opening_Steam_key_n
mov rcx, rax
call fcn.14001c460
jmp 0x14001cdb8
mov dword [rsp + 0x38], 0x208
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14016efb8]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x34], eax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0x34], 0
jne 0x14001cd05
cmp dword [rsp + 0x38], 1
jae 0x14001cd24
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.Error_reading_SteamExe_key_n
mov rcx, rax
call fcn.14001c460
jmp 0x14001cdb8
mov eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 2
div rcx
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x30], 0
jmp 0x14001cd4a
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x30], eax
jae 0x14001cd78
mov eax, dword [rsp + 0x30]
movzx eax, word [rsp + rax*2 + 0xd0]
cmp eax, 0x2f
jne 0x14001cd76
mov eax, dword [rsp + 0x30]
mov ecx, 0x5c
mov word [rsp + rax*2 + 0xd0], cx
jmp 0x14001cd40
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xd0]
lea r8, [0x14016eff8]
mov edx, 0x800
lea rcx, [rsp + 0x2e0]
call fcn.14001c4b0
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x90]
call fcn.14001c7c0
mov rcx, qword [rsp + 0xae0]
xor rcx, rsp
call fcn.140151e30
add rsp, 0xaf8
ret
Function at 0x140020210
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rcx, qword [rsp + 0x68]
call fcn.14000ef00
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140020720
nop
lea rax, [0x1400207a0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x30]
call fcn.14000ed10
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x14002029d
lea rcx, [rsp + 0x30]
call fcn.1400203e0
jmp 0x1400202b5
mov rax, qword [rsp + 0x60]
mov dword [rax + 8], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rsp + 0x30]
call fcn.140020410
add rsp, 0x58
ret

Function at 0x140020890
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x38
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0x138
jne 0x1400208b2
mov rcx, qword [rsp + 0x40]
call fcn.140020990
jmp 0x1400208c9
mov rax, qword [rsp + 0x40]
cmp dword [rax], 0x270
jb 0x1400208c9
mov rcx, qword [rsp + 0x40]
call fcn.140020a60
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + rax*8 + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shr rax, 0x1d
mov rcx, qword [rsp + 0x40]
and rax, qword [rcx + 0x1388]
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shl rax, 0x11
movabs rcx, 0x71d67fffeda60000
and rax, rcx
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shl rax, 0x25
movabs rcx, 0xfff7eee000000000
and rax, rcx
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
shr rax, 0x2b
mov rcx, qword [rsp + 0x20]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
add rsp, 0x38
ret
Function at 0x140020990
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov qword [rsp], 0x138
jmp 0x1400209ae
mov rax, qword [rsp]
inc rax
mov qword [rsp], rax
cmp qword [rsp], 0x270
jae 0x140020a4c
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp]
mov rax, qword [rax + rcx*8 - 0x9b8]
and rax, 0xffffffff80000000
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp]
mov rcx, qword [rcx + rdx*8 - 0x9b0]
and rcx, 0x7fffffff
or rax, rcx
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
and rax, 1
test rax, rax
je 0x140020a12
movabs rax, 0xb5026f5aa96619e9
mov qword [rsp + 0x10], rax
jmp 0x140020a1b
mov qword [rsp + 0x10], 0
mov rax, qword [rsp + 8]
shr rax, 1
xor rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp]
xor rax, qword [rcx + rdx*8 - 0x4d8]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1400209a3
add rsp, 0x28
ret
Function at 0x140020a60
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp], 0
jmp 0x140020a7e
mov rax, qword [rsp]
inc rax
mov qword [rsp], rax
cmp qword [rsp], 0x9c
jae 0x140020b1c
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp]
mov rax, qword [rax + rcx*8 + 0x9c8]
and rax, 0xffffffff80000000
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
mov rcx, qword [rcx + rdx*8 + 0x9d0]
and rcx, 0x7fffffff
or rax, rcx
mov qword [rsp + 8], rax
mov rax, qword [rsp + 8]
and rax, 1
test rax, rax
je 0x140020ae2
movabs rax, 0xb5026f5aa96619e9
mov qword [rsp + 0x10], rax
jmp 0x140020aeb
mov qword [rsp + 0x10], 0
mov rax, qword [rsp + 8]
shr rax, 1
xor rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
xor rax, qword [rcx + rdx*8 + 0xea8]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x140020a73
jmp 0x140020b29
mov rax, qword [rsp]
inc rax
mov qword [rsp], rax
cmp qword [rsp], 0x137
jae 0x140020bc7
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp]
mov rax, qword [rax + rcx*8 + 0x9c8]
and rax, 0xffffffff80000000
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
mov rcx, qword [rcx + rdx*8 + 0x9d0]
and rcx, 0x7fffffff
or rax, rcx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x18]
and rax, 1
test rax, rax
je 0x140020b8d
movabs rax, 0xb5026f5aa96619e9
mov qword [rsp + 0x20], rax
jmp 0x140020b96
mov qword [rsp + 0x20], 0
mov rax, qword [rsp + 0x18]
shr rax, 1
xor rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
xor rax, qword [rcx + rdx*8 - 0x4d8]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x140020b1e
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp]
mov rax, qword [rax + rcx*8 + 0x9c8]
and rax, 0xffffffff80000000
mov ecx, 8
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + rcx + 8]
and rcx, 0x7fffffff
or rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
and rax, 1
test rax, rax
je 0x140020c1f
movabs rax, 0xb5026f5aa96619e9
mov qword [rsp + 0x30], rax
jmp 0x140020c28
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x28]
shr rax, 1
xor rax, qword [rsp + 0x30]
mov ecx, 8
imul rcx, rcx, 0x9b
mov rdx, qword [rsp + 0x50]
xor rax, qword [rdx + rcx + 8]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp]
mov qword [rcx + rdx*8 + 8], rax
mov rax, qword [rsp + 0x50]
mov dword [rax], 0
add rsp, 0x48
ret
Function at 0x14002ecd0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x88
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x74], 0x800
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.d3dx11_43.dll_D3DX11CompileFromMemory]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
jge 0x14002edbd
cmp qword [rsp + 0x78], 0
je 0x14002ed9f
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x78]
call qword [rax + Ordinal_26]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp qword [rsp + 0x78], 0
je 0x14002edb7
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x78]
call qword [rax + reloc.WS2_32.dll_recv]
mov eax, dword [rsp + 0x70]
jmp 0x14002edd7
cmp qword [rsp + 0x78], 0
je 0x14002edd5
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x78]
call qword [rax + reloc.WS2_32.dll_recv]
xor eax, eax
add rsp, 0x88
ret
Function at 0x14003c3f0
Capabilities:
Create process on windows

Disassembly:
mov byte [rsp + 0x20], r9b
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xc8
mov rax, qword [0x140420080]
xor rax, rsp
mov qword [rsp + 0xb0], rax
movzx eax, byte [rsp + 0xf0]
cmp eax, 1
jne 0x14003c43e
call fcn.140078980
movss xmm1, dword [rax + 0x50]
xorps xmm0, xmm0
call fcn.1400898a0
call fcn.140078980
mov ecx, reloc.WS2_32.dll_recv
imul rcx, rcx, 0x17
lea rax, [rax + rcx + 0xc4]
mov rdx, rax
xor ecx, ecx
call fcn.140078c10
movss xmm0, dword [0x140410254]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1404101f0]
movss xmm2, dword [0x1404100f4]
movss xmm1, dword [0x14040ffb4]
lea rcx, [rsp + 0x60]
call fcn.140011e60
mov rdx, qword [rsp + 0xe0]
mov rcx, rax
call fcn.1400b7490
mov ecx, 1
call fcn.140078cb0
xor ecx, ecx
call fcn.14007b510
movzx eax, al
test eax, eax
je 0x14003c589
xor edx, edx
xor ecx, ecx
call fcn.1400804d0
movzx eax, al
test eax, eax
je 0x14003c52a
mov r8, qword [rsp + 0xe8]
lea rdx, str._C_start
lea rcx, [rsp + 0x90]
call fcn.1400672d0
lea rcx, [rsp + 0x90]
call fcn.1400132d0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, rax
lea r8, str.cmd.exe
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteA]
lea rcx, [rsp + 0x90]
call fcn.140013380
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
call fcn.140078980
mov ecx, reloc.WS2_32.dll_recv
imul rcx, rcx, 0x17
lea rax, [rax + rcx + 0xc4]
mov rdx, rax
mov rcx, qword [rsp + 0x30]
call fcn.140033f10
lea rcx, [rsp + 0x40]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.14003c320
mov rdx, qword [rsp + 0xe0]
lea rcx, str._Open_in_browser_n_s
call fcn.14008b360
jmp 0x14003c5d5
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
call fcn.140078980
mov ecx, reloc.WS2_32.dll_recv
imul rcx, rcx, 0x16
lea rax, [rax + rcx + 0xc4]
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call fcn.140033f10
lea rcx, [rsp + 0x50]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x50]
call fcn.14003c320
movzx eax, byte [rsp + 0xf8]
cmp eax, 1
jne 0x14003c5f5
call fcn.140078980
movss xmm1, dword [rax + 0x50]
xorps xmm0, xmm0
call fcn.1400898a0
nop
mov rcx, qword [rsp + 0xe8]
call fcn.140013380
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140151e30
add rsp, 0xc8
pop rdi
pop rsi
ret
Function at 0x140069ba0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
mov r8d, 2
xor edx, edx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x140069bd6
mov eax, 0xfffffffd
jmp 0x140069cd3
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jge 0x140069bf6
mov eax, 0xfffffffd
jmp 0x140069cd3
cmp dword [rsp + 0x20], 0
jne 0x140069c04
xor eax, eax
jmp 0x140069cd3
mov eax, dword [rsp + 0x20]
inc eax
cdqe
lea rdx, [0x14016c5fc]
mov rcx, rax
call fcn.140152660
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x140069c3c
mov eax, 0xfffffffe
jmp 0x140069cd3
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov byte [rcx + rax], 0
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
movsxd rax, dword [rsp + 0x20]
mov r9, qword [rsp + 0x78]
mov r8, rax
mov edx, 1
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov qword [rsp + 0x38], rax
movsxd rax, dword [rsp + 0x20]
cmp qword [rsp + 0x38], rax
je 0x140069ca3
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
call fcn.1401520dc
mov eax, 0xfffffffd
jmp 0x140069cd3
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x70]
call fcn.14006bd30
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1401520dc
mov eax, dword [rsp + 0x28]
add rsp, 0x68
ret

Function at 0x140076cd0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov eax, dword [rsp + 0x40]
not eax
mov dword [rsp], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 8], rax
lea rax, [0x1403aaf20]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x38]
dec rax
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x10], 0
je 0x140076d5e
mov eax, dword [rsp]
shr eax, 8
mov ecx, dword [rsp]
and ecx, 0xff
mov rdx, qword [rsp + 8]
movzx edx, byte [rdx]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rsp + 0x18]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 4], eax
mov rax, qword [rsp + 8]
inc rax
mov qword [rsp + 8], rax
mov eax, dword [rsp + 4]
mov dword [rsp], eax
jmp 0x140076d02
mov eax, dword [rsp]
not eax
add rsp, 0x28
ret
Function at 0x140076d70
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x28
mov eax, dword [rsp + 0x40]
not eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 4], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 8], rax
lea rax, [0x1403aaf20]
mov qword [rsp + 0x10], rax
cmp qword [rsp + 0x38], 0
je 0x140076e74
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x38]
dec rax
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x18], 0
je 0x140076e6f
mov rax, qword [rsp + 8]
movzx eax, byte [rax]
mov byte [rsp + 2], al
mov rax, qword [rsp + 8]
inc rax
mov qword [rsp + 8], rax
movzx eax, byte [rsp + 2]
mov byte [rsp + 1], al
movzx eax, byte [rsp + 1]
cmp eax, 0x23
jne 0x140076e44
cmp qword [rsp + 0x38], 2
jb 0x140076e44
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 8]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x140076e44
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 8]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x140076e44
mov eax, dword [rsp + 0x40]
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shr eax, 8
mov ecx, dword [rsp + 4]
and ecx, 0xff
movzx edx, byte [rsp + 1]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rsp + 0x10]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 4], eax
jmp 0x140076db7
jmp 0x140076f06
mov rax, qword [rsp + 8]
movzx eax, byte [rax]
mov byte [rsp + 3], al
mov rax, qword [rsp + 8]
inc rax
mov qword [rsp + 8], rax
movzx eax, byte [rsp + 3]
mov byte [rsp], al
movzx eax, byte [rsp]
test eax, eax
je 0x140076f06
movzx eax, byte [rsp]
cmp eax, 0x23
jne 0x140076edc
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 8]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x140076edc
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 8]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x140076edc
mov eax, dword [rsp + 0x40]
mov dword [rsp + 4], eax
mov eax, dword [rsp + 4]
shr eax, 8
mov ecx, dword [rsp + 4]
and ecx, 0xff
movzx edx, byte [rsp]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rsp + 0x10]
xor eax, dword [rdx + rcx*4]
mov dword [rsp + 4], eax
jmp 0x140076e74
mov eax, dword [rsp + 4]
not eax
add rsp, 0x28
ret
Function at 0x1400b3370
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
mov rax, qword [0x140420080]
xor rax, rsp
mov qword [rsp + 0x60], rax
call fcn.14007bf10
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
lea rdx, [rsp + 0x50]
mov rcx, qword [0x14045c210]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x5c]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm0, eax
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
cvtsi2ss xmm1, eax
movaps xmm2, xmm0
lea rcx, [rsp + 0x48]
call fcn.14002e840
mov rax, qword [rax]
mov rcx, qword [rsp + 0x20]
mov qword [rcx + 8], rax
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [0x14045c218]
mov rcx, qword [rsp + 0x40]
sub rcx, rax
mov rax, rcx
cvtsi2ss xmm0, rax
cvtsi2ss xmm1, qword [0x14045c220]
divss xmm0, xmm1
mov rax, qword [rsp + 0x20]
movss dword [rax + 0x10], xmm0
mov rax, qword [rsp + 0x40]
mov qword [0x14045c218], rax
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400b3465
mov dword [rsp + 0x28], 1
jmp 0x1400b346d
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x28]
mov byte [rax + 0x138], cl
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400b349c
mov dword [rsp + 0x2c], 1
jmp 0x1400b34a4
mov dword [rsp + 0x2c], 0
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x2c]
mov byte [rax + 0x139], cl
mov ecx, reloc.WS2_32.dll_select
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400b34d3
mov dword [rsp + 0x30], 1
jmp 0x1400b34db
mov dword [rsp + 0x30], 0
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x30]
mov byte [rax + 0x13a], cl
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x13b], 0
call fcn.1400b2b90
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0xc0]
test eax, eax
je 0x1400b3516
mov dword [rsp + 0x34], 0xffffffff
jmp 0x1400b351f
call fcn.140080780
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x38]
cmp dword [reloc.WS2_32.dll_htons], eax
je 0x1400b3542
mov eax, dword [rsp + 0x38]
mov dword [reloc.WS2_32.dll_htons], eax
call fcn.1400b2a60
call fcn.1400b2cb0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140151e30
add rsp, 0x78
ret