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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x1401bc300]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov qword [rbp - 0x80], rdx
mov r12, rcx
mov qword [rsp + 0x40], rcx
xor r15d, r15d
mov qword [rsp + 0x38], r15
mov dword [rbp - 0x58], r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x1400032a9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x1400032a9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0x60655d15
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400032a4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003270
cmp r10d, 0x5960b63a
je 0x1400032b1
test r11d, r11d
jne 0x140003250
mov rax, qword [rax]
jmp 0x140003220
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
lea r9, [rbp - 0x58]
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0xb]
call r10
cmp eax, 0xc0000004
jne 0x14000357e
nop word [rax + rax]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003399
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003399
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0x98e95e2b
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003394
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003360
cmp r10d, 0x4211156c
je 0x1400033a1
test r11d, r11d
jne 0x140003340
mov rax, qword [rax]
jmp 0x140003310
mov edx, dword [r14 + 0x1c]
add rdx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r9d, dword [rdx + rax*4]
add r9, rbx
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call r9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003468
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003468
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xb3485b7f
movzx ecx, byte [r9]
inc r9
test cl, cl
je 0x140003463
nop
movsx edx, cl
sub cl, 0x41
mov r8d, edx
or r8d, 0x20
cmp cl, 0x19
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
movzx ecx, byte [r9]
lea r9, [r9 + 1]
test cl, cl
jne 0x140003430
cmp r10d, 0xf1f501b
je 0x140003470
test r11d, r11d
jne 0x140003410
mov rax, qword [rax]
jmp 0x1400033e0
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
mov edx, dword [rbp - 0x58]
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x3000
call r10
mov r15, rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003539
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003539
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xf00bec3c
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003534
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003500
cmp r10d, 0x92eae8f7
je 0x140003541
test r11d, r11d
jne 0x1400034e0
mov rax, qword [rax]
jmp 0x1400034b0
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r10d, dword [rcx + rax*4]
add r10, rbx
lea r9, [rbp - 0x58]
mov r8d, dword [rbp - 0x58]
mov rdx, r15
mov ecx, 0xb
call r10
cmp eax, 0xc0000004
je 0x1400032f0
mov qword [rsp + 0x38], r15
test eax, eax
jns 0x140003635
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x14000362d
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x14000362d
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xafcf1560
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003628
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x1400035f0
cmp r10d, 0x11b1a8b1
je 0x140003f71
test r11d, r11d
jne 0x1400035d0
mov rax, qword [rax]
jmp 0x1400035a0
xor r8d, r8d
mov edi, r8d
mov dword [rsp + 0x30], r8d
cmp dword [r15], r8d
jbe 0x140003ecc
movabs rsi, 0x71beb3157d78effe
movabs r14, 0x9e064a4a7ce1ef6d
nop dword [rax]
mov r13d, edi
imul rcx, r13, 0x128
lea rbx, [rcx + r15]
movzx eax, word [rbx + 0x2e]
add rax, rcx
lea rdx, [r15 + 0x30]
add rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], r8
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140003692
lea rcx, [rbp - 0x30]
call fcn.14000b450
nop
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rcx, qword [rbp - 0x30]
mov rdx, r12
call qword [sym.imp.ucrtbase.dll__stricmp]
test eax, eax
jne 0x140003c1a
lea rdx, [rbx + 0x30]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], bl
jne 0x1400036e1
lea rcx, [rbp - 0x50]
call fcn.14000b450
nop
movabs rax, 0xd154070f28b2b63e
mov qword [rsp + 0x70], rax
movabs rax, 0x71beb3157d78bbb1
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rsi
movdqa xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
call qword [sym.imp.ucrtbase.dll_getenv]
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140003750
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.14000b450
nop
movabs rax, 0x9e064a4a7ce1ef31
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rsi
mov qword [rbp], r14
mov qword [rbp + 8], rsi
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp]
movdqa xmmword [rsp + 0x50], xmm0
lea rax, [rsp + 0x50]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400037a0
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x78]
call fcn.14000abc0
mov r12, rax
movabs rax, 0x37a535cae08bc3ef
mov qword [rsp + 0x60], rax
movabs rax, 0x3c4bcf2f48f9aabf
mov qword [rsp + 0x68], rax
movabs rax, 0x65c850be93f290b3
mov qword [rbp + 0x10], rax
movabs rax, 0x3c4bcf2f148dc5d0
mov qword [rbp + 0x18], rax
movdqa xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140003811
lea rsi, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rsi, qword [rbp - 0x50]
mov rax, qword [rbp - 0x40]
cmp rdi, rax
ja 0x140003895
sub rax, rdi
test rdi, rdi
je 0x14000389c
lea r14, [rsi + rax]
movq rax, xmm0
movsx r15d, al
lea r8, [r14 + 1]
sub r8, rsi
mov edx, r15d
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140003895
mov r8, rdi
lea rdx, [rsp + 0x60]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140003a41
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140003860
mov rbx, 0xffffffffffffffff
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 0x10
jb 0x1400038ad
mov r12, qword [r12]
mov qword [rsp + 0x20], rax
mov r9, r12
mov r8d, 0xc
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.14000aa20
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x140003903
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400038fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003c6c
call fcn.1400f2e38
mov edx, 0x10
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1401bdd58], eax
jle 0x14000395e
lea rcx, [0x1401bdd58]
call fcn.1400f3344
cmp dword [0x1401bdd58], 0xffffffff
jne 0x14000395e
mov edx, 2
lea rcx, [0x1401bdd70]
call qword [sym.imp.msvcp140.dll__Mtx_init_in_situ]
lea rcx, [0x1400f7010]
call fcn.1400f35ec
lea rcx, [0x1401bdd58]
call fcn.1400f32d8
lea rcx, [0x1401bdd70]
call qword [sym.imp.msvcp140.dll__Mtx_trylock]
test eax, eax
je 0x140003983
nop
pause
lea rcx, [0x1401bdd70]
call qword [sym.imp.msvcp140.dll__Mtx_trylock]
test eax, eax
jne 0x140003970
lea r15, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae r15, qword [rbp - 0x50]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003a39
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003a39
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rbx + r11*4]
mov r9d, dword [rcx + rsi]
add r9, rbx
mov r10d, 0xb2af8c13
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003a34
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003a00
cmp r10d, 0x88098656
je 0x140003a49
test r11d, r11d
jne 0x1400039e0
mov rax, qword [rax]
jmp 0x1400039b0
sub rbx, rsi
jmp 0x14000389c
mov edx, dword [r14 + 0x1c]
add rdx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r9d, dword [rdx + rax*4]
add r9, rbx
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, r15
call r9
mov r12, rax
movsxd rcx, dword [rax + 0x3c]
mov edx, dword [rcx + rax + 0x88]
lea r8, [rax + rdx]
mov ebx, dword [r8 + 0x1c]
add rbx, rax
mov r10d, dword [r8 + 0x20]
add r10, rax
mov edi, dword [r8 + 0x24]
add rdi, rax
test edx, edx
je 0x140003ae7
xor r9d, r9d
mov r11d, dword [r8 + 0x14]
test r11d, r11d
je 0x140003ae7
nop word [rax + rax]
mov r8d, dword [r10]
add r8, r12
mov rax, qword [rbp - 0x80]
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140003ad3
inc rax
test ecx, ecx
jne 0x140003ac0
test edx, edx
je 0x140003c73
inc r9d
add r10, 4
cmp r9d, r11d
jb 0x140003ab0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003b89
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003b89
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xad706234
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003b84
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003b50
cmp r10d, 0x6fab536d
je 0x140003b91
test r11d, r11d
jne 0x140003b30
mov rax, qword [rax]
jmp 0x140003b00
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rcx + rax*4]
add rdx, rbx
mov rcx, r12
call rdx
lea rcx, [0x1401bdd70]
call qword [sym.imp.msvcp140.dll__Mtx_unlock]
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140003bf8
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003bf3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003ebe
call fcn.1400f2e38
movabs r14, 0x9e064a4a7ce1ef6d
movabs rsi, 0x71beb3157d78effe
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
mov edi, dword [rsp + 0x30]
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140003c55
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003c50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003ec5
call fcn.1400f2e38
inc edi
mov dword [rsp + 0x30], edi
cmp edi, dword [r15]
jae 0x140003ecc
xor r8d, r8d
jmp 0x140003660
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
movsxd rax, r9d
movzx ecx, word [rdi + rax*2]
mov r15d, dword [rbx + rcx*4]
imul rax, r13, 0x128
mov r13, qword [rsp + 0x38]
add r15, qword [rax + r13 + 0x18]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003d29
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003d29
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0xeae9c3e6
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003d24
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003cf0
cmp r10d, 0x239e57b
je 0x140003d31
test r11d, r11d
jne 0x140003cd0
mov rax, qword [rax]
jmp 0x140003ca0
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov r9d, dword [rcx + rax*4]
add r9, rbx
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call r9
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003df9
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003df9
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x86c2a33d
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003df4
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003dc0
cmp r10d, 0xcea6ed06
je 0x140003e01
test r11d, r11d
jne 0x140003da0
mov rax, qword [rax]
jmp 0x140003d70
mov edx, dword [r14 + 0x1c]
add rdx, rbx
mov eax, dword [r14 + 0x24]
add rax, rbx
movzx eax, word [rax + r11*2]
mov edx, dword [rdx + rax*4]
add rdx, rbx
mov rcx, r12
call rdx
lea rcx, [0x1401bdd70]
call qword [sym.imp.msvcp140.dll__Mtx_unlock]
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140003e64
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e5f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003ebe
call fcn.1400f2e38
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140003eb6
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003eb1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003eb1
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400f2e38
mov rax, r15
jmp 0x140003f99
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov r14d, dword [rcx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x140003f69
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x140003f69
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
lea rcx, [rsi + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
mov r10d, 0x11011fe5
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x140003f64
movsx ecx, r8b
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
movzx r8d, byte [r9]
lea r9, [r9 + 1]
test r8b, r8b
jne 0x140003f30
cmp r10d, 0x53f8ed52
je 0x140003f71
test r11d, r11d
jne 0x140003f10
mov rax, qword [rax]
jmp 0x140003ee0
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov r8d, 0x8000
xor edx, edx
mov rcx, r15
add rax, rbx
call rax
xor eax, eax
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400f3250
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret