Function at 0x1400315f0
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 [0x140107ec0]
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 0x140031645
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 0x140031cb0
cmp dword [rdi], 0x22
je 0x140031cbd
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 0x140031759
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 0x140031736
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140031736
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 0x140031731
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140031710
cmp r8d, 0xaa77d735
je 0x14003173b
test r9d, r9d
jne 0x1400316f0
mov rax, qword [rax]
jmp 0x1400316c0
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.14004ae10
test eax, eax
jns 0x140031819
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 0x1400317f6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400317f6
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 0x1400317f1
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x1400317d0
cmp r8d, 0x1112fd9d
je 0x1400317fb
test r9d, r9d
jne 0x1400317b0
mov rax, qword [rax]
jmp 0x140031780
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 0x140031caa
mov r9, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140031844
mov r9, qword [r14]
mov rax, r15
cmp qword [r15 + 0x18], 0x10
jb 0x140031851
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.14001d170
nop
mov r8, rbp
cmp qword [rbp + 0x18], 0x10
jb 0x140031881
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.14004b080
test eax, eax
je 0x140031959
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 0x140031936
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140031936
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 0x140031931
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140031910
cmp r8d, 0x564749f7
je 0x14003193b
test r9d, r9d
jne 0x1400318f0
mov rax, qword [rax]
jmp 0x1400318c0
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, [0x1405c0090]
cmp qword [0x1405c00a8], 0x10
cmovae r8, qword [0x1405c0090]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
mov r9, qword [0x1405c00a0]
mov edx, 0x20
lea rcx, [rsp + 0x88]
call fcn.14004b080
test eax, eax
je 0x140031a59
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 0x140031a36
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140031a36
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 0x140031a31
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140031a10
cmp r8d, 0x87a9854
je 0x140031a3b
test r9d, r9d
jne 0x1400319f0
mov rax, qword [rax]
jmp 0x1400319c0
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.14004b060
test eax, eax
je 0x140031b3a
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 0x140031b16
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140031b16
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 0x140031b11
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140031af0
cmp r8d, 0xd6227ce8
je 0x140031b1b
test r9d, r9d
jne 0x140031ad0
mov rax, qword [rax]
jmp 0x140031aa0
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 0x140031b7d
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031b78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140031b78
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400ce04c
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 0x140031bce
mov rcx, qword [rbp]
inc rdx
cmp rdx, 0x1000
jb 0x140031bc9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140031c95
mov rcx, r8
call fcn.1400ce04c
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 0x140031c18
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x140031c13
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140031c9c
mov rcx, r8
call fcn.1400ce04c
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 0x140031c5e
inc rdx
mov rcx, qword [r15]
cmp rdx, 0x1000
jb 0x140031c59
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140031ca3
mov rcx, r8
call fcn.1400ce04c
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.1400cddb0
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.140001df0
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