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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x40
mov r14, rdx
mov rdi, rcx
lea rsi, [0x1800c2340]
mov qword [rsp + 0x70], rsi
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x18002a2ed
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1800c238c], 0x7fffffff
jne 0x18002a30f
mov dword [0x1800c238c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a320
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x18002a353
movabs r10, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18002a340
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.18001c990
cmp qword [rax + 8], 0
je 0x18002a37e
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
jne 0x18002a3af
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a38b
mov rdx, qword [rdi]
mov rcx, qword [0x1800c68f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
je 0x18002a3f5
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rax, qword [rax]
mov rdx, qword [rax + 0x30]
mov rcx, r14
call rdx
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov eax, ebx
jmp 0x18002a3fe
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret
Function at 0x18002a410
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov r15, rdx
mov rdi, rcx
lea rsi, [0x1800c2430]
mov qword [rsp + 0x78], rsi
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x18002a456
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1800c247c], 0x7fffffff
jne 0x18002a478
mov dword [0x1800c247c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a489
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x18002a4c3
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18002a4b0
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.18001c990
cmp qword [rax + 8], 0
je 0x18002a4ee
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
jne 0x18002a51f
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a4fb
mov rdx, qword [rdi]
mov rcx, qword [0x1800c68f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
je 0x18002a569
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rax, qword [rax]
mov r8, qword [rax + 0x30]
mov rdx, r14
mov rcx, r15
call r8
mov ebx, eax
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov eax, ebx
jmp 0x18002a572
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x18002a590
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x40
mov r14d, r8d
mov r15, rdx
mov rdi, rcx
lea rsi, [0x1800c22f0]
mov qword [rsp + 0x78], rsi
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x18002a5d6
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1800c233c], 0x7fffffff
jne 0x18002a5f8
mov dword [0x1800c233c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a609
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x18002a643
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18002a630
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.18001c990
cmp qword [rax + 8], 0
je 0x18002a66e
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
jne 0x18002a69f
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a67b
mov rdx, qword [rdi]
mov rcx, qword [0x1800c68f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
je 0x18002a6eb
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rax, qword [rax]
mov r8, qword [rax + 0x30]
mov edx, r14d
mov rcx, r15
call r8
mov rbx, rax
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rax, rbx
jmp 0x18002a6f4
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x18002a710
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov r15, rdx
mov rdi, rcx
lea rsi, [0x1800c20f0]
mov qword [rsp + 0x78], rsi
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x18002a756
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1800c213c], 0x7fffffff
jne 0x18002a778
mov dword [0x1800c213c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov r8, qword [rdi + 0x10]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a789
mov rdx, qword [rdi]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x18002a7c3
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x18002a7b0
mov r8, rdi
lea rdx, [rsp + 0x20]
call fcn.18001c990
cmp qword [rax + 8], 0
je 0x18002a7ee
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
jne 0x18002a81f
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18002a7fb
mov rdx, qword [rdi]
mov rcx, qword [0x1800c68f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rcx, qword [rax]
cmp qword [rcx + 0x30], 0
je 0x18002a866
mov r8, rdi
lea rdx, [rsp + 0x30]
call fcn.18001c370
mov rax, qword [rax]
mov r8, qword [rax + 0x30]
mov rdx, r14
mov rcx, r15
call r8
nop
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
jmp 0x18002a86f
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
Function at 0x1800319b0
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov ecx, dword [0x1800c55c4]
mov rax, qword gs:[0x58]
mov rdi, qword [rdx]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800c6c40], ecx
jle 0x180031a12
lea rcx, [0x1800c6c40]
call fcn.180082fd8
cmp dword [0x1800c6c40], 0xffffffff
jne 0x180031a12
lea rcx, [0x1800872f0]
call fcn.180082f18
lea rcx, [0x1800c6c40]
call fcn.180082f6c
mov rax, qword [0x1800c5738]
xor esi, esi
test rax, rax
je 0x180031a29
mov rcx, qword [rax + 0xa0]
jmp 0x180031a2c
mov rcx, rsi
cmp qword [rcx + 0x48], rsi
jne 0x180031a37
call fcn.1800336c0
call fcn.180035070
call fcn.18003d920
call fcn.1800315b0
cmp byte [0x1800c25e8], sil
je 0x180031a5b
lea rcx, [0x1800c25d0]
call fcn.18002bdb0
xor edx, edx
lea rcx, str.UnityWndClass
call qword [sym.imp.USER32.dll_FindWindowA]
mov rbx, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, rbx
jne 0x180031a95
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180031a95
cmp byte [0x1800c25e8], sil
sete byte [0x1800c25e8]
call fcn.18003fc50
call fcn.180040060
mov rax, qword [rdi]
lea r8, [0x1800c5730]
xor r9d, r9d
mov edx, 1
mov rcx, rdi
call qword [rax + 0x108]
mov rax, qword [0x1800c5738]
mov rcx, qword [rax + 0x4210]
mov rcx, qword [rcx]
add rcx, 0xa8
cmp byte [rcx], sil
cmove rcx, rsi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp fcn.180032c50
Function at 0x1800322f0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1330]
mov eax, 0x1430
call fcn.180083e10
sub rsp, rax
mov rax, qword [0x1800c2040]
xor rax, rsp
mov qword [rbp + 0x1320], rax
mov rdi, rcx
mov qword [rsp + 0x70], rcx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
movdqa xmm1, xmmword [0x1800af7d0]
movdqu xmmword [rsp + 0x28], xmm1
movdqa xmm0, xmmword [0x1800af860]
movdqu xmmword [rsp + 0x38], xmm0
movdqa xmm1, xmmword [0x1800af910]
movdqu xmmword [rsp + 0x48], xmm1
mov dword [rsp + 0x58], 0x7a797877
mov dword [rsp + 0x5c], 0x33323130
mov dword [rsp + 0x60], 0x37363534
mov word [rsp + 0x64], 0x3938
lea rsi, [rsp + 0x28]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r14
mov ecx, 0x3e
call fcn.180082b48
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
lea rbx, [rax + 0x3e]
mov qword [rbp - 0x78], rbx
mov r8d, 0x3e
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x80], rbx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [rbp + 0x1314], 0xffffffff
mov dword [rbp - 0x6c], eax
mov ecx, 1
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0x6c], edx
inc rcx
cmp rcx, 0x270
jb 0x1800323e0
mov dword [rbp - 0x70], 0x270
mov rsi, qword [rbp - 0x80]
sub rsi, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov dword [rsp + 0x20], 1
mov r14d, 0xa
lea rax, [rbp - 0x70]
mov qword [rsp + 0x68], rax
test rsi, rsi
jne 0x18003245f
lea rcx, [rbp - 0x70]
call fcn.180032880
mov ebx, eax
shl rbx, 0x20
lea rcx, [rbp - 0x70]
call fcn.180032880
mov eax, eax
or rbx, rax
jmp 0x18003246f
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.180032690
mov rbx, rax
mov rax, qword [rsp + 0x78]
movzx r9d, byte [rax + rbx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x1800324a5
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18003249a
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1800324ad
mov rcx, rdi
call fcn.1800027d0
sub r14, 1
jne 0x180032432
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1800324f5
mov rdx, qword [rbp - 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800324f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800324f0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180082b40
mov rax, rdi
mov rcx, qword [rbp + 0x1320]
xor rcx, rsp
call fcn.180082b20
lea r11, [rsp + 0x1430]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
Function at 0x180032880
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r9, rcx
mov r10d, 0x270
mov ecx, dword [rcx]
cmp ecx, r10d
jne 0x1800328e1
lea r8, [r9 + 8]
nop dword [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x1800328a0
mov ecx, dword [r9]
jmp 0x1800329cb
cmp ecx, 0x4e0
jb 0x1800329cb
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
add r10, 4
mov edx, r11d
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x180032900
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x180032950
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret
Function at 0x180035070
Capabilities:
Log keystrokes via polling

Disassembly:
push rdi
sub rsp, 0x40
mov rax, qword [0x1800c2040]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rsi
mov rsi, qword [0x1800c5738]
test rsi, rsi
je 0x18003509f
mov rdi, qword [rsi + 0x98]
jmp 0x1800350a1
xor edi, edi
xorps xmm0, xmm0
lea rdx, [rsp + 0x20]
movdqu xmmword [rsp + 0x20], xmm0
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rsp + 0x28]
sub eax, dword [rsp + 0x20]
movd xmm1, eax
mov eax, dword [rsp + 0x2c]
sub eax, dword [rsp + 0x24]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x10], xmm1
movss dword [rsi + 0x14], xmm0
cmp byte [rdi + 0x2e], 0
je 0x1800350eb
call fcn.180035000
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rsp + 0x30]
xorps xmm1, xmm1
mov rax, rcx
xorps xmm0, xmm0
sub rax, qword [rdi + 0x18]
cvtsi2ss xmm0, qword [rdi + 0x20]
cvtsi2ss xmm1, rax
divss xmm1, xmm0
movss dword [rsi + 0x18], xmm1
mov qword [rdi + 0x18], rcx
call fcn.180034600
mov rax, qword [0x1800c5738]
cmp byte [rax + 0x2f10], 0
je 0x180035184
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x180035184
mov rbx, qword [0x1800c5738]
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x210
lea rcx, [rbx + 8]
call fcn.1800384f0
mov dword [rbx + 0x380], 0x210
mov dword [rbx + 0x940], 0xa0
mov rax, qword [0x1800c5738]
cmp byte [rax + 0x2f50], 0
je 0x1800351d5
mov ecx, 0xa1
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x1800351d5
mov rbx, qword [0x1800c5738]
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x214
lea rcx, [rbx + 8]
call fcn.1800384f0
mov dword [rbx + 0x384], 0x214
mov dword [rbx + 0x950], 0xa1
mov rax, qword [0x1800c5738]
cmp byte [rax + 0x2f30], 0
je 0x180035226
mov ecx, 0x5b
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x180035226
mov rbx, qword [0x1800c5738]
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x212
lea rcx, [rbx + 8]
call fcn.1800384f0
mov dword [rbx + 0x26c], 0x212
mov dword [rbx + 0x948], 0x5b
mov rax, qword [0x1800c5738]
cmp byte [rax + 0x2f70], 0
je 0x180035277
mov ecx, 0x5c
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
jne 0x180035277
mov rbx, qword [0x1800c5738]
xorps xmm3, xmm3
xor r8d, r8d
mov edx, 0x216
lea rcx, [rbx + 8]
call fcn.1800384f0
mov dword [rbx + 0x270], 0x216
mov dword [rbx + 0x958], 0x5c
cmp byte [rsi + 0x78], 0
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
je 0x18003528e
mov eax, 0xffffffff
jmp 0x18003529b
mov rax, qword [0x1800c5738]
mov eax, dword [rax + 0x43f8]
cmp dword [rdi + 0x28], eax
je 0x1800352a8
mov dword [rdi + 0x28], eax
call fcn.180034490
call fcn.180034870
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.180082b20
add rsp, 0x40
pop rdi
ret
Function at 0x180038680
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x1800386dd
lea rbx, [0x1800a9440]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x1800386c4
cmp r10, 2
jb 0x1800386c4
cmp byte [r9], r8b
jne 0x1800386c4
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x1800386a0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x18003871f
lea rbx, [0x1800a9440]
cmp r8b, 0x23
jne 0x180038703
cmp byte [r9], r8b
jne 0x180038703
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x1800386f0
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x180038860
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x18003887a
mov qword [r8], 0
lea rdx, [0x1800ae768]
call fcn.180038730
mov rbx, rax
test rax, rax
jne 0x18003889a
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x180038973
xor edx, edx
mov r8d, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x180038973
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180038973
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x180038973
cmp rdi, 0xffffffffffffffff
je 0x180038973
mov rax, qword [0x1800c5738]
test rax, rax
je 0x180038910
inc dword [rax + 0xf4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x180038973
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rdi
je 0x180038960
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1800c5738]
test rax, rax
je 0x180038955
dec dword [rax + 0xf4]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18003897c
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x18003896e
mov qword [r14], rdi
mov rax, rsi
jmp 0x18003897e
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x18003b920
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x110]
lea r8, [0x1800a9440]
movsxd rcx, dword [rcx + 0x108]
mov r11d, edx
shr r11d, 0x18
mov r9d, edx
shr r9d, 8
mov r10d, edx
shr r10d, 0x10
mov ebx, dword [rax + rcx*4 - 4]
not ebx
movzx eax, dl
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r9b
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
movzx eax, r10b
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rcx, r11
shr ebx, 8
xor ebx, dword [r8 + rcx*4]
mov rcx, qword [0x1800c5738]
not ebx
cmp dword [rcx + 0x401c], ebx
jne 0x18003b9b5
movsxd r8, edx
mov ecx, ebx
mov edx, 4
call fcn.18005a580
mov eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x180048f40
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1800c2040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1800c5738]
mov edi, ecx
cmp byte [rbx + 0x43fd], 0
jne 0x180048fa1
cmp byte [rbx + 0x43fe], 0
jne 0x180048fa1
movsx r9d, word [rbx + 0x54de]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.180038600
test dil, 1
je 0x1800490cb
jmp 0x180049033
movss xmm1, dword [rbx + 0x39c0]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x54de]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1800aefd8]
mov edx, 0x10
mulss xmm1, dword [0x1800aefc8]
addss xmm0, dword [rbx + 0xd9c]
addss xmm1, dword [rbx + 0xda0]
mov qword [rbx + 0x410c], rax
mov dword [rbx + 0x40f4], 1
movss dword [rbx + 0x4104], xmm0
mov byte [rbx + 0x412c], 1
movss dword [rbx + 0x4108], xmm1
movss xmm0, dword [rbx + 0x3a1c]
mulss xmm0, dword [0x1800aef1c]
or dword [rbx + 0x40f0], 0x41
movss dword [rbx + 0x4150], xmm0
call fcn.180038600
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x180049083
lea r11, [0x1800a9440]
cmp r9b, 0x23
jne 0x180049066
cmp byte [r8], r9b
jne 0x180049066
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x180049053
not ecx
call fcn.180040e80
test rax, rax
je 0x1800490cb
cmp byte [rax + 0xcb], 0
je 0x1800490cb
mov byte [rax + 0xd2], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xec], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x54de]
mov edx, 0x10
movsx r9d, word [rbx + 0x54de]
call fcn.180038600
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x22c0347
call fcn.180043c60
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.180082b20
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x18004e230
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x55d0], 0
lea rbx, [rcx + 0x55d8]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x18004e2d7
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x18004e28a
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.18005baf0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.180038e60
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x55d0]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x55e0]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x1800c5748]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x18004e2df
mov rcx, rbx
call fcn.180038e60
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret