joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14022d7a0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
sub rsp, 0x28
cmp qword [rcx + 0x18], 8
jb 0x14022d7ae
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x14022d7c8
shr al, 4
not al
and al, 1
jmp 0x14022d7e9
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7b
je 0x14022d7e5
add eax, 0xfffffffe
mov ecx, 1
cmp eax, ecx
ja 0x14022d7e7
xor cl, cl
mov al, cl
add rsp, 0x28
ret

Function at 0x14022ec24
Capabilities:
Check if file exists
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1405420e0]
xor rax, rsp
mov qword [rbp - 0x10], rax
movdqa xmm0, xmmword [0x140420310]
lea r8, [rbp - 0x30]
xor edi, edi
lea rdx, [rbp - 0x50]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], di
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], di
call fcn.14023dd24
cmp qword [rbp - 0x38], 8
lea rcx, [rbp - 0x50]
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFileExistsW]
nop dword [rax + rax]
test eax, eax
jne 0x14022ecf5
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
mov ecx, 0x80000000
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
lea eax, [rbx + rcx]
test ecx, eax
jne 0x14022ecb9
cmp ebx, 0x80070002
jne 0x14022ecf7
cmp qword [rbp - 0x38], 8
lea rcx, [rbp - 0x50]
cmovae rcx, qword [rbp - 0x50]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x14022ecf5
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14022ecf7
mov ebx, edi
lea rcx, [rbp - 0x30]
call fcn.140055f70
lea rcx, [rbp - 0x50]
call fcn.140055f70
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140356560
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
Function at 0x14022ff88
Capabilities:
Check if file exists

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov qword [rbp - 0x69], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1405420e0]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, rdx
mov rdi, rcx
lea rcx, [rbp - 0x59]
call fcn.140239154
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x79], xmm0
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
mov r9d, 7
mov r8d, 0x80000000
lea rdx, [rbp - 0x79]
mov rcx, rdi
call fcn.14022ed30
mov dword [rsp + 0x30], eax
xor ebx, ebx
test eax, eax
jns 0x14023009b
call fcn.1400550c0
mov r10, qword [rax + 8]
cmp dword [r10], 2
jbe 0x140230166
lea rax, [rsp + 0x30]
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], 4
lea rax, [0x1403f4128]
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], reloc.Cabinet.dll_CloseCompressor
cmp qword [rdi + 0x18], 8
jb 0x140230040
mov rdi, qword [rdi]
lea rcx, [0x1403cb630]
mov rax, rbx
test rdi, rdi
je 0x14023005f
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x140230056
mov qword [rbp + 0x27], rcx
lea eax, [rax*2 + 2]
mov dword [rbp + 0x2f], eax
mov dword [rbp + 0x33], ebx
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140484660]
mov rcx, r10
call fcn.140001208
jmp 0x140230166
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x59]
call fcn.1402390b8
test al, al
jne 0x14023016c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x30], ecx
call fcn.1400550c0
mov r10, qword [rax + 8]
cmp dword [r10], 2
jbe 0x140230166
lea rax, [rsp + 0x30]
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], 4
lea rax, str.Failed_to_get_file_size
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], CreateCompressor
cmp qword [rdi + 0x18], 8
jb 0x140230110
mov rdi, qword [rdi]
lea rcx, [0x1403cb630]
mov rax, rbx
test rdi, rdi
je 0x14023012f
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], bx
jne 0x140230126
mov qword [rbp + 0x27], rcx
lea eax, [rax*2 + 2]
mov dword [rbp + 0x2f], eax
mov dword [rbp + 0x33], ebx
lea rax, [rbp - 0x19]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140484660]
mov rcx, r10
call fcn.140001208
mov ebx, dword [rsp + 0x30]
jmp 0x140230174
mov rcx, qword [rsp + 0x38]
mov qword [rsi], rcx
lea rcx, [rbp - 0x59]
call fcn.140239264
mov eax, ebx
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140356560
mov rbx, qword [rsp + 0x130]
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret
Function at 0x140234634
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea r11, [r8 + 0x10]
mov rsi, rdx
lea r9, [r11 + 4]
mov r10, rcx
cmp r9, r11
movabs rax, 0xcbf29ce484222325
mov rdi, r11
sbb rbx, rbx
not rbx
and ebx, 4
cmp r11, r9
ja 0x140234691
movzx ecx, byte [rdi]
movabs rdx, 0x100000001b3
xor rax, rcx
inc rdi
mov rcx, rdi
sub rcx, r11
imul rax, rdx
cmp rcx, rbx
jne 0x14023466f
mov rdx, qword [r10 + 0x30]
mov rcx, qword [r10 + 0x18]
and rdx, rax
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], r8
jne 0x1402346c9
cmp qword [rcx + rdx*8], r8
jne 0x1402346be
mov rax, qword [r10 + 8]
mov qword [rcx + rdx*8], rax
mov rcx, qword [r10 + 0x18]
mov rax, qword [r10 + 8]
jmp 0x1402346c2
mov rax, qword [r8 + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x1402346d6
cmp qword [rcx + rdx*8], r8
jne 0x1402346d6
mov rax, qword [r8]
mov qword [rcx + rdx*8], rax
lea rcx, [r10 + 8]
mov rdx, rsi
call fcn.14005fee8
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1402346fc
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov r14, rdx
mov rsi, rcx
movabs rax, 0xcbf29ce484222325
mov r10, r8
lea r9, [r8 + 4]
cmp r9, r8
sbb rdx, rdx
not rdx
and edx, 4
cmp r8, r9
ja 0x140234766
movzx ecx, byte [r10]
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
inc r10
mov rcx, r10
sub rcx, r8
cmp rcx, rdx
jne 0x140234743
mov rdi, qword [rsi + 0x30]
and rdi, rax
add rdi, rdi
mov rdx, qword [rsi + 0x18]
mov r9, qword [rsi + 8]
cmp qword [rdx + rdi*8], r9
jne 0x140234783
mov rax, r9
jmp 0x14023478b
mov rax, qword [rdx + rdi*8 + 8]
mov rax, qword [rax]
mov r15, rax
cmp r15, qword [rdx + rdi*8]
je 0x1402347b3
mov rax, qword [rax + 8]
mov r15, rax
mov ecx, dword [rax + 0x10]
cmp dword [r8], ecx
jne 0x14023478e
mov qword [r14], rax
mov byte [r14 + 8], 0
mov rax, r14
jmp 0x1402348a7
mov rbx, qword [r9]
mov r12, qword [rbx + 8]
mov r9, r8
mov r8, r12
mov rdx, rbx
call fcn.140234bcc
mov rdx, rax
mov rax, qword [rsi + 0x10]
movabs rcx, 0x555555555555554
sub rcx, rax
cmp rcx, 1
jae 0x1402347f6
lea rcx, str.list_T__too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop dword [rax + rax]
int3
inc rax
mov qword [rsi + 0x10], rax
mov qword [rbx + 8], rdx
mov qword [r12], rdx
mov rcx, qword [rsi + 8]
mov rbx, qword [rcx]
mov qword [rsp + 0x70], rbx
mov rax, qword [rbx]
cmp r15, rax
je 0x14023484a
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], r15
mov rcx, qword [r15 + 8]
mov qword [rcx], rbx
mov rdx, qword [r15 + 8]
mov rcx, qword [rax + 8]
mov qword [r15 + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x18]
cmp qword [rdx + rdi*8], rcx
jne 0x140234863
mov qword [rdx + rdi*8], rbx
mov rax, qword [rsi + 0x18]
mov qword [rax + rdi*8 + 8], rbx
jmp 0x140234893
cmp qword [rdx + rdi*8], r15
jne 0x14023486f
mov qword [rdx + rdi*8], rbx
jmp 0x140234893
mov rax, qword [rdx + rdi*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + rdi*8 + 8], rcx
cmp rcx, rbx
je 0x140234893
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rdi*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rdi*8 + 8], rcx
mov rcx, rsi
call fcn.14023494c
nop
mov qword [r14], rbx
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x140234a5c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x30
mov qword [rax - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rbx, r9
mov r11, r8
mov rsi, rdx
mov r10, rcx
movabs rax, 0xcbf29ce484222325
lea r9, [r8 + 4]
cmp r9, r8
sbb rdx, rdx
not rdx
and edx, 4
cmp r8, r9
ja 0x140234ac9
movzx ecx, byte [r8]
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
inc r8
mov rcx, r8
sub rcx, r11
cmp rcx, rdx
jne 0x140234aa6
mov r8, qword [r10 + 0x30]
and r8, rax
add r8, r8
mov rcx, qword [r10 + 0x18]
mov rdi, qword [r10 + 8]
cmp qword [rcx + r8*8], rdi
je 0x140234ae9
mov rdi, qword [rcx + r8*8 + 8]
mov rdi, qword [rdi]
mov r9, rdi
cmp r9, qword [rcx + r8*8]
je 0x140234b21
mov rdi, qword [rdi + 8]
mov r9, rdi
mov eax, dword [rdi + 0x10]
cmp dword [r11], eax
jne 0x140234aec
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [r10 + 8]
call fcn.14005fee8
mov qword [rsi], rdi
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x140234bb5
mov rax, qword [rbx]
cmp r9, rax
je 0x140234b56
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], r9
mov rcx, qword [r9 + 8]
mov qword [rcx], rbx
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
mov qword [r9 + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8*8]
cmp rax, qword [r10 + 8]
jne 0x140234b73
mov qword [rdx + r8*8], rbx
mov rax, qword [r10 + 0x18]
mov qword [rax + r8*8 + 8], rbx
jmp 0x140234ba2
cmp rax, r9
jne 0x140234b7e
mov qword [rdx + r8*8], rbx
jmp 0x140234ba2
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rbx
je 0x140234ba2
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8*8 + 8], rcx
mov rcx, r10
call fcn.14023494c
nop
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
Function at 0x140237c58
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
lea r11, [r8 + 0x10]
mov rsi, rdx
lea r9, [r11 + 8]
mov r10, rcx
cmp r9, r11
movabs rax, 0xcbf29ce484222325
mov rdi, r11
sbb rbx, rbx
not rbx
and ebx, 8
cmp r11, r9
ja 0x140237cb5
movzx ecx, byte [rdi]
movabs rdx, 0x100000001b3
xor rax, rcx
inc rdi
mov rcx, rdi
sub rcx, r11
imul rax, rdx
cmp rcx, rbx
jne 0x140237c93
mov rdx, qword [r10 + 0x30]
mov rcx, qword [r10 + 0x18]
and rdx, rax
add rdx, rdx
cmp qword [rcx + rdx*8 + 8], r8
jne 0x140237ced
cmp qword [rcx + rdx*8], r8
jne 0x140237ce2
mov rax, qword [r10 + 8]
mov qword [rcx + rdx*8], rax
mov rcx, qword [r10 + 0x18]
mov rax, qword [r10 + 8]
jmp 0x140237ce6
mov rax, qword [r8 + 8]
mov qword [rcx + rdx*8 + 8], rax
jmp 0x140237cfa
cmp qword [rcx + rdx*8], r8
jne 0x140237cfa
mov rax, qword [r8]
mov qword [rcx + rdx*8], rax
mov rax, qword [r8 + 8]
mov edx, 0x38
mov rbx, qword [r8]
mov qword [rax], rbx
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
mov qword [rcx + 8], rax
mov rcx, r8
dec qword [r10 + 0x10]
call fcn.140356b5c
mov qword [rsi], rbx
mov rax, rsi
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140237e7c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x1405420e0]
xor rax, rsp
mov qword [rbp], rax
mov r12, r9
mov r15, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x40], rcx
mov rsi, qword [rbp + 0x88]
mov qword [rsp + 0x48], rsi
lea rax, [rbp - 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
xor r13d, r13d
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x68], r13
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x140237f09
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
mov rax, qword [rax]
call qword [str.p76_]
mov qword [rbp - 0x68], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r8, qword [rbp + 0x70]
mov rdx, rbx
mov rcx, rdi
call fcn.14023805c
nop
lea r14, [rdi + 0x128]
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], 7
mov word [r14], r13w
lea rcx, [rdi + 0x148]
mov rdx, r15
call fcn.14005da24
nop
lea rcx, [rdi + 0x168]
mov rdx, r12
call fcn.14005da24
nop
mov eax, dword [rbp + 0x78]
mov dword [rdi + 0x188], eax
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140237f7a
mov rbx, qword [rbx]
movabs rdx, 0xcbf29ce484222325
mov r9, rbx
add r8, r8
lea rax, [r8 + rbx]
cmp rbx, rax
cmova r8, r13
test r8, r8
je 0x140237fbd
movzx eax, byte [r9]
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
inc r9
mov rax, r9
sub rax, rbx
cmp rax, r8
jne 0x140237f9a
lea rcx, [rbp - 0x20]
call fcn.14008524c
mov rdx, rax
mov rcx, r14
call fcn.140085570
lea rcx, [rbp - 0x20]
call fcn.140055f70
lea rcx, [rdi + 0x198]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_core_profile_l1_1_0.dll_QueryPerformanceCounter]
nop dword [rax + rax]
mov rax, qword [rsp + 0x30]
xchg qword [rdi + 0x190], rax
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x14023802a
mov r8, qword [rcx]
cmp rcx, rsi
setne dl
mov rax, qword [r8 + 0x20]
call qword [str.p76_]
mov qword [rsi + 0x38], r13
mov rax, rdi
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.140356560
mov rbx, qword [rsp + 0x158]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14023849c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov r14, rdx
mov rsi, rcx
movabs rax, 0xcbf29ce484222325
mov r10, r8
lea r9, [r8 + 8]
cmp r9, r8
sbb rdx, rdx
not rdx
and edx, 8
cmp r8, r9
ja 0x140238506
movzx ecx, byte [r10]
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
inc r10
mov rcx, r10
sub rcx, r8
cmp rcx, rdx
jne 0x1402384e3
mov rdi, qword [rsi + 0x30]
and rdi, rax
add rdi, rdi
mov rdx, qword [rsi + 0x18]
mov r9, qword [rsi + 8]
cmp qword [rdx + rdi*8], r9
jne 0x140238523
mov rax, r9
jmp 0x14023852b
mov rax, qword [rdx + rdi*8 + 8]
mov rax, qword [rax]
mov r15, rax
cmp r15, qword [rdx + rdi*8]
je 0x140238554
mov rax, qword [rax + 8]
mov r15, rax
mov rcx, qword [rax + 0x10]
cmp qword [r8], rcx
jne 0x14023852e
mov qword [r14], rax
mov byte [r14 + 8], 0
mov rax, r14
jmp 0x140238648
mov rbx, qword [r9]
mov r12, qword [rbx + 8]
mov r9, r8
mov r8, r12
mov rdx, rbx
call fcn.140238bbc
mov rdx, rax
mov rax, qword [rsi + 0x10]
movabs rcx, 0x492492492492491
sub rcx, rax
cmp rcx, 1
jae 0x140238597
lea rcx, str.list_T__too_long
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop dword [rax + rax]
int3
inc rax
mov qword [rsi + 0x10], rax
mov qword [rbx + 8], rdx
mov qword [r12], rdx
mov rcx, qword [rsi + 8]
mov rbx, qword [rcx]
mov qword [rsp + 0x70], rbx
mov rax, qword [rbx]
cmp r15, rax
je 0x1402385eb
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], r15
mov rcx, qword [r15 + 8]
mov qword [rcx], rbx
mov rdx, qword [r15 + 8]
mov rcx, qword [rax + 8]
mov qword [r15 + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x18]
cmp qword [rdx + rdi*8], rcx
jne 0x140238604
mov qword [rdx + rdi*8], rbx
mov rax, qword [rsi + 0x18]
mov qword [rax + rdi*8 + 8], rbx
jmp 0x140238634
cmp qword [rdx + rdi*8], r15
jne 0x140238610
mov qword [rdx + rdi*8], rbx
jmp 0x140238634
mov rax, qword [rdx + rdi*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + rdi*8 + 8], rcx
cmp rcx, rbx
je 0x140238634
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + rdi*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rdi*8 + 8], rcx
mov rcx, rsi
call fcn.1402386cc
nop
mov qword [r14], rbx
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x140238784
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rbx, r9
mov r11, r8
mov rsi, rdx
mov r10, rcx
movabs rax, 0xcbf29ce484222325
lea r9, [r8 + 8]
cmp r9, r8
sbb rdx, rdx
not rdx
and edx, 8
cmp r8, r9
ja 0x1402387ec
movzx ecx, byte [r8]
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
inc r8
mov rcx, r8
sub rcx, r11
cmp rcx, rdx
jne 0x1402387c9
mov r8, qword [r10 + 0x30]
and r8, rax
add r8, r8
mov rcx, qword [r10 + 0x18]
mov rdi, qword [r10 + 8]
cmp qword [rcx + r8*8], rdi
je 0x14023880c
mov rdi, qword [rcx + r8*8 + 8]
mov rdi, qword [rdi]
mov r9, rdi
cmp r9, qword [rcx + r8*8]
je 0x14023885a
mov rdi, qword [rdi + 8]
mov r9, rdi
mov rax, qword [rdi + 0x10]
cmp qword [r11], rax
jne 0x14023880f
mov rcx, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [rcx], rax
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
dec qword [r10 + 0x10]
mov edx, 0x38
mov rcx, rbx
call fcn.140356b5c
mov qword [rsi], rdi
mov byte [rsi + 8], 0
mov rax, rsi
jmp 0x1402388ee
mov rax, qword [rbx]
cmp r9, rax
je 0x14023888f
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], r9
mov rcx, qword [r9 + 8]
mov qword [rcx], rbx
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
mov qword [r9 + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8*8]
cmp rax, qword [r10 + 8]
jne 0x1402388ac
mov qword [rdx + r8*8], rbx
mov rax, qword [r10 + 0x18]
mov qword [rax + r8*8 + 8], rbx
jmp 0x1402388db
cmp rax, r9
jne 0x1402388b7
mov qword [rdx + r8*8], rbx
jmp 0x1402388db
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rbx
je 0x1402388db
mov rdx, qword [r10 + 0x18]
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8*8 + 8], rcx
mov rcx, r10
call fcn.1402386cc
nop
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
Function at 0x14023895c
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov rbx, r9
mov r10, r8
mov r14, rdx
mov rsi, rcx
movabs rax, 0xcbf29ce484222325
mov rdx, r8
lea r9, [r8 + 8]
cmp r9, r8
sbb r8, r8
not r8
and r8d, 8
cmp rdx, r9
ja 0x1402389cb
movzx ecx, byte [rdx]
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
inc rdx
mov rcx, rdx
sub rcx, r10
cmp rcx, r8
jne 0x1402389a9
mov r8, qword [rsi + 0x30]
and r8, rax
add r8, r8
mov rcx, qword [rsi + 0x18]
mov rdi, qword [rsi + 8]
cmp qword [rcx + r8*8], rdi
je 0x1402389eb
mov rdi, qword [rcx + r8*8 + 8]
mov rdi, qword [rdi]
mov r9, rdi
cmp r9, qword [rcx + r8*8]
je 0x140238a3a
mov rdi, qword [rdi + 8]
mov r9, rdi
mov rax, qword [rdi + 0x10]
cmp qword [r10], rax
jne 0x1402389ee
mov rcx, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [rcx], rax
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
dec qword [rsi + 0x10]
mov edx, 0x30
mov rcx, rbx
call fcn.140356b5c
mov qword [r14], rdi
mov byte [r14 + 8], 0
mov rax, r14
jmp 0x140238b5f
mov qword [rsp + 0x80], rbx
mov rax, qword [rbx]
cmp r9, rax
je 0x140238a77
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], r9
mov rcx, qword [r9 + 8]
mov qword [rcx], rbx
mov rdx, qword [r9 + 8]
mov rcx, qword [rax + 8]
mov qword [r9 + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + r8*8]
cmp rax, qword [rsi + 8]
jne 0x140238a94
mov qword [rdx + r8*8], rbx
mov rax, qword [rsi + 0x18]
mov qword [rax + r8*8 + 8], rbx
jmp 0x140238ac3
cmp rax, r9
jne 0x140238a9f
mov qword [rdx + r8*8], rbx
jmp 0x140238ac3
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax]
mov qword [rdx + r8*8 + 8], rcx
cmp rcx, rbx
je 0x140238ac3
mov rdx, qword [rsi + 0x18]
mov rax, qword [rdx + r8*8 + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + r8*8 + 8], rcx
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x38]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movss xmm1, dword [0x1404202fc]
test rax, rax
jns 0x140238ae4
addss xmm0, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm2, rdx
test rdx, rdx
jns 0x140238af5
addss xmm2, xmm1
divss xmm0, xmm2
comiss xmm0, dword [rsi]
jbe 0x140238b54
cmp rdx, 0x200
jae 0x140238b0d
shl rdx, 3
jmp 0x140238b1f
movabs rax, 0xfffffffffffffff
cmp rdx, rax
jae 0x140238b1f
add rdx, rdx
mov rcx, rsi
call fcn.14005e790
mov rax, qword [rsi + 8]
cmp qword [rax], rax
je 0x140238b54
mov r15, qword [rax + 8]
mov rdi, qword [rsi + 8]
mov rdi, qword [rdi]
lea r8, [rdi + 0x10]
mov r9, rdi
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14023895c
cmp rdi, r15
jne 0x140238b34
mov qword [r14], rbx
mov byte [r14 + 8], 1
mov rax, r14
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret