Function at 0x1400515c0
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 [0x140133f00]
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.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rdi, rax
mov rbx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140051615
mov rbx, qword [r14]
mov dword [rax], r12d
mov r8d, 0xa
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoll]
mov rsi, rax
cmp rbx, qword [rsp + 0x48]
je 0x140051c80
cmp dword [rdi], 0x22
je 0x140051c8d
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 0x140051729
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 0x140051706
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140051706
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 0x140051701
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400516e0
cmp r8d, 0xaa77d735
je 0x14005170b
test r9d, r9d
jne 0x1400516c0
mov rax, qword [rax]
jmp 0x140051690
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.14006ab00
test eax, eax
jns 0x1400517e9
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 0x1400517c6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400517c6
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 0x1400517c1
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x1400517a0
cmp r8d, 0x1112fd9d
je 0x1400517cb
test r9d, r9d
jne 0x140051780
mov rax, qword [rax]
jmp 0x140051750
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 0x140051c7a
mov r9, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140051814
mov r9, qword [r14]
mov rax, r15
cmp qword [r15 + 0x18], 0x10
jb 0x140051821
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.14004f0d0
nop
mov r8, rbp
cmp qword [rbp + 0x18], 0x10
jb 0x140051851
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.14006ad70
test eax, eax
je 0x140051929
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 0x140051906
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140051906
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 0x140051901
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400518e0
cmp r8d, 0x564749f7
je 0x14005190b
test r9d, r9d
jne 0x1400518c0
mov rax, qword [rax]
jmp 0x140051890
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, [0x1405d04f0]
cmp qword [0x1405d0508], 0x10
cmovae r8, qword [0x1405d04f0]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov r9, qword [0x1405d0500]
mov edx, 0x20
lea rcx, [rsp + 0x88]
call fcn.14006ad70
test eax, eax
je 0x140051a29
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 0x140051a06
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140051a06
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 0x140051a01
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400519e0
cmp r8d, 0x87a9854
je 0x140051a0b
test r9d, r9d
jne 0x1400519c0
mov rax, qword [rax]
jmp 0x140051990
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.14006ad50
test eax, eax
je 0x140051b0a
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 0x140051ae6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140051ae6
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 0x140051ae1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140051ac0
cmp r8d, 0xd6227ce8
je 0x140051aeb
test r9d, r9d
jne 0x140051aa0
mov rax, qword [rax]
jmp 0x140051a70
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 0x140051b4d
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051b48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051b48
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400ee7c8
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x68], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140051b9e
mov rcx, qword [rbp]
inc rdx
cmp rdx, 0x1000
jb 0x140051b99
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c65
mov rcx, r8
call fcn.1400ee7c8
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp], 0
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140051be8
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x140051be3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c6c
mov rcx, r8
call fcn.1400ee7c8
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], 0
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x140051c2e
inc rdx
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x140051c29
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140051c73
mov rcx, r8
call fcn.1400ee7c8
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r15], 0
mov eax, 0xa58f
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400eec50
add rsp, 0x100
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140041a10
int3
lea rcx, str.invalid_stoll_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
int3
lea rcx, str.stoll_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3