joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1800c7970
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xorps xmm4, xmm4
movaps xmmword [rbp - 0x50], xmm4
xor eax, eax
mov qword [rbp - 0x40], rax
mov rbx, rdx
mov rsi, r8
mov rdi, r9
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x48], rcx
lea rdx, [rbp - 0x40]
cmp dword [rcx], ecx
call fcn.1800bb4e0
nop
test rbx, rbx
jne 0x1800c79c1
xor edx, edx
jmp 0x1800c79c5
lea rdx, [rbx + 0xc]
mov qword [rbp - 0x50], rdx
mov rcx, qword [rbp - 0x48]
mov rbx, qword [rbp + 0x30]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rbp + 0x38]
mov qword [rsp + 0x28], rbx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x88], rdx
mov r8, rsi
mov qword [rbp - 0x90], r8
mov r9, rdi
mov qword [rbp - 0x98], r9
lea rcx, [rbp - 0x78]
call fcn.1800060d0
mov rcx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x88]
mov r8, qword [rbp - 0x90]
mov r9, qword [rbp - 0x98]
call sub.ADVAPI32.dll_RegQueryValueExW
mov ebx, eax
lea rcx, [rbp - 0x78]
call fcn.180006120
nop
xor ecx, ecx
mov qword [rbp - 0x50], rcx
cmp byte [rbp - 0x40], 0
je 0x1800c7a4e
mov rcx, qword [rbp - 0x48]
cmp byte [rcx], cl
xor edx, edx
call fcn.1800bb520
mov eax, ebx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x1800ca160
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov r10, qword [rcx + 0x20]
mov r9, rdx
shl r9, 0x11
xor r8, rax
xor r10, rdx
lea r11, [rdx + rdx*4]
rol r11, 7
lea r11, [r11 + r11*8]
xor rdx, r8
xor rax, r10
xor r8, r9
rol r10, 0x2d
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], r10
mov rax, r11
shr rax, 0x21
cmp rax, 0x7fffffff
je fcn.1800ca160
ret

Function at 0x1800ede70
Capabilities:
Generate random numbers via winapi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
mov r8d, edx
mov dword [rbp - 0x64], r8d
mov rdx, rcx
mov qword [rbp - 0x70], rdx
xor ecx, ecx
mov qword [rbp - 0x78], rcx
mov r9d, 2
mov dword [rbp - 0x68], r9d
lea rcx, [rbp - 0x60]
call fcn.1800060d0
mov r8d, dword [rbp - 0x64]
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
mov r9d, dword [rbp - 0x68]
call sub.bcrypt.dll_BCryptGenRandom
mov ebx, eax
lea rcx, [rbp - 0x60]
call fcn.180006120
mov ecx, ebx
test ecx, ecx
jne 0x1800edee6
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1800ec680
mov rcx, rax
call fcn.1800049c0
int3
Function at 0x180115920
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x38
cmp r8d, 8
jl 0x180115b0a
movsx r10, dx
movd xmm0, r10d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov rax, rcx
lea edx, [r8 - 8]
movsxd r10, edx
add r10, r10
lea rdx, [rax + r10]
movups xmm1, xmmword [rax]
pcmpeqw xmm1, xmm0
movaps xmmword [rsp + 0x20], xmm1
xorps xmm2, xmm2
pcmpeqw xmm1, xmm2
pmovmskb r9d, xmm1
cmp r9d, 0xffff
je 0x180115a3c
mov rdx, qword [rsp + 0x20]
mov qword [rsp + 0x18], rdx
movzx r8d, word [rsp + 0x18]
shr r8d, 0xf
movzx r10d, word [rsp + 0x1a]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx edx, word [rsp + 0x1c]
shr edx, 0xf
shl edx, 2
or edx, r8d
mov r8d, edx
movzx edx, word [rsp + 0x1e]
shr edx, 0xf
shl edx, 3
or edx, r8d
mov r8d, edx
mov edx, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or edx, r8d
bsf r8d, edx
mov r10d, 0x20
test edx, edx
cmove r8d, r10d
sub rax, rcx
shr rax, 1
add eax, r8d
jmp 0x180115b6d
add rax, 0x10
cmp rax, rdx
jbe 0x180115951
mov r8d, r8d
test r8b, 7
je 0x180115b7a
movups xmm1, xmmword [rdx]
pcmpeqw xmm0, xmm1
movaps xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
pcmpeqw xmm0, xmm1
pmovmskb ecx, xmm0
cmp ecx, 0xffff
je 0x180115b7a
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx edx, word [rsp + 2]
shr edx, 0xf
add edx, edx
or ecx, edx
movzx edx, word [rsp + 4]
shr edx, 0xf
shl edx, 2
or edx, ecx
mov ecx, edx
movzx edx, word [rsp + 6]
shr edx, 0xf
shl edx, 3
or edx, ecx
mov ecx, edx
shl ecx, 4
or eax, ecx
bsf ecx, eax
mov edx, 0x20
test eax, eax
cmove ecx, edx
shr r10, 1
lea eax, [r10 + rcx]
jmp 0x180115b6d
xor eax, eax
cmp r8d, 4
jl 0x180115b57
add r8d, 0xfffffffc
movsx r10, word [rcx + rax*2]
movsx r9, dx
cmp r10d, r9d
je 0x180115b6d
movsx r10, word [rcx + rax*2 + 2]
cmp r10d, r9d
jne 0x180115b33
inc eax
jmp 0x180115b6d
movsx r10, word [rcx + rax*2 + 4]
cmp r10d, r9d
jne 0x180115b43
add eax, 2
jmp 0x180115b6d
movsx r10, word [rcx + rax*2 + 6]
cmp r10d, r9d
jne 0x180115b53
add eax, 3
jmp 0x180115b6d
add rax, 4
test r8d, r8d
jle 0x180115b7a
movsx r9, dx
dec r8d
movsx rdx, word [rcx + rax*2]
cmp edx, r9d
jne 0x180115b72
add rsp, 0x38
ret
inc rax
test r8d, r8d
jg 0x180115b60
mov eax, 0xffffffff
add rsp, 0x38
ret
Function at 0x180002ab0
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 0x180002b0d
lea rbx, [0x1800c1ba0]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x180002af4
cmp r10, 2
jb 0x180002af4
cmp byte [r9], r8b
jne 0x180002af4
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 0x180002ad0
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x180002b4f
lea rbx, [0x1800c1ba0]
cmp r8b, 0x23
jne 0x180002b33
cmp byte [r9], r8b
jne 0x180002b33
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 0x180002b20
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x180002da0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x20
mov rsi, r8
mov rbx, rcx
test rcx, rcx
jne 0x180002dcf
mov r8d, 0x599
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.cpp
lea rcx, str.filename__mode
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test rsi, rsi
je 0x180002ddb
mov qword [rsi], 0
lea rdx, [0x1800c1848]
mov rcx, rbx
call fcn.180002b60
mov rbx, rax
test rax, rax
jne 0x180002dfd
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebp, eax
cmp eax, 0xffffffff
je 0x180002ee8
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x180002ee8
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x180002ee8
xor r8d, r8d
mov edx, ebp
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x180002ee8
cmp rdi, 0xffffffffffffffff
je 0x180002ee8
mov rax, qword [0x18022f970]
test rax, rax
je 0x180002e79
inc dword [rax + 0x3bc]
mov rdx, qword [0x18022f960]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbp, rax
test rax, rax
je 0x180002ee8
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 0x180002ed5
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x18022f970]
test rax, rax
je 0x180002ec4
dec dword [rax + 0x3bc]
mov rdx, qword [0x18022f960]
mov rcx, rbp
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x180002ef1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rsi, rsi
je 0x180002ee3
mov qword [rsi], rdi
mov rax, rbp
jmp 0x180002ef3
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
Function at 0x180004e30
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0xc0]
mov rbx, rcx
mov edi, edx
test eax, eax
jg 0x180004e6d
mov r8d, 0x51b
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx + 0xc0]
movsxd rcx, eax
lea r8, [0x1800c1ba0]
mov rax, qword [rbx + 0xc8]
mov edx, dword [rax + rcx*4 - 4]
not edx
movzx eax, dil
movzx ecx, dl
xor rcx, rax
shr edx, 8
movzx eax, byte [rsp + 0x39]
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
xor rcx, rax
shr edx, 8
movzx eax, byte [rsp + 0x3a]
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
xor rcx, rax
shr edx, 8
movzx eax, byte [rsp + 0x3b]
xor edx, dword [r8 + rcx*4]
movzx ecx, dl
xor rcx, rax
shr edx, 8
mov rax, qword [0x18022f970]
xor edx, dword [r8 + rcx*4]
not edx
cmp dword [rax + 0x1a78], edx
jne 0x180004ee2
mov dword [rax + 0x1a7c], edx
cmp dword [rax + 0x1ab4], edx
jne 0x180004ef1
mov byte [rax + 0x1ab8], 1
mov rbx, qword [rsp + 0x30]
mov eax, edx
add rsp, 0x20
pop rdi
ret
Function at 0x180004f00
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [rcx + 0xc0]
mov rdi, rdx
mov rbx, rcx
test eax, eax
jg 0x180004f3a
mov r8d, 0x51b
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx + 0xc0]
movss xmm0, dword [rdi]
subss xmm0, dword [rbx + 0x10]
movss xmm1, dword [rdi + 4]
subss xmm1, dword [rbx + 0x14]
movsxd rcx, eax
mov rax, qword [rbx + 0xc8]
cvttss2si r8d, xmm0
movss xmm0, dword [rdi + 8]
subss xmm0, dword [rbx + 0x10]
cvttss2si r9d, xmm1
movss xmm1, dword [rdi + 0xc]
lea rdi, [0x1800c1ba0]
subss xmm1, dword [rbx + 0x14]
mov ebx, dword [rax + rcx*4 - 4]
not ebx
movzx eax, r8b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
cvttss2si r10d, xmm0
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
movzx eax, r9b
cvttss2si r11d, xmm1
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r8d
shr rdx, 0x18
xor rdx, rcx
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
shr eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
movzx eax, r10b
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r9d
shr rdx, 0x18
xor rdx, rcx
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r10d
shr eax, 8
movzx edx, al
mov eax, r10d
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
xor ebx, dword [rdi + rdx*4]
shr eax, 0x10
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
movzx eax, r11b
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r10d
shr rdx, 0x18
xor rdx, rcx
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r11d
shr eax, 8
movzx edx, al
mov eax, r11d
xor ebx, dword [rdi + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
mov rax, qword [0x18022f970]
xor rdx, rcx
xor ebx, dword [rdi + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r11d
shr rdx, 0x18
xor rdx, rcx
xor ebx, dword [rdi + rdx*4]
not ebx
cmp dword [rax + 0x1a78], ebx
jne 0x1800050d7
mov dword [rax + 0x1a7c], ebx
cmp dword [rax + 0x1ab4], ebx
jne 0x1800050e6
mov byte [rax + 0x1ab8], 1
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x180007bb0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x50
cmp byte [rcx], 0
mov rbx, rcx
jne 0x180007bcb
cmp byte [rcx + 0x2f4c], 0
je 0x180007be5
mov r8d, 0xed7
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.cpp
lea rcx, str._g.Initialized___g.SettingsLoaded
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor eax, eax
lea r8, [0x1800bfbe9]
mov dword [rsp + 0x2c], eax
lea r11, [0x1800c1ba0]
mov qword [rsp + 0x48], rax
mov r10d, 0xffffffff
lea rax, str.Window
mov edx, r10d
mov qword [rsp + 0x20], rax
mov r9b, 0x57
cmp r9b, 0x23
jne 0x180007c29
cmp byte [r8], r9b
jne 0x180007c29
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x180007c16
mov ecx, dword [rbx + 0x2f6c]
lea rax, [0x180016760]
mov edi, dword [rbx + 0x2f68]
not edx
mov qword [rsp + 0x30], rax
lea rax, [0x1800167e0]
mov qword [rsp + 0x38], rax
lea rax, [0x1800168c0]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x28], edx
cmp edi, ecx
jne 0x180007d37
inc edi
test ecx, ecx
je 0x180007c95
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180007c9a
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x180007d37
mov rax, qword [0x18022f970]
mov qword [rsp + 0x60], rsi
test rax, rax
je 0x180007cbe
inc dword [rax + 0x3bc]
mov rdx, qword [0x18022f960]
movsxd rax, edi
lea rcx, [rax + rax*2]
shl rcx, 4
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rdx, qword [rbx + 0x2f70]
mov rsi, rax
test rdx, rdx
je 0x180007d25
movsxd rcx, dword [rbx + 0x2f68]
lea r8, [rcx + rcx*2]
mov rcx, rax
shl r8, 4
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x2f70]
test rcx, rcx
je 0x180007d19
mov rax, qword [0x18022f970]
test rax, rax
je 0x180007d19
dec dword [rax + 0x3bc]
mov rdx, qword [0x18022f960]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov qword [rbx + 0x2f70], rsi
mov rsi, qword [rsp + 0x60]
mov dword [rbx + 0x2f6c], edi
movsxd rax, dword [rbx + 0x2f68]
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x2f70]
add rcx, rcx
movups xmmword [rax + rcx*8], xmm0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax + rcx*8 + 0x10], xmm1
movups xmmword [rax + rcx*8 + 0x20], xmm0
inc dword [rbx + 0x2f68]
mov byte [rbx], 1
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
Function at 0x180009940
Capabilities:
Hash data with crc32

Disassembly:
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10d, 0xffffffff
mov eax, r10d
test r9b, r9b
je 0x180009990
lea r11, [0x1800c1ba0]
nop dword [rax]
cmp r9b, 0x23
jne 0x180009973
cmp byte [r8], r9b
jne 0x180009973
cmp byte [r8 + 1], r9b
cmove eax, r10d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [r11 + rdx*4]
test r9b, r9b
jne 0x180009960
mov r11, qword [0x18022f970]
not eax
movsxd rcx, dword [r11 + 0x1a18]
mov r9, qword [r11 + 0x1a20]
mov r10, rcx
mov rdx, rcx
mov r8, r9
test ecx, ecx
je 0x1800099f8
nop dword [rax]
nop dword [rax + rax]
mov r8, rdx
shr r8, 1
mov rcx, r8
add rcx, rcx
cmp dword [r9 + rcx*8], eax
jae 0x1800099e9
lea r9, [r9 + rcx*8]
mov rcx, 0xffffffffffffffff
sub rcx, r8
add r9, 0x10
add rdx, rcx
jmp 0x1800099ec
mov rdx, r8
test rdx, rdx
jne 0x1800099c0
mov r8, qword [r11 + 0x1a20]
shl r10, 4
add r10, r8
cmp r9, r10
je 0x180009a0e
cmp dword [r9], eax
jne 0x180009a0e
mov rax, qword [r9 + 8]
ret
xor eax, eax
ret
Function at 0x18000fc10
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x20
mov rax, qword [0x18022f970]
mov rbp, rcx
mov rsi, qword [rax + 0x1a30]
lea rbx, [rsi + 0xc0]
mov eax, dword [rbx]
mov edx, eax
test eax, eax
jg 0x18000fc67
mov r8d, 0x51b
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx]
mov edx, eax
movsxd rcx, eax
lea r8, [0x1800c1ba0]
mov rax, qword [rbx + 8]
mov edi, dword [rax + rcx*4 - 4]
not edi
movzx eax, bpl
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x31]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x32]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x33]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x34]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x35]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x36]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x37]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [r8 + rcx*4]
mov r8d, dword [rsi + 0xc4]
not edi
cmp edx, r8d
jne 0x18000fd4b
lea ecx, [rdx + 1]
test r8d, r8d
je 0x18000fd35
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18000fd3a
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.180017e60
mov edx, dword [rbx]
mov rax, qword [rsi + 0xc8]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
movsxd rcx, edx
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x18000fd70
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 8], ecx
push rdi
sub rsp, 0x20
mov rax, qword [0x18022f970]
mov ebp, ecx
mov rsi, qword [rax + 0x1a30]
lea rbx, [rsi + 0xc0]
mov eax, dword [rbx]
mov edx, eax
test eax, eax
jg 0x18000fdc5
mov r8d, 0x51b
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.h
lea rcx, str.Size___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [rbx]
mov edx, eax
movsxd rcx, eax
lea r8, [0x1800c1ba0]
mov rax, qword [rbx + 8]
mov edi, dword [rax + rcx*4 - 4]
not edi
movzx eax, bpl
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x31]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x32]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x33]
xor edi, dword [r8 + rcx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [r8 + rcx*4]
mov r8d, dword [rsi + 0xc4]
not edi
cmp edx, r8d
jne 0x18000fe5d
lea ecx, [rdx + 1]
test r8d, r8d
je 0x18000fe47
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18000fe4c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.180017e60
mov edx, dword [rbx]
mov rax, qword [rsi + 0xc8]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
movsxd rcx, edx
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x180015d10
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], r8
mov qword [rax + 0x20], r9
push rbx
sub rsp, 0x40
mov rbx, qword [0x18022f970]
cmp byte [rbx + 0x2f88], 0
je 0x180015dfc
cmp qword [rbx + 0x2f90], 0
mov qword [rax - 0x18], rsi
lea rsi, [rax + 0x10]
mov qword [rax - 0x20], rdi
lea rdi, [rbx + 0x2f98]
je 0x180015de4
mov r9d, dword [rdi + 4]
mov qword [rax - 0x10], rbp
xor ebp, ebp
test r9d, r9d
jns 0x180015d8b
mov eax, r9d
mov rcx, rdi
cdq
sub eax, edx
mov edx, ebp
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.180017b10
mov rcx, qword [rsp + 0x50]
mov rdx, rcx
mov dword [rdi], ebp
mov rcx, rdi
mov r8, rsi
call fcn.180003730
mov eax, dword [rdi]
mov edx, 1
mov r9, qword [rbx + 0x2f90]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rbx + 0x2fa0]
cmove ecx, ebp
test rax, rax
movsxd r8, ecx
lea rcx, [0x18022f968]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
add rsp, 0x40
pop rbx
ret
mov rdx, rcx
mov r8, rsi
mov rcx, rdi
call fcn.180003730
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
add rsp, 0x40
pop rbx
ret
Function at 0x180016600
Capabilities:
Write file on windows

Disassembly:
push rbp
push rdi
push r15
sub rsp, 0x20
mov rdi, qword [0x18022f970]
xor r15d, r15d
mov rbp, rcx
mov dword [rdi + 0x2f50], r15d
test rcx, rcx
je 0x18001674c
mov qword [rsp + 0x40], rbx
lea rbx, [rdi + 0x2f58]
mov dword [rdi + 0x2f50], r15d
mov r8d, dword [rbx + 4]
mov qword [rsp + 0x48], rsi
test r8d, r8d
jns 0x180016662
mov eax, r8d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r15d
sar eax, 1
add eax, r8d
test eax, eax
cmovg edx, eax
call fcn.180017b10
mov eax, r15d
mov dword [rbx], r15d
cmp dword [rbx + 4], eax
jne 0x18001667c
mov edx, 8
mov rcx, rbx
call fcn.180017b10
mov eax, dword [rbx]
movsxd rcx, eax
mov esi, r15d
mov rax, qword [rbx + 8]
mov byte [rcx + rax], r15b
inc dword [rbx]
mov eax, dword [rdi + 0x2f68]
mov ecx, dword [rbx]
test eax, eax
jle 0x1800166ed
mov qword [rsp + 0x50], r14
mov r14, r15
cmp r15d, eax
jl 0x1800166bf
mov r8d, 0x511
lea rdx, str.C:Users_tryxzDesktop34dimguiimgui.h
lea rcx, str.i___Size
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r9, qword [rdi + 0x2f70]
mov r8, rbx
add r9, r14
mov rcx, rdi
mov rdx, r9
call qword [r9 + reloc.WLDAP32.dll_Ordinal_32]
mov eax, dword [rdi + 0x2f68]
inc esi
add r14, 0x30
cmp esi, eax
jl 0x1800166bf
mov ecx, dword [rbx]
mov r14, qword [rsp + 0x50]
test ecx, ecx
lea eax, [rcx - 1]
lea rdx, [0x1800c18b0]
mov rcx, rbp
cmove eax, r15d
movsxd rsi, eax
mov rax, qword [rdi + 0x2f60]
lea rdi, [0x18022f968]
test rax, rax
cmovne rdi, rax
call fcn.180002b60
mov rbx, rax
test rax, rax
je 0x180016742
mov r9, rax
mov r8, rsi
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop rdi
pop rbp
ret