Function at 0x7ff645756070
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x100
mov rax, qword [0x7ff6457cea40]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov r15, r8
mov r14, rdx
mov rbp, rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
xor r12d, r12d
call qword [sym.imp.ucrtbase.dll__errno]
mov rdi, rax
mov rbx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x7ff6457560c5
mov rbx, qword [r14]
mov dword [rax], r12d
mov r8d, 0xa
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.ucrtbase.dll__strtoi64]
mov rsi, rax
cmp rbx, qword [rsp + 0x48]
je 0x7ff645756730
cmp dword [rdi], 0x22
je 0x7ff64575673d
call sub.msvcp140.dll__Xtime_get_ticks
mov rcx, rax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
sar rdx, 0x17
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub rdx, rsi
cmp rdx, 0x14
jle 0x7ff6457561d9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x7ff6457561b6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x7ff6457561b6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xb80dc9b5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x7ff6457561b1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x7ff645756190
cmp r8d, 0xaa77d735
je 0x7ff6457561bb
test r9d, r9d
jne 0x7ff645756170
mov rax, qword [rax]
jmp 0x7ff645756140
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 3
call rdx
call fcn.7ff645769870
test eax, eax
jns 0x7ff645756299
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x7ff645756276
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x7ff645756276
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
mov r8d, 0xb514d87d
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x7ff645756271
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x7ff645756250
cmp r8d, 0x1112fd9d
je 0x7ff64575627b
test r9d, r9d
jne 0x7ff645756230
mov rax, qword [rax]
jmp 0x7ff645756200
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 4
call rdx
mov rcx, qword [r14 + 0x10]
mov rdx, qword [r15 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdx
jb 0x7ff64575672a
mov r9, r14
cmp qword [r14 + 0x18], 0x10
jb 0x7ff6457562c4
mov r9, qword [r14]
mov rax, r15
cmp qword [r15 + 0x18], 0x10
jb 0x7ff6457562d1
mov rax, qword [r15]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r8, r14
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.7ff645754aa0
nop
mov r8, rbp
cmp qword [rbp + 0x18], 0x10
jb 0x7ff645756301
mov r8, qword [rbp]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov r9, qword [rbp + 0x10]
mov edx, 0x40
lea rcx, [rsp + 0xb0]
call fcn.7ff645769ae0
test eax, eax
je 0x7ff6457563d9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x7ff6457563b6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x7ff6457563b6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x9dca82b7
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x7ff6457563b1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x7ff645756390
cmp r8d, 0x564749f7
je 0x7ff6457563bb
test r9d, r9d
jne 0x7ff645756370
mov rax, qword [rax]
jmp 0x7ff645756340
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 5
call rdx
lea r8, [0x7ff645fc4008]
cmp qword [0x7ff645fc4020], 0x10
cmovae r8, qword [0x7ff645fc4008]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov r9, qword [0x7ff645fc4018]
mov edx, 0x20
lea rcx, [rsp + 0x88]
call fcn.7ff645769ae0
test eax, eax
je 0x7ff6457564d9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x7ff6457564b6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x7ff6457564b6
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x57cdf044
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x7ff6457564b1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x7ff645756490
cmp r8d, 0x87a9854
je 0x7ff6457564bb
test r9d, r9d
jne 0x7ff645756470
mov rax, qword [rax]
jmp 0x7ff645756440
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 6
call rdx
lea rdx, [rsp + 0x68]
cmp qword [rsp + 0x80], 0x10
cmovae rdx, qword [rsp + 0x68]
lea r9, [rsp + 0x88]
mov r8, qword [rsp + 0x78]
lea rcx, [rsp + 0xb0]
call fcn.7ff645769ac0
test eax, eax
je 0x7ff6457565ba
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x7ff645756596
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x7ff645756596
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x5bf67a98
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x7ff645756591
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x7ff645756570
cmp r8d, 0xd6227ce8
je 0x7ff64575659b
test r9d, r9d
jne 0x7ff645756550
mov rax, qword [rax]
jmp 0x7ff645756520
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov ecx, 7
call rdx
nop
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x7ff6457565fd
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff6457565f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff6457565f8
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff64578cd44
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x7ff64575664e
mov rcx, qword [rbp]
inc rdx
cmp rdx, 0x1000
jb 0x7ff645756649
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff645756715
mov rcx, r8
call fcn.7ff64578cd44
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x7ff645756698
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x7ff645756693
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff64575671c
mov rcx, r8
call fcn.7ff64578cd44
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x7ff6457566de
inc rdx
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x7ff6457566d9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x7ff645756723
mov rcx, r8
call fcn.7ff64578cd44
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
mov eax, 0xa58f
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.7ff64578c730
add rsp, 0x100
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.7ff6456d4de0
int3
lea rcx, [0x7ff6457a1478]
call sub.msvcp140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
int3
lea rcx, [0x7ff6457a1490]
call sub.msvcp140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3