Function at 0x1400033f0
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword gs:[0x60]
xor r11d, r11d
mov qword [rsp + 0x20], r11
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x98], rax
mov r14, rax
call fcn.140001030
movsx edi, al
call fcn.140001040
movsx ecx, al
imul edi, ecx
call fcn.140001070
mov r12d, dword [rsp + 0x80]
lea r10d, [rdi + rdi*2]
mov r15d, dword [rsp + 0x80]
add r10d, r10d
mov r13d, dword [rsp + 0x80]
mov r9d, r10d
movsx esi, al
lea eax, [rdi + rdi*4]
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x38], rbx
lea ebp, [rsi + rax*2]
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x1400036f2
movsx eax, byte [0x14002ca3a]
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cmp qword [r14 + 0x50], 0
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r11
sete al
xor edx, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x90], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x14000354f
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
mov r9d, r10d
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
je 0x14000354f
mov r12d, 4
lea r9d, [rsi + r10]
jmp 0x1400035a5
movsx eax, byte [0x14002ca39]
add r9d, esi
movsx ecx, byte [0x14002ca38]
add eax, r9d
xor edx, edx
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x1400035a5
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x90]
cvttsd2si r12d, xmm0
movsx eax, byte [0x14002ca39]
lea ecx, [rdi + rsi]
lea ecx, [rcx + rdi*4]
xor edx, edx
add eax, ecx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
imul eax, r12d
test eax, eax
je 0x1400036f2
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, r9d
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm2, xmm2
sub eax, ecx
xor edx, edx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002ca3a]
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x90], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003688
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
jne 0x140003b30
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, r9d
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x1400036e3
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x90]
cvttsd2si eax, xmm0
mov dword [rsp + 0x80], eax
jmp 0x1400036ea
mov eax, dword [rsp + 0x80]
test eax, eax
jg 0x140003b30
movsx eax, byte [0x14002ca39]
xor edx, edx
imul ecx, edi, 7
add ecx, esi
add eax, ecx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003866
mov rcx, qword [r14 + 0x50]
call fcn.140004140
mov rcx, rax
call fcn.140003b70
mov ecx, 0x6391f6a9
mov ebx, eax
call fcn.1400045b0
xor r11d, r11d
xorps xmm2, xmm2
cmp ebx, eax
mov ecx, r11d
movsx eax, byte [0x14002ca3a]
sete cl
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtsi2sd xmm2, rcx
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x90], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x1400037da
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
je 0x1400037da
lea r15d, [r11 + 4]
jmp 0x140003832
movsx eax, byte [0x14002ca39]
lea edx, [rdi + rdi*2]
movsx ecx, byte [0x14002ca38]
add eax, esi
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003832
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x90]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, esi
lea eax, [rax + rdi*2]
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
imul eax, r15d
test eax, eax
jne 0x140003b34
mov r10d, dword [rsp + 0x88]
movsx eax, byte [0x14002ca3a]
mov r14, qword [r14]
cmp r14, qword [rsp + 0x98]
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r11
setne al
xor edx, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x90], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003918
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
je 0x140003918
lea r9d, [rdi + rdi*2]
mov r13d, 4
add r9d, r9d
jmp 0x140003974
movsx eax, byte [0x14002ca39]
lea r9d, [rdi + rdi*2]
movsx ecx, byte [0x14002ca38]
add eax, esi
add r9d, r9d
xor edx, edx
add eax, r9d
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003974
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x90]
cvttsd2si r13d, xmm0
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, esi
lea eax, [rax + rdi*8]
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
imul eax, r13d
test eax, eax
jne 0x140003480
mov r10, qword [rsp + 0x20]
call fcn.140001040
movsx edx, al
call fcn.140001030
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001070
movsx ecx, byte [0x14002ca39]
xor edx, edx
movsx eax, al
xorps xmm2, xmm2
add eax, r9d
add eax, ecx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002ca3a]
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x80], xmm1
call fcn.140001040
movsx edx, al
call fcn.140001030
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140001070
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002ca39]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003a9b
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
jne 0x140003b49
call fcn.140001040
movsx edx, al
call fcn.140001030
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140001070
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002ca39]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003b3d
call fcn.140001040
movsx edx, al
call fcn.140001030
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140001070
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002ca39]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x80]
cvttsd2si eax, xmm0
jmp 0x140003b44
xor eax, eax
jmp 0x140003b4c
mov r10, qword [r14 + 0x20]
jmp 0x1400039a5
mov eax, dword [rsp + 0x80]
cmp r11d, eax
jge 0x140003b4c
mov rax, r10
mov rbx, qword [rsp + 0x38]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret