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

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov rsi, rcx
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x140095218
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsi + 8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
mov qword [rsp + 0x40], r14
inc ecx
shl rdi, cl
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
call fcn.14008c8e0
lea rax, [rdi - 1]
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rax
mov rax, qword [rsi + 8]
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x140095384
mov qword [rsp + 0x38], rbp
movabs rdi, 0x100000001b3
movabs rbp, 0xcbf29ce484222325
nop
movzx edx, byte [rax + 0x11]
movzx r9d, byte [rax + 0x10]
mov r11, qword [rsi + 0x30]
xor r9, rbp
mov rcx, qword [rcx]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x12]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x13]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x14]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x15]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x16]
imul r9, rdi
xor r9, rdx
movzx edx, byte [rax + 0x17]
imul r9, rdi
xor r9, rdx
imul r9, rdi
and r11, r9
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1400952fc
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x140095373
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x140095339
mov r10, qword [rdx]
cmp r10, rax
je 0x140095333
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x140095373
cmp r9, rdx
je 0x14009534f
nop
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x140095399
cmp r9, rdx
jne 0x140095340
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
jne 0x140095280
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x140095373
Function at 0x140095c60
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [0x14022aa00]
xorps xmm0, xmm0
add rcx, 1
mov rbx, qword [0x14022aa28]
js 0x140094914
cvtsi2ss xmm0, rcx
jmp 0x140094929
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [0x14022a9f0]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x140173ae0]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x14009495b
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14009495b
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x14009498d
cmp rbx, 0x200
jae 0x14009498a
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14009498d
mov rbx, rcx
mov rdx, rbx
add rsp, 0x20
pop rbx
jmp 0x140095c60
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x140095c91
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x14022a9f8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x14022aa08]
lea rdx, [rdi + rdi]
call fcn.14008c8e0
mov rax, qword [0x14022a9f8]
lea rdx, [rdi - 1]
mov qword [0x14022aa20], rdx
mov qword [0x14022aa28], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x140095de2
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x14022aa08]
mov r8, qword [r11]
cmp r8, rbx
jne 0x140095d32
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x140095da3
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x140095d6b
mov r10, qword [rdx]
cmp r10, rax
je 0x140095d65
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x140095da3
cmp r8, rdx
je 0x140095d7f
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x140095db7
cmp r8, rdx
jne 0x140095d70
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x140095ddd
mov rdx, qword [0x14022aa20]
jmp 0x140095d01
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x140095da3
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x140098810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rsi, rcx
mov rax, qword [rcx]
mov r15, rdx
sub r15, rax
mov r12, qword [rcx + 8]
sub r12, rax
sar r12, 6
movabs r8, 0x3ffffffffffffff
cmp r12, r8
je 0x140098a3f
inc r12
mov rcx, qword [rcx + 0x10]
sub rcx, rax
sar rcx, 6
mov rdx, rcx
shr rdx, 1
mov rax, r8
sub rax, rdx
cmp rcx, rax
jbe 0x140098884
mov qword [rsp + 0x70], r8
mov r14, 0xffffffffffffffc0
lea rcx, [r14 + 0x27]
jmp 0x1400988bd
lea rax, [rdx + rcx]
mov rbx, r12
cmp rax, r12
cmovae rbx, rax
cmp rbx, r8
ja 0x140098a39
mov r14, rbx
shl r14, 6
mov qword [rsp + 0x70], rbx
cmp r14, 0x1000
jb 0x1400988d9
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x140098a39
call fcn.140110024
test rax, rax
je 0x140098a32
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400988fc
test r14, r14
je 0x1400988f5
mov rcx, r14
call fcn.140110024
mov rdi, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x70], rbx
jmp 0x140098901
xor edi, edi
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x20], rdi
and r15, 0xffffffffffffffc0
lea r13, [r15 + rdi]
lea rbx, [r13 + 0x40]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x88], rbx
mov r15, qword [rsp + 0x80]
mov rdx, r15
mov rcx, r13
call fcn.14008a160
mov eax, dword [r15 + 0x20]
mov dword [r13 + 0x20], eax
mov eax, dword [r15 + 0x24]
mov dword [r13 + 0x24], eax
mov eax, dword [r15 + 0x28]
mov dword [r13 + 0x28], eax
movzx eax, byte [r15 + 0x2c]
mov byte [r13 + 0x2c], al
movzx eax, byte [r15 + 0x2d]
mov byte [r13 + 0x2d], al
mov eax, dword [r15 + 0x30]
mov dword [r13 + 0x30], eax
mov eax, dword [r15 + 0x34]
mov dword [r13 + 0x34], eax
mov eax, dword [r15 + 0x38]
mov dword [r13 + 0x38], eax
mov eax, dword [r15 + 0x3c]
mov dword [r13 + 0x3c], eax
mov qword [rsp + 0x88], r13
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi]
mov r15, qword [rsp + 0x78]
mov r8, rdi
cmp r15, rdx
je 0x1400989ad
mov rdx, r15
call fcn.1400a2cc0
mov qword [rsp + 0x88], rdi
mov r8, rbx
mov rdx, qword [rsi + 8]
mov rcx, r15
call fcn.1400a2cc0
nop
mov rbx, qword [rsi]
test rbx, rbx
je 0x140098a09
mov r15, qword [rsi + 8]
cmp rbx, r15
je 0x1400989d5
mov rcx, rbx
call fcn.140057d00
add rbx, 0x40
cmp rbx, r15
jne 0x1400989c4
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
and rdx, 0xffffffffffffffc0
cmp rdx, 0x1000
jb 0x140098a04
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140098a32
mov rcx, r8
call fcn.140110370
mov qword [rsi], rdi
shl r12, 6
add r12, rdi
mov qword [rsi + 8], r12
lea rcx, [r14 + rdi]
mov qword [rsi + 0x10], rcx
mov rax, r13
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000b6e0
int3
call fcn.14008d780
int3
Function at 0x14009a260
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov rsi, rdx
movzx eax, byte [r8]
mov r15d, eax
movabs rcx, 0xcbf29ce484222325
xor r15, rcx
movabs rcx, 0x100000001b3
imul r15, rcx
mov rcx, qword [0x14022aa20]
and rcx, r15
add rcx, rcx
mov rdx, qword [0x14022aa08]
mov rbx, qword [rdx + rcx*8 + 8]
mov r14, qword [0x14022a9f8]
cmp rbx, r14
jne 0x14009a2d3
mov rbx, r14
mov rbp, r14
jmp 0x14009a31d
mov rcx, qword [rdx + rcx*8]
cmp al, byte [rbx + 0x10]
je 0x14009a2ee
nop dword [rax]
cmp rbx, rcx
je 0x14009a317
mov rbx, qword [rbx + 8]
cmp al, byte [rbx + 0x10]
jne 0x14009a2e0
mov qword [rsi], rbx
mov byte [rsi + 8], 0
mov rax, rsi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret
mov r14, rbx
mov rbp, rbx
movabs rax, 0xaaaaaaaaaaaaaaa
cmp qword [0x14022aa00], rax
jne 0x14009a33e
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x14022a9f8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov ecx, 0x18
call fcn.140110024
mov rdi, rax
mov qword [rsp + 0x28], rax
mov ecx, dword [r12]
mov dword [rax + 0x10], ecx
movzx ecx, byte [r12 + 4]
mov byte [rax + 0x14], cl
mov r8, qword [0x14022aa00]
lea rcx, [r8 + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x14009a38f
cvtsi2ss xmm0, rcx
jmp 0x14009a3a4
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [0x14022aa28]
xorps xmm1, xmm1
test rcx, rcx
js 0x14009a3ba
cvtsi2ss xmm1, rcx
jmp 0x14009a3cf
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [0x14022a9f0]
seta al
test al, al
je 0x14009a44b
call fcn.1400948f0
mov rdx, qword [0x14022aa20]
and rdx, r15
add rdx, rdx
mov rcx, qword [0x14022aa08]
mov rax, qword [rcx + rdx*8 + 8]
mov rbx, qword [0x14022a9f8]
cmp rax, rbx
jne 0x14009a416
mov qword [rsp + 0x28], 0
jmp 0x14009a437
mov rdx, qword [rcx + rdx*8]
movzx ecx, byte [rdi + 0x10]
cmp cl, byte [rax + 0x10]
je 0x14009a434
mov rbx, rax
cmp rax, rdx
je 0x14009a48e
mov rax, qword [rax + 8]
cmp cl, byte [rax + 0x10]
jne 0x14009a423
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
mov rbp, rbx
mov r14, qword [rsp + 0x20]
mov r8, qword [0x14022aa00]
mov rdx, qword [rbx + 8]
inc r8
mov qword [0x14022aa00], r8
mov qword [rdi], r14
mov qword [rdi + 8], rdx
mov qword [rdx], rdi
mov qword [rbx + 8], rdi
mov rcx, qword [0x14022aa08]
mov rax, qword [0x14022aa20]
and rax, r15
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [0x14022a9f8]
jne 0x14009a49e
mov qword [rcx + rax*8], rdi
jmp 0x14009a4b0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
jmp 0x14009a43c
cmp r8, rbp
jne 0x14009a4a9
mov qword [rcx + rax*8], rdi
jmp 0x14009a4b5
cmp qword [rcx + rax*8 + 8], rdx
jne 0x14009a4b5
mov qword [rcx + rax*8 + 8], rdi
mov qword [rsi], rdi
mov byte [rsi + 8], 1
jmp 0x14009a2f5
Function at 0x1400a2450
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400a2481
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x14022a9b8]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x14022a9c8]
lea rdx, [rdi + rdi]
call fcn.14008c8e0
mov rax, qword [0x14022a9b8]
lea rdx, [rdi - 1]
mov qword [0x14022a9e0], rdx
mov qword [0x14022a9e8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1400a25d2
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x14022a9c8]
mov r8, qword [r11]
cmp r8, rbx
jne 0x1400a2522
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400a2593
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x1400a255b
mov r10, qword [rdx]
cmp r10, rax
je 0x1400a2555
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400a2593
cmp r8, rdx
je 0x1400a256f
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x1400a25a7
cmp r8, rdx
jne 0x1400a2560
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x1400a25cd
mov rdx, qword [0x14022a9e0]
jmp 0x1400a24f1
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400a2593
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400a25e0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rcx, rax
mov eax, edi
shl rax, cl
cmp rdx, rax
jbe 0x1400a2611
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x14022a688]
or rax, rdi
bsr rcx, rax
mov r8, rbx
inc ecx
shl rdi, cl
lea rcx, [0x14022a698]
lea rdx, [rdi + rdi]
call fcn.14008c8e0
mov rax, qword [0x14022a688]
lea rdx, [rdi - 1]
mov qword [0x14022a6b0], rdx
mov qword [0x14022a6b8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1400a2762
mov qword [rsp + 0x38], rsi
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
movzx r9d, byte [rax + 0x10]
mov rcx, qword [rcx]
mov r11d, r9d
xor r11, rdi
imul r11, rsi
and r11, rdx
shl r11, 4
add r11, qword [0x14022a698]
mov r8, qword [r11]
cmp r8, rbx
jne 0x1400a26b2
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1400a2723
mov rdx, qword [r11 + 8]
cmp r9b, byte [rdx + 0x10]
jne 0x1400a26eb
mov r10, qword [rdx]
cmp r10, rax
je 0x1400a26e5
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1400a2723
cmp r8, rdx
je 0x1400a26ff
mov rdx, qword [rdx + 8]
cmp r9b, byte [rdx + 0x10]
je 0x1400a2737
cmp r8, rdx
jne 0x1400a26f0
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x1400a275d
mov rdx, qword [0x14022a6b0]
jmp 0x1400a2681
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1400a2723
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400a2770
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r10, rcx
mov r9d, 0x138
mov ecx, dword [rcx]
cmp ecx, r9d
jne 0x1400a27d7
lea r8, [r10 + 0x10]
movabs r11, 0xb5026f5aa96619e9
mov rdx, qword [r8]
xor rdx, qword [r8 - 8]
lea r8, [r8 + 8]
and rdx, 0xffffffff80000000
xor rdx, qword [r8 - 8]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4d0]
xor rcx, rdx
mov qword [r8 + 0x9b0], rcx
sub r9, 1
jne 0x1400a2792
mov ecx, dword [r10]
jmp 0x1400a28f8
cmp ecx, 0x270
jb 0x1400a28f8
mov qword [rsp + 0x10], rbx
movabs r11, 0xb5026f5aa96619e9
lea rbx, [r10 + 0x9c8]
mov qword [rsp], rdi
mov rax, qword [rbx]
mov edi, 0x9c
nop word [rax + rax]
mov r9, qword [rbx + 8]
mov r8, rbx
add rbx, 8
mov rdx, r9
xor rdx, rax
and rdx, 0xffffffff80000000
xor rdx, r9
movzx eax, dl
and al, 1
neg al
mov rax, r9
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r8 + 0x4e0]
xor rcx, rdx
mov qword [r8 - 0x9c0], rcx
sub rdi, 1
jne 0x1400a2810
lea rbx, [r10 + 0xea8]
mov edi, 0x9b
mov r9, qword [rbx]
nop dword [rax]
nop dword [rax + rax]
mov r8, qword [rbx + 8]
mov rdx, rbx
xor r9, r8
add rbx, 8
and r9, 0xffffffff80000000
xor r9, r8
movzx eax, r9b
and al, 1
neg al
sbb rcx, rcx
shr r9, 1
and rcx, r11
xor rcx, qword [rdx - 0xea0]
xor rcx, r9
mov r9, r8
mov qword [rdx - 0x9c0], rcx
sub rdi, 1
jne 0x1400a2870
mov rdx, qword [r10 + 8]
xor rdx, qword [r10 + 0x1380]
mov rdi, qword [rsp]
and rdx, 0xffffffff80000000
xor rdx, qword [r10 + 8]
mov rbx, qword [rsp + 0x10]
movzx eax, dl
and al, 1
neg al
sbb rcx, rcx
shr rdx, 1
and rcx, r11
xor rcx, qword [r10 + 0x4e0]
xor rcx, rdx
mov qword [r10 + 0x9c0], rcx
xor ecx, ecx
mov dword [r10], ecx
mov eax, ecx
mov rdx, qword [r10 + rax*8 + 8]
lea eax, [rcx + 1]
mov dword [r10], eax
mov rcx, rdx
mov rax, qword [r10 + 0x1388]
shr rcx, 0x1d
and rax, rcx
movabs rcx, 0x38eb3ffff6d3
xor rdx, rax
mov rax, rdx
and rax, rcx
shl rax, 0x11
xor rdx, rax
mov rax, rdx
and rax, 0xffffffffffffbf77
shl rax, 0x25
xor rdx, rax
mov rax, rdx
shr rax, 0x2b
xor rax, rdx
add rsp, 8
ret
Function at 0x1400b84a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x50
mov rax, qword [rcx + 8]
mov ebp, r8d
mov ecx, 0x3e80000
mov rbx, qword [rax + 0x2f0]
mov rax, qword [rdx + 0x80]
movzx edx, word [rdx + 0x68]
movzx edi, word [rax + 0x18]
mov eax, 0x40000
shl edi, 0x10
cmp edi, eax
cmovl edi, eax
shl edx, 0x10
call fcn.1400a7550
mov dword [rsp + 0x24], eax
mov ecx, eax
cmp eax, 0x28f
jge 0x1400b84f6
xor eax, eax
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
mov eax, dword [rbx + 0x24]
mov qword [rsp + 0x80], rsi
mov esi, dword [rbx + 0x28]
mov qword [rsp + 0x48], r12
mov r12d, dword [rbx + 0x3c]
mov qword [rsp + 0x40], r13
mov r13d, dword [rbx + 0x38]
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0x38], r14
mov r14d, dword [rbx + 0x40]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0x30], r15
mov r15d, dword [rbx + 0x30]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r12d
test ebp, ebp
jg 0x1400b854d
mov ebp, 0x4b0000
jmp 0x1400b855b
shl ebp, 0x10
mov edx, ecx
mov ecx, ebp
call fcn.1400a9990
mov ebp, eax
bsr ecx, ebp
bsr eax, edi
shl r12d, 0x10
add eax, ecx
cmp eax, 0x2e
jl 0x1400b8571
mov eax, r12d
jmp 0x1400b857a
mov edx, edi
mov ecx, ebp
call fcn.1400a9990
mov r9d, dword [rsp + 0x88]
mov ecx, r9d
shl ecx, 0x10
cmp eax, ecx
jge 0x1400b8596
shl esi, 0x10
mov ecx, esi
jmp 0x1400b8685
mov r8d, dword [rsp + 0x70]
mov edx, r8d
shl edx, 0x10
mov dword [rsp + 0x88], edx
cmp eax, edx
jge 0x1400b85f4
mov ebx, r8d
mov edx, edi
sub ebx, r9d
call fcn.1400a7550
mov ecx, ebp
sub ecx, eax
test ebx, ebx
je 0x1400b85e4
sub r15d, esi
mov r8d, ebx
mov edx, r15d
call fcn.1400a9860
shl esi, 0x10
mov edx, edi
mov ecx, esi
mov ebx, eax
call fcn.1400a7550
add ebx, eax
jmp 0x1400b868e
mov esi, dword [rsp + 0x78]
mov ebx, esi
mov r8d, dword [rsp + 0x70]
shl ebx, 0x10
jmp 0x1400b8601
mov esi, dword [rsp + 0x78]
mov ebx, esi
shl ebx, 0x10
cmp eax, ebx
jge 0x1400b8640
mov ecx, dword [rsp + 0x88]
mov r12d, esi
mov edx, edi
sub r12d, r8d
call fcn.1400a7550
mov ecx, ebp
sub ecx, eax
test r12d, r12d
je 0x1400b8645
sub r13d, r15d
mov r8d, r12d
mov edx, r13d
call fcn.1400a9860
shl r15d, 0x10
mov edx, edi
mov ecx, r15d
mov ebx, eax
call fcn.1400a7550
add ebx, eax
jmp 0x1400b868e
cmp eax, r12d
jge 0x1400b867e
mov r15d, dword [rsp + 0x20]
mov edx, edi
mov ecx, ebx
call fcn.1400a7550
sub ebp, eax
sub r15d, esi
je 0x1400b867e
sub r14d, r13d
mov r8d, r15d
mov edx, r14d
mov ecx, ebp
call fcn.1400a9860
shl r13d, 0x10
mov edx, edi
mov ecx, r13d
mov ebx, eax
call fcn.1400a7550
add ebx, eax
jmp 0x1400b868e
shl r14d, 0x10
mov ecx, r14d
mov edx, edi
call fcn.1400a7550
mov ebx, eax
mov edx, dword [rsp + 0x24]
mov ecx, ebx
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rbp
pop rbx
jmp fcn.1400a7550
Function at 0x140104730
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r14
sub rsp, 0x250
mov rax, qword [0x14018d040]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov eax, dword [rcx + 0x58]
lea rbx, [rsp + 0x30]
mov dword [rsp + 0x40], eax
mov ebp, r9d
mov eax, dword [rcx + 0x5c]
mov rsi, rcx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x290]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r8d
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x278], rdi
nop dword [rax]
mov r10d, dword [rbx + 0x14]
mov eax, r10d
mov r14d, dword [rbx + 4]
cmp r10d, r14d
mov r9d, dword [rbx + 0xc]
cmovg eax, r14d
cmp r9d, eax
jl 0x1401048cc
cmp r10d, r14d
mov eax, r14d
cmovg eax, r10d
cmp r9d, eax
jg 0x1401048cc
cmp r10d, r14d
jne 0x1401047d0
sub rbx, 0x10
jmp 0x140104914
mov edx, dword [rsi + 0x88]
xor r9d, r9d
cmp r10d, r14d
setge r9b
inc r9d
cmp edx, r9d
je 0x140104842
mov eax, dword [rsi + 4]
mov ecx, eax
mov r8d, dword [rsi + 8]
neg ecx
cmp r10d, r14d
jge 0x140104804
dec eax
add eax, r10d
and eax, ecx
sub eax, r10d
jmp 0x14010480c
and ecx, r10d
mov eax, r10d
sub eax, ecx
cmp eax, r8d
setge r11b
test edx, edx
je 0x14010482b
movzx edx, r11b
mov rcx, rsi
call fcn.1401058e0
test al, al
jne 0x140104925
movzx r8d, r11b
mov edx, r9d
mov rcx, rsi
call fcn.140105f50
test al, al
jne 0x140104925
mov edx, dword [rsi + 0x64]
lea r9, [0x1401062b0]
mov ecx, dword [rsi + 0x60]
mov r8, rbx
cmp r10d, r14d
jge 0x14010486e
mov dword [rsp + 0x28], edx
mov edx, 2
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.1401045b0
jmp 0x1401048c2
mov eax, dword [rbx + 4]
neg ecx
movzx edi, byte [rsi + 0x6a]
neg eax
mov dword [rbx + 4], eax
neg edx
mov eax, dword [rbx + 0xc]
neg eax
mov dword [rsp + 0x28], ecx
mov dword [rbx + 0xc], eax
mov rcx, rsi
mov eax, dword [rbx + 0x14]
neg eax
mov dword [rsp + 0x20], edx
mov edx, 2
mov dword [rbx + 0x14], eax
call fcn.1401045b0
test dil, dil
je 0x1401048ba
cmp byte [rsi + 0x6a], 0
jne 0x1401048ba
mov rdx, qword [rsi + 0x70]
mov ecx, dword [rdx + 0x20]
neg ecx
mov dword [rdx + 0x20], ecx
mov ecx, dword [rbx + 4]
neg ecx
mov dword [rbx + 4], ecx
test al, al
jne 0x140104925
sub rbx, 0x10
jmp 0x140104914
mov eax, dword [rbx + 8]
mov ecx, dword [rbx + 0x10]
mov dword [rbx + 0x20], ecx
add ecx, eax
mov dword [rbx + 0x24], r10d
lea edx, [rax + rbp]
mov eax, ecx
sar eax, 1
mov dword [rbx + 0x18], eax
lea eax, [rcx + rdx]
sar eax, 2
lea ecx, [r10 + r9]
mov dword [rbx + 0x10], eax
mov eax, ecx
sar edx, 1
sar eax, 1
mov dword [rbx + 8], edx
lea edx, [r14 + r9]
mov dword [rbx + 0x1c], eax
lea eax, [rcx + rdx]
sar eax, 2
sar edx, 1
mov dword [rbx + 0x14], eax
mov dword [rbx + 0xc], edx
add rbx, 0x10
lea rax, [rsp + 0x30]
cmp rbx, rax
jb 0x140104929
mov ebp, dword [rbx]
jmp 0x140104790
mov al, 1
jmp 0x140104932
mov dword [rsi + 0x58], ebp
xor al, al
mov dword [rsi + 0x5c], r14d
mov rdi, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1401109c0
mov rbx, qword [rsp + 0x280]
add rsp, 0x250
pop r14
pop rsi
pop rbp
ret