Function at 0x14003cfd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x258
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x1400d1060]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov dword [rbp - 0x80], r9d
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x40], rdx
mov rsi, rcx
mov qword [rbp - 0x30], rcx
mov rdi, qword [rbp + 0x1c0]
mov rbx, qword [0x1400d1fc0]
mov r15, rbx
mov qword [rsp + 0x70], rbx
mov rax, qword [rbx + 0x1d18]
mov byte [rax + 0xd1], 1
mov r13, qword [rbx + 0x1d18]
mov qword [rbp - 0x28], r13
cmp byte [r13 + 0xd4], 0
jne 0x14003d428
mov r12d, dword [rbp + 0x1c8]
mov r14d, r12d
shr r14d, 0x1a
and r14b, 1
mov dword [rsp + 0x58], r14d
mov eax, r12d
shr eax, 0xe
and al, 1
mov dword [rsp + 0x60], eax
mov eax, r12d
shr eax, 0xf
and al, 1
mov dword [rbp - 0x5c], eax
mov eax, r12d
shr eax, 0x10
not al
and al, 1
mov dword [rsp + 0x64], eax
mov eax, r12d
shr eax, 0x12
and al, 1
mov dword [rbp - 0x7c], eax
test r14b, r14b
je 0x14003d0eb
call fcn.140012250
mov rbx, qword [0x1400d1fc0]
movsxd rcx, dword [r13 + 0x108]
mov rax, qword [r13 + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
mov rcx, rsi
call fcn.1400039b0
mov esi, eax
mov dword [rsp + 0x7c], eax
cmp dword [rbx + 0x1d6c], eax
jne 0x14003d11c
mov dword [rbx + 0x1d70], eax
cmp dword [rbx + 0x1da8], esi
jne 0x14003d12b
mov byte [rbx + 0x1dac], 1
mov rdx, qword [rbp - 0x30]
mov rcx, rdx
cmp rdx, 0xffffffffffffffff
jae 0x14003d151
movzx eax, byte [rcx]
test al, al
je 0x14003d151
cmp al, 0x23
jne 0x14003d148
cmp byte [rcx + 1], al
je 0x14003d151
inc rcx
cmp rcx, 0xffffffffffffffff
jb 0x14003d138
movss xmm0, dword [rbx + 0x1a80]
xor eax, eax
movss xmm10, dword [0x1400c10a8]
cmp rdx, rcx
jne 0x14003d16f
xorps xmm15, xmm15
jmp 0x14003d1c2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
movss xmm1, dword [0x1400c10b8]
movss dword [rsp + 0x20], xmm1
movaps xmm3, xmm10
movaps xmm2, xmm0
lea rdx, [rbp - 0x78]
mov rcx, qword [rbx + 0x1a78]
call fcn.1400317b0
movss xmm0, dword [rbp - 0x78]
addss xmm0, dword [0x1400c0ff4]
cvttss2si eax, xmm0
movd xmm15, eax
cvtdq2ps xmm15, xmm15
movss xmm0, dword [rbp - 0x74]
xorps xmm11, xmm11
movss dword [rbp - 0x38], xmm15
test r14b, r14b
je 0x14003d1e2
movss xmm0, dword [r15 + 0x1a80]
mulss xmm0, dword [0x1400c1048]
movss xmm5, dword [r15 + 0x1674]
movaps xmm3, xmm5
addss xmm3, xmm5
addss xmm3, xmm0
mov rcx, qword [rbx + 0x1d18]
test byte [rbx + 0x1e58], 1
je 0x14003d210
movss xmm0, dword [rbx + 0x1e5c]
jmp 0x14003d218
movss xmm0, dword [rcx + 0x204]
comiss xmm11, xmm0
jbe 0x14003d25a
movss xmm1, dword [rcx + 0x2a8]
cmp qword [rcx + 0x1e8], 0
jne 0x14003d23a
cmp qword [rbx + 0x2178], 0
je 0x14003d242
movss xmm1, dword [rcx + 0x278]
subss xmm1, dword [rcx + 0x118]
addss xmm1, xmm0
movss xmm0, dword [0x1400c0ffc]
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss xmm9, dword [rdi]
movss xmm8, dword [rdi + 4]
movss dword [rbp - 0x48], xmm8
xorps xmm1, xmm1
xorps xmm0, xmm0
comiss xmm11, xmm9
ja 0x14003d288
comiss xmm11, xmm8
jbe 0x14003d2b4
movss xmm0, dword [rcx + 0x2a8]
movss xmm1, dword [rcx + 0x2ac]
cmp qword [rcx + 0x1e8], 0
jne 0x14003d2ac
cmp qword [rbx + 0x2178], 0
je 0x14003d2b4
movss xmm0, dword [rcx + 0x278]
movss xmm2, dword [0x1400c1038]
ucomiss xmm9, xmm11
jp 0x14003d2ca
jne 0x14003d2ca
movaps xmm9, xmm4
jmp 0x14003d2ea
comiss xmm11, xmm9
jbe 0x14003d2ea
subss xmm0, dword [rcx + 0x118]
addss xmm0, xmm9
movaps xmm9, xmm0
comiss xmm2, xmm0
jb 0x14003d2ea
movaps xmm9, xmm2
ucomiss xmm8, xmm11
jp 0x14003d2fd
jne 0x14003d2fd
movaps xmm8, xmm3
movss dword [rbp - 0x48], xmm3
jmp 0x14003d327
comiss xmm11, xmm8
jbe 0x14003d327
subss xmm1, dword [rcx + 0x11c]
addss xmm1, xmm8
movaps xmm8, xmm1
movss dword [rbp - 0x48], xmm1
comiss xmm2, xmm1
jb 0x14003d327
movaps xmm8, xmm2
movss dword [rbp - 0x48], xmm2
comiss xmm15, xmm11
jbe 0x14003d33c
movaps xmm1, xmm15
addss xmm1, dword [r15 + 0x1688]
jmp 0x14003d33f
xorps xmm1, xmm1
movss xmm12, dword [r13 + 0x11c]
movss dword [rbp - 0x44], xmm12
movaps xmm0, xmm12
addss xmm0, xmm8
movss xmm7, dword [r13 + 0x118]
movaps xmm6, xmm7
addss xmm6, xmm9
movss dword [rbp - 0x34], xmm6
movss dword [rbp - 0x20], xmm7
movss dword [rbp - 0x1c], xmm12
movss dword [rbp - 0x18], xmm6
movss dword [rbp - 0x14], xmm0
movaps xmm2, xmm12
addss xmm2, xmm8
addss xmm1, xmm9
addss xmm1, xmm7
movss dword [rbp + 0x80], xmm7
movss dword [rbp + 0x84], xmm12
movss dword [rbp + 0x88], xmm1
movss dword [rbp + 0x8c], xmm2
mov rbx, r13
mov qword [rbp - 0x50], rbx
mov edi, 1
test r14b, r14b
je 0x14003d6fd
mov r9d, edi
lea r8, [rbp - 0x20]
mov edx, esi
lea rcx, [rbp + 0x80]
call fcn.140011e10
test al, al
jne 0x14003d48c
movss xmm0, dword [rbp + 0x88]
subss xmm0, dword [rbp + 0x80]
movss dword [rbp - 0x30], xmm0
movss xmm1, dword [rbp + 0x8c]
subss xmm1, dword [rbp + 0x84]
movss dword [rbp - 0x2c], xmm1
movss xmm1, dword [r15 + 0x1674]
lea rcx, [rbp - 0x30]
call fcn.140011cc0
call fcn.140012380
xor al, al
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1400a9d80
lea r11, [rsp + 0x258]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rbx, qword [0x1400d1fc0]
mov dword [rbp + 0x60], 3
movups xmm0, xmmword [rbx + 0x172c]
movups xmmword [rbp + 0x64], xmm0
lea rcx, [rbx + 0x1e70]
lea rdx, [rbp + 0x60]
call fcn.140022e10
movups xmm0, xmmword [r15 + 0x176c]
movups xmmword [rbx + 0x172c], xmm0
movss xmm6, dword [r15 + 0x1678]
mov rbx, qword [0x1400d1fc0]
lea rcx, [rbx + 0x1e80]
movss xmm0, dword [rbx + 0x1660]
mov dword [rbp - 0x78], 6
movss dword [rbp - 0x74], xmm0
lea rdx, [rbp - 0x78]
call fcn.140022d10
movss dword [rbx + 0x1660], xmm6
movss xmm6, dword [r15 + 0x167c]
mov rbx, qword [0x1400d1fc0]
lea rcx, [rbx + 0x1e80]
movss xmm0, dword [rbx + 0x1664]
mov dword [rbp - 0x78], 7
movss dword [rbp - 0x74], xmm0
lea rdx, [rbp - 0x78]
call fcn.140022d10
movss dword [rbx + 0x1664], xmm6
movss xmm1, dword [rbp - 0x14]
movss xmm12, dword [rbp - 0x1c]
movss dword [rbp - 0x44], xmm12
subss xmm1, xmm12
movss xmm6, dword [rbp - 0x18]
movss dword [rbp - 0x34], xmm6
movaps xmm0, xmm6
movss xmm7, dword [rbp - 0x20]
subss xmm0, xmm7
movss dword [rbp - 0x78], xmm0
movss dword [rbp - 0x74], xmm1
lea r8, [rbp - 0x78]
mov edx, esi
mov rcx, qword [rbp - 0x30]
call fcn.14000b1d0
movzx r11d, al
mov r8, qword [0x1400d1fc0]
movsxd rcx, dword [r8 + 0x1e80]
lea rdx, [rcx + rcx*2]
mov r9, qword [r8 + 0x1e88]
movsxd rcx, dword [r9 + rdx*4 - 0xc]
lea r10, [rcx + rcx*2]
lea rbx, [0x1400bb3e0]
mov ecx, dword [rbx + r10*4 + 8]
cmp dword [rbx + r10*4], 8
jne 0x14003d5f1
mov eax, dword [rbx + r10*4 + 4]
cmp eax, edi
jne 0x14003d5d2
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1638], eax
jmp 0x14003d5f1
cmp eax, 2
jne 0x14003d5f1
mov eax, dword [r9 + rdx*4 - 8]
mov dword [rcx + r8 + 0x1638], eax
mov eax, dword [r9 + rdx*4 - 4]
mov dword [rcx + r8 + 0x163c], eax
movsxd rcx, dword [r8 + 0x1e80]
lea eax, [rcx - 1]
mov dword [r8 + 0x1e80], eax
lea rax, [rcx - 2]
lea rcx, [rax + rax*2]
mov rdx, qword [r8 + 0x1e88]
movsxd rax, dword [rdx + rcx*4]
lea r10, [rax + rax*2]
mov r9d, dword [rbx + r10*4 + 8]
cmp dword [rbx + r10*4], 8
jne 0x14003d659
mov eax, dword [rbx + r10*4 + 4]
cmp eax, edi
jne 0x14003d63c
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1638], eax
jmp 0x14003d659
cmp eax, 2
jne 0x14003d659
mov eax, dword [rdx + rcx*4 + 4]
mov dword [r9 + r8 + 0x1638], eax
mov eax, dword [rdx + rcx*4 + 8]
mov dword [r9 + r8 + 0x163c], eax
dec dword [r8 + 0x1e80]
movsxd rax, dword [r8 + 0x1e70]
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x1e78]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x16fc], xmm0
dec dword [r8 + 0x1e70]
test r11b, r11b
jne 0x14003d69e
call fcn.14000b460
jmp 0x14003d423
mov rbx, qword [r15 + 0x1d18]
mov qword [rbp - 0x50], rbx
movsx ecx, word [rbx + 0x192]
mov eax, dword [rbx + 0x18c]
bts ecx, eax
mov word [rbx + 0x192], cx
movss xmm0, dword [r15 + 0x1670]
addss xmm0, dword [rbx + 0x118]
movss dword [rbx + 0x118], xmm0
movss xmm1, dword [r15 + 0x1674]
addss xmm1, dword [rbx + 0x11c]
movss dword [rbx + 0x11c], xmm1
subss xmm9, dword [rbx + 0xc4]
jmp 0x14003d75b
subss xmm2, xmm12
subss xmm1, xmm7
movss dword [rbp - 0x78], xmm1
movss dword [rbp - 0x74], xmm2
movaps xmm1, xmm5
lea rcx, [rbp - 0x78]
call fcn.140011cc0
bt r12d, 0x1c
jb 0x14003d75b
mov r9d, edi
lea r8, [rbp - 0x20]
mov edx, esi
lea rcx, [rbp + 0x80]
call fcn.140011e10
test al, al
je 0x14003d428
movss xmm0, dword [rbp - 0x18]
movss dword [rbp - 0x34], xmm0
movss xmm12, dword [rbp - 0x1c]
movss dword [rbp - 0x44], xmm12
movss xmm7, dword [rbp - 0x20]
mov edx, esi
lea rcx, [rbp - 0x20]
call fcn.140005f90
mov byte [rbp - 0x60], al
test al, al
je 0x14003d774
mov dword [r15 + 0x20d0], edi
mov r13, qword [0x1400d1fc0]
add r13, 0x2230
cmp dword [r13], esi
mov ecx, 0
cmovne r13, rcx
mov qword [rbp + 0x80], r13
mov rcx, qword [rbp - 0x28]
mov r12d, dword [rcx + 0x168]
mov esi, r12d
shr esi, 8
and sil, dil
mov dword [rsp + 0x5c], esi
shr r12d, 9
and r12b, dil
test al, al
je 0x14003d7c9
cmp byte [r15 + 0x418], 0
je 0x14003d7c9
movzx r14d, dil
jmp 0x14003d7cc
xor r14b, r14b
mov byte [rsp + 0x54], r14b
mov edi, dword [r15 + 0x1d6c]
mov eax, dword [rsp + 0x7c]
cmp edi, eax
je 0x14003d801
cmp dword [r15 + 0x1f6c], eax
je 0x14003d7fc
cmp dword [r15 + 0x1f60], eax
jne 0x14003d801
cmp dword [r15 + 0x1f84], 2
jne 0x14003d801
mov r15b, 1
jmp 0x14003d804
xor r15b, r15b
mov byte [rsp + 0x53], r15b
mov eax, dword [rsp + 0x58]
test al, al
je 0x14003d850
test r13, r13
je 0x14003d850
test edi, edi
jne 0x14003d850
movsxd rcx, dword [rbx + 0x108]
mov rax, qword [rbx + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.1400039b0
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x1da8], eax
jne 0x14003d84c
mov bl, 1
jmp 0x14003d85b
mov eax, dword [rsp + 0x58]
xor bl, bl
test al, al
je 0x14003d888
test r13, r13
je 0x14003d888
mov rax, qword [rbp - 0x50]
movsxd rdx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r8d, dword [rax + rdx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.1400039b0
cmp edi, eax
jne 0x14003d888
mov cl, 1
jmp 0x14003d88a
xor cl, cl
mov byte [rsp + 0x50], cl
mov byte [rsp + 0x51], 0
mov edx, dword [rsp + 0x7c]
cmp edi, edx
je 0x14003d8b8
test byte [rbp + 0x1c8], 0x10
jne 0x14003d8a9
test r15b, r15b
je 0x14003d8b8
mov eax, dword [rsp + 0x58]
test al, al
jne 0x14003d8bc
mov byte [rsp + 0x68], 1
jmp 0x14003d8d6
mov eax, dword [rsp + 0x58]
mov byte [rsp + 0x68], 0
test al, al
je 0x14003d8d6
mov rax, qword [rbp - 0x50]
movss xmm10, dword [rax + 0xa0]
mov eax, dword [rsp + 0x58]
test r13, r13
je 0x14003d8e8
xor al, 1
cmp byte [r13 + 0x63], al
je 0x14003d8e8
mov r15b, 1
jmp 0x14003d8eb
xor r15b, r15b
test r14b, r14b
jne 0x14003d913
test bl, bl
jne 0x14003d913
cmp byte [rsp + 0x53], bl
jne 0x14003d913
test sil, sil
jne 0x14003d913
test r12b, r12b
jne 0x14003d913
mov byte [rsp + 0x55], r12b
test cl, cl
jne 0x14003d918
mov byte [rsp + 0x52], cl
jmp 0x14003d921
mov byte [rsp + 0x55], 1
mov byte [rsp + 0x52], 1
cmp edi, edx
jne 0x14003d92a
test r15b, r15b
je 0x14003db4d
mov r13, qword [rsp + 0x70]
add r13, 0x2230
mov qword [rbp + 0x80], r13
mov dword [r13 + 0xe78], 0xbe99999a
mov rax, 0xffffffffffffffff
mov r14, qword [rbp - 0x68]
lea rax, [rax + 1]
cmp byte [r14 + rax], 0
jne 0x14003d953
lea ebx, [rax + 1]
mov ecx, dword [r13 + 0x34]
cmp ebx, ecx
jle 0x14003d98d
test ecx, ecx
je 0x14003d978
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d97d
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r13 + 0x30]
call fcn.1400230f0
mov dword [r13 + 0x30], ebx
movsxd r8, ebx
mov rdx, r14
mov rcx, qword [r13 + 0x38]
call sub.VCRUNTIME140.dll_memcpy
movsxd rsi, dword [rbp - 0x80]
lea ebx, [rsi + 1]
mov ecx, dword [r13 + 0x14]
cmp ebx, ecx
jle 0x14003d9d3
test ecx, ecx
je 0x14003d9be
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d9c3
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r13 + 0x10]
call fcn.140023180
mov dword [r13 + 0x10], ebx
mov ecx, dword [r13 + 0x24]
test ecx, ecx
jns 0x14003d9fa
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
mov edx, ecx
test eax, eax
cmovg edx, eax
lea rcx, [r13 + 0x20]
call fcn.1400230f0
xor ecx, ecx
mov dword [r13 + 0x20], ecx
mov byte [r13 + 0x40], cl
mov rdi, r14
mov r14, qword [r13 + 0x18]
mov rbx, r14
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x14003da4f
nop word [rax + rax]
cmp byte [rdi], 0
je 0x14003da4d
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.140003ce0
movsxd rcx, eax
add rdi, rcx
mov eax, dword [rbp - 0x58]
test eax, eax
je 0x14003da4d
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x14003da20
xor ecx, ecx
mov word [rbx], cx
sub rbx, r14
sar rbx, 1
mov dword [r13 + 4], ebx
sub edi, dword [rbp - 0x68]
mov dword [r13 + 8], edi
mov edi, dword [rsp + 0x7c]
cmp dword [r13], edi
jne 0x14003daa3
test r15b, r15b
jne 0x14003daa3
mov ecx, ebx
cmp dword [r13 + 0x4c], ebx
cmovl ecx, dword [r13 + 0x4c]
mov dword [r13 + 0x4c], ecx
mov ecx, ebx
cmp dword [r13 + 0x50], ebx
cmovl ecx, dword [r13 + 0x50]
mov dword [r13 + 0x50], ecx
cmp dword [r13 + 0x54], ebx
cmovl ebx, dword [r13 + 0x54]
mov dword [r13 + 0x54], ebx
mov esi, dword [rsp + 0x58]
jmp 0x14003db18
mov dword [r13], edi
mov qword [r13 + 0x48], 0
mov dword [r13 + 0xe6a], 0x630000
mov dword [r13 + 0xe70], ecx
mov dword [r13 + 0xe74], 0x3e7
mov qword [r13 + 0x50], 0
mov word [r13 + 0x61], 1
mov dword [r13 + 0x68], ecx
mov byte [r13 + 0x60], 0
mov esi, dword [rsp + 0x58]
movzx eax, sil
xor al, 1
mov byte [r13 + 0x63], al
mov byte [r13 + 0x58], 0
mov dword [r13 + 0x5c], ecx
test sil, sil
jne 0x14003db18
mov edx, dword [rsp + 0x68]
movzx edx, dl
cmp byte [rsp + 0x5c], sil
mov eax, 1
cmovne edx, eax
mov dword [rsp + 0x68], edx
test dword [rbp + 0x1c8], 0x2000
je 0x14003db29
mov byte [r13 + 0x58], 1
test sil, sil
jne 0x14003db53
test r12b, r12b
jne 0x14003db48
cmp byte [rsp + 0x54], r12b
je 0x14003db53
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x13c], r12b
je 0x14003db53
mov r15b, 1
jmp 0x14003db58
mov edi, edx
mov esi, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
movzx ebx, byte [rsp + 0x55]
cmp dword [r14 + 0x1d6c], edi
je 0x14003dbf8
test bl, bl
je 0x14003dbf8
mov rdx, qword [rbp - 0x28]
mov ecx, edi
call fcn.140005e40
call fcn.140013bb0
mov rcx, rdx
call fcn.140011360
mov eax, dword [r14 + 0x1d80]
or eax, 3
mov dword [r14 + 0x1d80], eax
mov ecx, dword [rbp + 0x1c8]
test sil, sil
jne 0x14003dbaf
test cl, cl
jns 0x14003dbb9
or eax, 0xc
mov dword [r14 + 0x1d80], eax
or dword [r14 + 0x1d84], 2
mov rax, qword [r14 + 0x1d88]
or rax, 0x180
mov qword [r14 + 0x1d88], rax
test sil, sil
je 0x14003dbe5
or rax, 0x60
mov qword [r14 + 0x1d88], rax
test ecx, 0x440
je 0x14003dbf8
or rax, 1
mov qword [r14 + 0x1d88], rax
mov eax, dword [r14 + 0x1d6c]
cmp eax, edi
jne 0x14003dc9b
test r13, r13
jne 0x14003dc7d
mov rdx, qword [0x1400d1fc0]
mov ecx, dword [rdx + 0x1d6c]
test ecx, ecx
setne al
mov byte [rdx + 0x1d78], al
xor eax, eax
test ecx, ecx
je 0x14003dc41
mov dword [rdx + 0x1d74], eax
mov word [rdx + 0x1d7b], ax
mov dword [rdx + 0x1da4], 0xffffffff
mov dword [rdx + 0x1d6c], eax
mov word [rdx + 0x1d79], 0
mov qword [rdx + 0x1d98], rax
mov word [rdx + 0x1d7d], 0
mov qword [rdx + 0x1d80], 0
mov qword [rdx + 0x1d88], rax
mov eax, dword [r14 + 0x1d6c]
cmp eax, edi
jne 0x14003dc9b
cmp byte [r14 + 0x418], 0
je 0x14003dca7
cmp byte [rsp + 0x52], 0
jne 0x14003dca7
test bl, bl
jne 0x14003dca7
mov byte [rsp + 0x51], 1
mov cl, 1
jmp 0x14003dcad
test r13, r13
je 0x14003dcab
cmp byte [rsp + 0x50], 0
je 0x14003dcab
mov cl, 1
jmp 0x14003dcad
xor cl, cl
mov byte [rsp + 0x54], cl
test r13, r13
je 0x14003dcc9
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
je 0x14003dcc9
test cl, cl
je 0x14003dcc9
mov r12b, 1
jmp 0x14003dccc
xor r12b, r12b
mov byte [rsp + 0x50], r12b
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x52], 0
mov esi, dword [rsp + 0x60]
test sil, sil
je 0x14003dde9
test r13, r13
je 0x14003dde9
test cl, cl
jne 0x14003dcfe
test r12b, r12b
je 0x14003ddf2
mov esi, dword [rbp - 0x80]
inc esi
mov ecx, dword [r13 + 0x14]
cmp esi, ecx
jle 0x14003dd2f
test ecx, ecx
je 0x14003dd1a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003dd1f
mov eax, 8
mov edx, esi
cmp eax, esi
cmovg edx, eax
lea rcx, [r13 + 0x10]
call fcn.140023180
mov dword [r13 + 0x10], esi
mov rcx, qword [rbp - 0x68]
mov rdi, rcx
mov r14, qword [r13 + 0x18]
mov rbx, r14
movsxd rsi, esi
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x14003dd81
cmp byte [rdi], 0
je 0x14003dd7d
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.140003ce0
movsxd rcx, eax
add rdi, rcx
mov eax, dword [rbp - 0x58]
test eax, eax
je 0x14003dd7d
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x14003dd50
mov rcx, qword [rbp - 0x68]
xor r8d, r8d
mov word [rbx], r8w
sub rbx, r14
sar rbx, 1
mov dword [r13 + 4], ebx
sub edi, ecx
mov dword [r13 + 8], edi
mov ecx, ebx
cmp dword [r13 + 0x4c], ebx
cmovl ecx, dword [r13 + 0x4c]
mov dword [r13 + 0x4c], ecx
mov edx, ebx
cmp dword [r13 + 0x50], ebx
cmovl edx, dword [r13 + 0x50]
mov dword [r13 + 0x50], edx
cmp dword [r13 + 0x54], ebx
cmovl ebx, dword [r13 + 0x54]
mov dword [r13 + 0x54], ebx
mov ecx, r8d
movzx eax, r12b
cmp edx, ebx
cmovne ecx, eax
movzx r12d, cl
mov byte [rsp + 0x50], cl
mov r14, qword [rsp + 0x70]
mov edi, dword [rsp + 0x7c]
movzx ecx, byte [rsp + 0x54]
mov esi, dword [rsp + 0x60]
test cl, cl
jne 0x14003ddfb
test r12b, r12b
jne 0x14003ddfb
cmp dword [r14 + 0x1d6c], edi
jne 0x14003de0f
test sil, sil
jne 0x14003de0f
test r13, r13
je 0x14003de0f
cmp byte [r13 + 0x40], sil
je 0x14003de0f
mov al, 1
jmp 0x14003de11
xor al, al
mov byte [rsp + 0x78], al
cmp qword [rbp - 0x40], 0
je 0x14003de33
test al, al
je 0x14003de26
mov rax, qword [r13 + 0x28]
jmp 0x14003de2a
mov rax, qword [rbp - 0x68]
cmp byte [rax], 0
jne 0x14003de33
mov al, 1
jmp 0x14003de35
xor al, al
mov byte [rsp + 0x55], al
cmp byte [rbp - 0x5c], 0
je 0x14003ded5
test al, al
jne 0x14003ded5
mov rdx, qword [r14 + 0x1a78]
cmp dword [rdx + 0x18], 0x2a
ja 0x14003de5e
mov r8, qword [rdx + 0x38]
jmp 0x14003de82
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x14003de76
mov r8, qword [rdx + 0x38]
jmp 0x14003de82
lea rcx, [rcx + rcx*4]
mov rax, qword [rdx + 0x30]
lea r8, [rax + rcx*8]
lea rcx, [r14 + 0x30c8]
mov eax, dword [rdx + 0x14]
mov dword [rcx + 0x14], eax
mov rax, qword [r14 + 0x1a78]
mov edx, dword [rax + 0x58]
mov dword [rcx + 0x58], edx
mov rax, qword [r14 + 0x1a78]
mov edx, dword [rax + 0x5c]
mov dword [rcx + 0x5c], edx
mov rax, qword [r14 + 0x1a78]
mov edx, dword [rax + 0x60]
mov dword [rcx + 0x60], edx
mov rax, qword [r14 + 0x1a78]
mov rdx, qword [rax + 0x40]
mov qword [rcx + 0x40], rdx
mov qword [rcx + 0x38], r8
mov eax, dword [r8 + 4]
mov dword [rcx + 0x10], eax
call fcn.1400117b0
xor ecx, ecx
mov dword [rbp - 0x58], ecx
mov edx, 0x20000c
cmp dword [r14 + 0x1d6c], edi
jne 0x14003e2e3
mov eax, dword [r13 + 8]
mov dword [rbp - 0x58], eax
mov byte [r13 + 0xe7e], cl
mov eax, dword [rbp - 0x80]
mov dword [r13 + 0x44], eax
mov r8d, dword [rbp + 0x1c8]
mov dword [r13 + 0xe80], r8d
mov qword [r13 + 0xe88], rcx
mov qword [r13 + 0xe90], rcx
cmp byte [r14 + 0x128], cl
sete al
mov byte [r14 + 0x1d79], al
mov eax, 1
mov dword [r14 + 0x34a4], eax
movss xmm6, dword [r14 + 0x120]
subss xmm6, xmm7
subss xmm6, dword [r14 + 0x1670]
addss xmm6, dword [r13 + 0x48]
cmp byte [rsp + 0x58], cl
je 0x14003df73
movss xmm2, dword [r14 + 0x124]
mov rax, qword [rbp - 0x50]
subss xmm2, dword [rax + 0x11c]
jmp 0x14003df84
movss xmm2, dword [r14 + 0x1a80]
mulss xmm2, dword [0x1400c0fb8]
movzx edi, byte [r14 + 0xd0]
test r15b, r15b
jne 0x14003e12c
movzx ecx, byte [rbp - 0x60]
test cl, cl
je 0x14003dfb2
movzx eax, byte [r14 + 0x41d]
test dil, dil
jne 0x14003e010
test al, al
jne 0x14003e12c
movzx eax, byte [r13 + 0xe7d]
cmp byte [r14 + 0x418], 0
je 0x14003e0b3
test al, al
jne 0x14003e0b3
test cl, cl
je 0x14003e062
cmp byte [r13 + 0x63], al
je 0x14003dff2
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp + 0x60]
call fcn.14003b2c0
movss xmm2, dword [rbp + 0x6c]
movaps xmm1, xmm6
mov rcx, r13
call fcn.14003b780
mov dword [r13 + 0x4c], eax
mov dword [r13 + 0x50], eax
mov dword [r13 + 0x54], eax
mov byte [r13 + 0x62], 0
jmp 0x14003e050
test al, al
je 0x14003dfb2
mov r8d, edx
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
mov r8d, 0x60000d
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov r8d, dword [rbp + 0x1c8]
mov dword [r13 + 0xe78], 0xbe99999a
xor r15d, r15d
cmp byte [r13 + 0xe7d], 0
je 0x14003e081
cmp byte [r14 + 0x128], 0
jne 0x14003e081
mov byte [r13 + 0xe7d], 0
cmp byte [r14 + 0x13c], 0
je 0x14003e095
cmp byte [r14 + 0x13e], 0
je 0x14003e0ac
test dil, dil
je 0x14003e150
cmp byte [r14 + 0x13f], 0
je 0x14003e150
mov bl, 1
jmp 0x14003e152
cmp byte [r14 + 0x128], 0
je 0x14003e062
test al, al
jne 0x14003e062
movss xmm0, dword [r14 + 0x3b4]
ucomiss xmm0, xmm11
jp 0x14003e0e7
jne 0x14003e0e7
movss xmm0, dword [r14 + 0x3b8]
ucomiss xmm0, xmm11
jp 0x14003e0e7
je 0x14003e062
cmp byte [r13 + 0x63], 0
je 0x14003e102
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp + 0x60]
call fcn.14003b2c0
movss xmm2, dword [rbp + 0x6c]
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
jne 0x14003e114
mov eax, dword [r13 + 0x4c]
mov dword [r13 + 0x50], eax
movaps xmm1, xmm6
mov rcx, r13
call fcn.14003b780
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x4c], eax
jmp 0x14003e048
xor r15d, r15d
mov dword [r13 + 0x50], r15d
mov eax, dword [r13 + 4]
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x4c], eax
mov byte [r13 + 0x62], r15b
mov byte [r13 + 0xe7d], 1
jmp 0x14003e065
xor bl, bl
bt r8d, 0xa
jae 0x14003e207
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x14003e207
call fcn.14000b110
test al, al
je 0x14003e207
test bl, bl
jne 0x14003e207
cmp byte [r14 + 0x13d], bl
jne 0x14003e207
test sil, sil
jne 0x14003e207
mov rcx, qword [r14 + 0x1550]
movsxd rax, dword [r14 + 0x1548]
lea rdx, [rcx + rax*2]
cmp rcx, rdx
jae 0x14003e1c2
nop dword [rax]
movzx eax, word [rcx]
add rcx, 2
cmp ax, 9
je 0x14003e207
cmp rcx, rdx
jb 0x14003e1b0
mov dword [rsp + 0x5c], 9
mov dword [rsp + 0x20], 2
mov edx, r8d
lea rcx, [rsp + 0x5c]
call fcn.14003ce00
test al, al
je 0x14003e207
lea rdx, [r13 + 0x4c]
mov r8d, dword [rsp + 0x5c]
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
cmp dword [r14 + 0x1548], 0
jle 0x14003e2df
test bl, bl
jne 0x14003e2b0
cmp byte [rsp + 0x60], bl
jne 0x14003e2b0
cmp byte [rsp + 0x53], bl
jne 0x14003e2b0
mov edi, r15d
mov rbx, r15
mov r12d, dword [rbp + 0x1c8]
nop
mov rax, qword [r14 + 0x1550]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x5c], ecx
cmp ecx, 9
jne 0x14003e25e
cmp byte [r14 + 0x13d], 0
jne 0x14003e29b
mov dword [rsp + 0x20], 2
mov edx, r12d
lea rcx, [rsp + 0x5c]
call fcn.14003ce00
test al, al
je 0x14003e29b
lea rdx, [r13 + 0x4c]
mov r8d, dword [rsp + 0x5c]
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
inc edi
add rbx, 2
cmp edi, dword [r14 + 0x1548]
jl 0x14003e240
movzx r12d, byte [rsp + 0x50]
mov ecx, dword [r14 + 0x154c]
test ecx, ecx
jns 0x14003e2d8
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r15d
test eax, eax
cmovg edx, eax
lea rcx, [r14 + 0x1548]
call fcn.140023180
mov dword [r14 + 0x1548], r15d
mov edi, dword [rsp + 0x7c]
xor cl, cl
mov eax, dword [r14 + 0x1d6c]
cmp eax, edi
jne 0x14003f768
movzx r10d, byte [rsp + 0x51]
cmp byte [r14 + 0x1d78], cl
jne 0x14003edea
test r10b, r10b
jne 0x14003edea
movaps xmm0, xmm8
subss xmm0, dword [r14 + 0x1674]
divss xmm0, dword [r14 + 0x1a80]
cvttss2si eax, xmm0
mov r15d, 1
cmp eax, r15d
cmovge r15d, eax
mov dword [r13 + 0x5c], r15d
movzx eax, byte [r14 + 0x13d]
neg al
sbb ebx, ebx
and ebx, 0x400000
movzx eax, byte [r14 + 0xd0]
test al, al
je 0x14003e36e
cmp dword [r14 + 0x3bc], 0xa
jne 0x14003e36e
mov r9b, 1
mov r8d, 0xa
jmp 0x14003e37c
mov r8d, dword [r14 + 0x3bc]
xor r9b, r9b
test al, al
je 0x14003e3a0
movzx r12d, byte [r14 + 0x13e]
cmp byte [r14 + 0x13f], cl
je 0x14003e3a8
cmp byte [r14 + 0x13c], cl
jne 0x14003e3a8
test r12b, r12b
jne 0x14003e3a8
mov r11b, 1
jmp 0x14003e3ab
movzx r12d, byte [r14 + 0x13c]
xor r11b, r11b
test al, al
je 0x14003e3b5
cmp r8d, 8
jmp 0x14003e3b9
cmp r8d, 1
sete r14b
test r14b, r14b
je 0x14003e3dc
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x88]
test ecx, ecx
js 0x14003e3dc
call fcn.14000b110
test al, al
jne 0x14003e3f9
cmp r8d, 2
jne 0x14003e423
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x14003e423
call fcn.14000b110
test al, al
je 0x14003e423
mov edi, dword [rbp - 0x5c]
mov r10d, dword [rsp + 0x58]
cmp byte [rsp + 0x60], 0
jne 0x14003e42b
test dil, dil
jne 0x14003e42b
test r10b, r10b
je 0x14003e41c
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
je 0x14003e42b
mov byte [rsp + 0x53], 1
jmp 0x14003e430
mov r10d, dword [rsp + 0x58]
mov edi, dword [rbp - 0x5c]
mov byte [rsp + 0x53], 0
test r14b, r14b
je 0x14003e44f
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x80]
test ecx, ecx
js 0x14003e44f
call fcn.14000b110
test al, al
jne 0x14003e46c
cmp r8d, 1
jne 0x14003e485
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x14003e485
call fcn.14000b110
test al, al
je 0x14003e485
test dil, dil
jne 0x14003e485
test r10b, r10b
je 0x14003e480
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
je 0x14003e485
mov sil, 1
jmp 0x14003e488
xor sil, sil
test r14b, r14b
je 0x14003e4a7
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x84]
test ecx, ecx
js 0x14003e4a7
call fcn.14000b110
test al, al
jne 0x14003e4c4
cmp r8d, 2
jne 0x14003e4d3
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x60]
test ecx, ecx
js 0x14003e4d3
call fcn.14000b110
test al, al
je 0x14003e4d3
mov r8d, dword [rsp + 0x60]
test r8b, r8b
jne 0x14003e4d8
mov dil, 1
jmp 0x14003e4db
mov r8d, dword [rsp + 0x60]
xor dil, dil
test r14b, r14b
je 0x14003e50e
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x14003e50e
call fcn.14000b110
test al, al
je 0x14003e50e
test r8b, r8b
mov r8d, dword [rsp + 0x64]
jne 0x14003e513
test r8b, r8b
je 0x14003e513
mov r10b, 1
jmp 0x14003e51b
mov r8d, dword [rsp + 0x64]
xor r10b, r10b
test r14b, r14b
je 0x14003e535
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x8c]
test ecx, ecx
js 0x14003e535
call fcn.14000b110
test al, al
jne 0x14003e554
test r9b, r9b
je 0x14003e565
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x90]
test ecx, ecx
js 0x14003e565
call fcn.14000b110
test al, al
je 0x14003e565
cmp byte [rsp + 0x60], 0
jne 0x14003e565
test r8b, r8b
je 0x14003e565
mov r9b, 1
jmp 0x14003e568
xor r9b, r9b
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x40]
test ecx, ecx
js 0x14003e5b1
call fcn.14000b110
test al, al
je 0x14003e5b1
test r11b, r11b
je 0x14003e58b
mov ecx, 0x200004
jmp 0x14003e59b
mov ecx, 0x200000
mov eax, 0x20000c
test r12b, r12b
cmovne ecx, eax
or ecx, ebx
mov r8d, ecx
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bc20
jmp 0x14003ed92
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x44]
test ecx, ecx
js 0x14003e5de
call fcn.14000b110
test al, al
je 0x14003e5de
test r11b, r11b
je 0x14003e5d4
mov ecx, 0x200005
jmp 0x14003e59b
mov ecx, 0x200001
lea eax, [rcx + 0xc]
jmp 0x14003e595
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x14003e677
call fcn.14000b110
test al, al
je 0x14003e677
cmp byte [rsp + 0x58], 0
je 0x14003e677
mov r14, qword [rsp + 0x70]
cmp byte [r14 + 0x13c], 0
je 0x14003e644
mov rdx, qword [rbp - 0x50]
movss xmm0, dword [rdx + 0xa0]
subss xmm0, dword [r14 + 0x1a80]
maxss xmm0, xmm11
movss dword [rdx + 0xb0], xmm0
xor eax, eax
mov dword [rdx + 0xb8], eax
mov dword [rdx + 0xc0], eax
jmp 0x14003edaa
movzx eax, r11b
lea r8d, [rax*4 + 0x200002]
or r8d, ebx
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
jmp 0x14003edaa
mov r8, qword [0x1400d1fc0]
mov ecx, dword [r8 + 0x4c]
test ecx, ecx
js 0x14003e6f5
call fcn.14000b110
test al, al
je 0x14003e6f5
cmp byte [rsp + 0x58], 0
je 0x14003e6f5
mov r14, qword [rsp + 0x70]
cmp byte [r14 + 0x13c], 0
je 0x14003e6e4
mov rax, qword [r8 + 0x1d18]
mov rcx, qword [rbp - 0x50]
movss xmm0, dword [rcx + 0xa0]
addss xmm0, dword [r14 + 0x1a80]
minss xmm0, dword [rax + 0xa8]
movss dword [rcx + 0xb0], xmm0
xor eax, eax
mov dword [rcx + 0xb8], eax
mov dword [rcx + 0xc0], eax
jmp 0x14003edaa
movzx eax, r11b
lea r8d, [rax*4 + 0x200003]
jmp 0x14003e650
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x50]
test ecx, ecx
js 0x14003e75e
call fcn.14000b110
mov r8d, dword [rsp + 0x58]
test al, al
je 0x14003e763
test r8b, r8b
je 0x14003e763
or ebx, 0x20000e
lea rdx, [r13 + 0x4c]
mov r8d, ebx
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
mov r14, qword [rsp + 0x70]
mulss xmm0, dword [r14 + 0x1a80]
subss xmm10, xmm0
jmp 0x14003edaa
mov r8d, dword [rsp + 0x58]
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x54]
test ecx, ecx
js 0x14003e7c7
call fcn.14000b110
test al, al
je 0x14003e7c7
test r8b, r8b
je 0x14003e7c7
or ebx, 0x20000f
lea rdx, [r13 + 0x4c]
mov r8d, ebx
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
mov r14, qword [rsp + 0x70]
mulss xmm0, dword [r14 + 0x1a80]
addss xmm10, xmm0
jmp 0x14003edaa
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x58]
test ecx, ecx
js 0x14003e804
call fcn.14000b110
test al, al
je 0x14003e804
mov eax, ebx
or eax, 0x200006
mov r8d, 0x200004
or r8d, ebx
mov r14, qword [rsp + 0x70]
cmp byte [r14 + 0x13c], 0
cmovne r8d, eax
jmp 0x14003e653
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x5c]
test ecx, ecx
js 0x14003e82a
call fcn.14000b110
test al, al
je 0x14003e82a
mov eax, ebx
or eax, 0x200007
mov r8d, 0x200005
jmp 0x14003e7eb
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x64]
test ecx, ecx
js 0x14003e865
call fcn.14000b110
mov r11d, dword [rsp + 0x60]
test al, al
je 0x14003e86a
test r11b, r11b
jne 0x14003e86a
or ebx, 0x200008
mov r8d, ebx
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bc20
jmp 0x14003ed92
mov r11d, dword [rsp + 0x60]
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x68]
test ecx, ecx
js 0x14003e939
call fcn.14000b110
test al, al
je 0x14003e939
test r11b, r11b
jne 0x14003e939
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
jne 0x14003e8c6
test r12b, r12b
je 0x14003e8d9
lea rdx, [r13 + 0x4c]
mov r8d, 0x60000c
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
mov r14, qword [rsp + 0x70]
or ebx, 0x200009
mov r8d, ebx
jmp 0x14003e653
mov r14, qword [rsp + 0x70]
cmp byte [r14 + 0xd0], 0
je 0x14003e8cb
cmp byte [r14 + 0x13f], 0
je 0x14003e8cb
cmp byte [r14 + 0x13e], 0
jne 0x14003e8cb
cmp byte [r14 + 0x13c], 0
jne 0x14003e8cb
lea rdx, [r13 + 0x4c]
mov r8d, 0x600004
mov rcx, r13
call fcn.14003bc20
mov byte [r13 + 0xe7c], 1
mov dword [r13 + 0xe78], 0xbe99999a
or ebx, 0x200009
mov r8d, ebx
jmp 0x14003e653
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x70]
test ecx, ecx
js 0x14003e950
call fcn.14000b110
test al, al
jne 0x14003e967
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x78]
test ecx, ecx
js 0x14003e9d6
call fcn.14000b110
test al, al
je 0x14003e9d6
mov edx, dword [rbp + 0x1c8]
mov eax, edx
shr eax, 0xb
and al, 1
mov r14, qword [rsp + 0x70]
test r8b, r8b
je 0x14003e98e
movzx ecx, byte [r14 + 0x13c]
test al, al
je 0x14003e99d
test cl, cl
jne 0x14003e9a1
mov byte [rsp + 0x51], 1
mov byte [rsp + 0x52], 1
jmp 0x14003edaa
test cl, cl
jne 0x14003e98e
test r11b, r11b
jne 0x14003edaa
mov dword [rsp + 0x5c], 0xa
mov dword [rsp + 0x20], 2
lea rcx, [rsp + 0x5c]
call fcn.14003ce00
test al, al
je 0x14003edaa
mov r8d, dword [rsp + 0x5c]
jmp 0x14003e653
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x74]
test ecx, ecx
js 0x14003e9fd
call fcn.14000b110
test al, al
je 0x14003e9fd
mov cl, 1
mov byte [rsp + 0x51], cl
mov r14, qword [rsp + 0x70]
jmp 0x14003edac
test r10b, r10b
jne 0x14003ed6b
test r9b, r9b
jne 0x14003ed6b
test r14b, r14b
je 0x14003ea46
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x7c]
test ecx, ecx
js 0x14003ea46
call fcn.14000b110
test al, al
je 0x14003ea46
xor eax, eax
mov dword [r13 + 0x50], eax
mov eax, dword [r13 + 4]
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x4c], eax
mov byte [r13 + 0x62], r9b
jmp 0x14003ed9d
movzx r15d, byte [rsp + 0x53]
test r15b, r15b
jne 0x14003ec0d
test sil, sil
jne 0x14003ec0d
test dil, dil
je 0x14003eda5
mov rcx, qword [0x1400d1fc0]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x14003ea90
mov rcx, qword [rcx + 0x118]
call rax
mov rbx, rax
test rax, rax
jne 0x14003ea97
jmp 0x14003eda5
lea rbx, [0x1400badf6]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rbx + rax], 0
jne 0x14003eaa0
mov rcx, qword [0x1400d1fc0]
test rcx, rcx
je 0x14003eabb
inc dword [rcx + 0x3b0]
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
mov rdx, qword [0x1400d1fb0]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov r14, rax
xor r15d, r15d
mov esi, r15d
cmp byte [rbx], r15b
je 0x14003eb40
mov rdi, rax
mov r13d, dword [rbp + 0x1c8]
nop word [rax + rax]
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x64]
call fcn.140003ce0
movsxd rcx, eax
add rbx, rcx
cmp dword [rsp + 0x64], r15d
je 0x14003eb39
mov dword [rsp + 0x20], 5
mov edx, r13d
lea rcx, [rsp + 0x64]
call fcn.14003ce00
test al, al
je 0x14003eb34
movzx eax, word [rsp + 0x64]
mov word [rdi], ax
inc esi
add rdi, 2
cmp byte [rbx], r15b
jne 0x14003eaf0
mov r13, qword [rbp + 0x80]
movsxd rax, esi
mov word [r14 + rax*2], r15w
test esi, esi
jle 0x14003ebe2
mov eax, dword [r13 + 4]
mov edx, dword [r13 + 0x54]
mov ecx, dword [r13 + 0x50]
cmp ecx, edx
je 0x14003eb7c
cmp ecx, eax
jle 0x14003eb6a
mov dword [r13 + 0x50], eax
mov ecx, eax
cmp edx, eax
jle 0x14003eb74
mov dword [r13 + 0x54], eax
mov edx, eax
cmp ecx, edx
jne 0x14003eb7c
mov dword [r13 + 0x4c], ecx
cmp dword [r13 + 0x4c], eax
jle 0x14003eb86
mov dword [r13 + 0x4c], eax
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bb80
mov r9d, esi
mov r8, r14
mov edx, dword [r13 + 0x4c]
mov rcx, r13
call fcn.14003b5f0
test al, al
je 0x14003ebc2
mov r8d, esi
mov edx, dword [r13 + 0x4c]
lea rcx, [r13 + 0x4c]
call fcn.14003cd50
add dword [r13 + 0x4c], esi
mov byte [r13 + 0x62], r15b
jmp 0x14003ebda
movzx eax, word [r13 + 0xe6a]
test ax, ax
je 0x14003ebda
dec ax
mov word [r13 + 0xe6a], ax
mov byte [r13 + 0xe7c], 1
test r14, r14
je 0x14003ebf9
mov rax, qword [0x1400d1fc0]
test rax, rax
je 0x14003ebf9
dec dword [rax + 0x3b0]
mov rdx, qword [0x1400d1fb0]
mov rcx, r14
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x14003eda5
mov r14, qword [rsp + 0x70]
cmp qword [r14 + 0x110], 0
je 0x14003ed1b
mov ecx, dword [r13 + 0x54]
mov eax, dword [r13 + 0x50]
cmp eax, ecx
je 0x14003ec39
mov edx, ecx
cmovge edx, eax
cmovl ecx, eax
xor r12d, r12d
jmp 0x14003ec43
mov edx, dword [r13 + 4]
xor r12d, r12d
mov ecx, r12d
movsxd rsi, edx
mov rax, qword [r13 + 0x18]
lea r8, [rax + rsi*2]
movsxd r14, ecx
lea rdx, [rax + r14*2]
mov ecx, r12d
mov r9d, 0x80
mov r10d, 0x800
test r8, r8
je 0x14003ec6e
cmp rdx, r8
jae 0x14003ec91
movzx eax, word [rdx]
test ax, ax
je 0x14003ec91
add rdx, 2
cmp ax, r9w
jae 0x14003ec84
inc ecx
jmp 0x14003ec64
cmp ax, r10w
sbb eax, eax
add eax, 3
add ecx, eax
jmp 0x14003ec64
lea edi, [rcx + 1]
mov rax, qword [0x1400d1fc0]
test rax, rax
je 0x14003eca6
inc dword [rax + 0x3b0]
movsxd rcx, edi
mov rdx, qword [0x1400d1fb0]
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbx, rax
mov rcx, qword [r13 + 0x18]
lea r9, [rcx + rsi*2]
lea r8, [rcx + r14*2]
mov edx, edi
mov rcx, rax
call fcn.140003e90
mov r9, qword [0x1400d1fc0]
mov rax, qword [r9 + 0x110]
test rax, rax
je 0x14003ecf4
mov rdx, rbx
mov rcx, qword [r9 + 0x118]
call rax
mov r9, qword [0x1400d1fc0]
test rbx, rbx
je 0x14003ed05
test r9, r9
je 0x14003ed05
dec dword [r9 + 0x3b0]
mov rdx, qword [0x1400d1fb0]
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov r14, qword [rsp + 0x70]
jmp 0x14003ed1e
xor r12d, r12d
test r15b, r15b
je 0x14003edaa
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
jne 0x14003ed46
mov dword [r13 + 0x50], r12d
mov eax, dword [r13 + 4]
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x4c], eax
mov byte [r13 + 0x62], 0
mov byte [r13 + 0xe7c], 1
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
je 0x14003edaa
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bb80
mov byte [r13 + 0x62], 0
jmp 0x14003edaa
movzx r8d, r10b
xor r8d, 1
add r8d, 0x20000a
lea rdx, [r13 + 0x4c]
mov rcx, r13
call fcn.14003bc20
mov eax, dword [r13 + 0x4c]
mov dword [r13 + 0x54], eax
mov dword [r13 + 0x50], eax
mov dword [r13 + 0xe78], 0xbe99999a
mov byte [r13 + 0xe7c], 1
mov r14, qword [rsp + 0x70]
xor cl, cl
mov eax, dword [r13 + 0x54]
cmp dword [r13 + 0x50], eax
je 0x14003edc1
cmp byte [rsp + 0x54], 0
je 0x14003edc1
mov al, 1
jmp 0x14003edc3
xor al, al
movzx r12d, byte [rsp + 0x50]
or r12b, al
mov byte [rsp + 0x50], r12b
mov eax, dword [r14 + 0x1d6c]
mov edi, dword [rsp + 0x7c]
cmp eax, edi
jne 0x14003f768
movzx r10d, byte [rsp + 0x51]
xor esi, esi
mov qword [rbp - 0x78], rsi
mov dword [rsp + 0x68], esi
test cl, cl
je 0x14003f08d
cmp byte [rsp + 0x60], sil
jne 0x14003f06c
mov r9, qword [r13 + 0x38]
mov rax, qword [rbp - 0x68]
mov r8, r9
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003ee33
inc rax
test ecx, ecx
jne 0x14003ee20
test edx, edx
je 0x14003f06c
mov qword [rbp - 0x78], r9
mov r12d, dword [r13 + 0x30]
dec r12d
mov dword [rsp + 0x68], r12d
mov qword [rbp + 0x60], rsi
mov r14d, esi
mov qword [rbp + 0x68], rsi
test r12d, r12d
jle 0x14003efc7
movsxd rbx, r12d
add rbx, r9
mov rdi, r9
xor eax, eax
mov r13d, eax
movzx eax, byte [rsp + 0x50]
movzx ecx, byte [rsp + 0x52]
test rbx, rbx
je 0x14003ee81
cmp rdi, rbx
jae 0x14003eed9
movzx esi, cl
movzx r14d, al
movzx r15d, r10b
mov byte [rsp + 0x50], al
mov byte [rsp + 0x52], cl
cmp byte [rdi], 0
je 0x14003eed9
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x5c]
call fcn.140003ce0
movsxd rcx, eax
add rdi, rcx
movzx r10d, r15b
mov byte [rsp + 0x50], r14b
mov byte [rsp + 0x52], sil
cmp dword [rsp + 0x5c], 0
je 0x14003eed9
inc r13d
movzx eax, r14b
mov byte [rsp + 0x50], al
movzx ecx, sil
mov byte [rsp + 0x52], cl
jmp 0x14003ee77
mov byte [rsp + 0x51], r10b
lea r14d, [r13 + 1]
mov dword [rsp + 0x64], r14d
test r14d, r14d
jle 0x14003ef0a
mov edx, r14d
cmp r14d, 8
mov eax, 8
cmovl edx, eax
lea rcx, [rbp + 0x60]
call fcn.140023180
movzx r10d, byte [rsp + 0x51]
mov dword [rbp + 0x60], r14d
mov rdi, qword [rbp - 0x78]
mov rsi, qword [rbp + 0x68]
movsxd r13, r14d
dec r13
lea r13, [rsi + r13*2]
cmp rsi, r13
jae 0x14003efb7
movzx ecx, byte [rsp + 0x50]
movzx edx, byte [rsp + 0x52]
test rbx, rbx
je 0x14003ef3d
cmp rdi, rbx
jae 0x14003efad
movzx r14d, dl
movzx r15d, cl
movzx r12d, r10b
mov byte [rsp + 0x51], r10b
mov byte [rsp + 0x50], cl
mov byte [rsp + 0x52], dl
cmp byte [rdi], 0
je 0x14003efad
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x5c]
call fcn.140003ce0
movsxd rcx, eax
add rdi, rcx
mov byte [rsp + 0x51], r12b
mov byte [rsp + 0x50], r15b
mov byte [rsp + 0x52], r14b
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x14003efad
mov word [rsi], ax
add rsi, 2
movzx r10d, r12b
mov byte [rsp + 0x51], r12b
movzx ecx, r15b
mov byte [rsp + 0x50], cl
movzx edx, r14b
mov byte [rsp + 0x52], dl
cmp rsi, r13
jb 0x14003ef33
mov r14d, dword [rsp + 0x64]
mov r12d, dword [rsp + 0x68]
xor eax, eax
mov word [rsi], ax
mov r13, qword [rbp + 0x80]
mov rsi, qword [rbp + 0x68]
lea ebx, [r14 - 1]
test r12d, r12d
mov r14d, 0
cmovle ebx, r14d
movsxd rdi, dword [r13 + 4]
lea rcx, [r13 + 0x6c]
mov r9d, ebx
mov r8d, edi
xor edx, edx
call fcn.14003c9f0
mov r9, rax
test rax, rax
je 0x14003f015
test edi, edi
jle 0x14003f015
mov edx, r14d
nop dword [rax]
mov rcx, qword [r13 + 0x18]
movzx eax, word [rcx + rdx*2]
mov word [r9 + rdx*2], ax
inc rdx
cmp rdx, rdi
jl 0x14003f000
mov r8d, dword [r13 + 4]
xor edx, edx
mov rcx, r13
call fcn.14003b520
test ebx, ebx
jle 0x14003f043
mov r9d, ebx
mov r8, rsi
xor edx, edx
mov rcx, r13
call fcn.14003b5f0
test al, al
je 0x14003f043
mov dword [r13 + 0x4c], ebx
mov byte [r13 + 0x62], r14b
test rsi, rsi
je 0x14003f06a
mov rax, qword [0x1400d1fc0]
test rax, rax
je 0x14003f05a
dec dword [rax + 0x3b0]
mov rdx, qword [0x1400d1fb0]
mov rcx, rsi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
nop
xor esi, esi
mov r9d, dword [rbp + 0x1c8]
cmp byte [rsp + 0x52], 0
je 0x14003f080
test r9b, 0x20
jne 0x14003f094
mov r15d, dword [rbp - 0x7c]
mov rdi, qword [rbp - 0x68]
jmp 0x14003f6af
mov r9d, dword [rbp + 0x1c8]
cmp byte [rsp + 0x60], 0
jne 0x14003f197
mov byte [r13 + 0x40], 1
mov eax, dword [r13 + 0x10]
lea ebx, [rax*4 + 1]
mov ecx, dword [r13 + 0x24]
cmp ebx, ecx
jle 0x14003f0db
test ecx, ecx
je 0x14003f0c6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003f0cb
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r13 + 0x20]
call fcn.1400230f0
mov dword [r13 + 0x20], ebx
mov r8, qword [r13 + 0x18]
mov rdx, qword [r13 + 0x28]
movsxd r9, ebx
add r9, rdx
lea r10, [r9 - 1]
cmp rdx, r10
jae 0x14003f18d
mov r13d, 0x80
movzx eax, word [r8]
test ax, ax
je 0x14003f186
mov ecx, eax
add r8, 2
cmp eax, r13d
jae 0x14003f11b
mov byte [rdx], cl
inc rdx
jmp 0x14003f17d
mov eax, r9d
sub eax, edx
dec eax
cmp ecx, 0x800
jae 0x14003f14d
cmp eax, 2
jge 0x14003f134
mov rax, rsi
jmp 0x14003f17a
mov eax, ecx
shr eax, 6
sub al, 0x40
mov byte [rdx], al
and cl, 0x3f
add cl, 0x80
mov byte [rdx + 1], cl
mov eax, 2
jmp 0x14003f17a
cmp eax, 3
jge 0x14003f157
mov rax, rsi
jmp 0x14003f17a
mov eax, ecx
shr eax, 0xc
sub al, 0x20
mov byte [rdx], al
mov eax, ecx
shr eax, 6
and al, 0x3f
add al, 0x80
mov byte [rdx + 1], al
and cl, 0x3f
add cl, 0x80
mov byte [rdx + 2], cl
mov eax, 3
add rdx, rax
cmp rdx, r10
jb 0x14003f100
mov r13, qword [rbp + 0x80]
mov byte [rdx], 0
mov r9d, dword [rbp + 0x1c8]
test r9d, 0x801c0
je 0x14003f656
mov r8d, reloc.WLDAP32.dll_Ordinal_22
test r9b, 0x40
je 0x14003f1d0
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x3c]
test ecx, ecx
js 0x14003f1d0
call fcn.14000b110
test al, al
je 0x14003f1d0
lea eax, [r8 + 0x2a]
mov r8d, esi
jmp 0x14003f243
test r9b, r9b
jns 0x14003f221
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x48]
test ecx, ecx
js 0x14003f1fb
call fcn.14000b110
test al, al
je 0x14003f1fb
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7d]
jmp 0x14003f249
mov rax, qword [0x1400d1fc0]
mov ecx, dword [rax + 0x4c]
test ecx, ecx
js 0x14003f221
call fcn.14000b110
test al, al
je 0x14003f221
mov r10d, 0x80
mov eax, r10d
lea r8d, [r10 - 0x7c]
jmp 0x14003f249
mov eax, 0x80000
test eax, r9d
je 0x14003f235
cmp byte [r13 + 0xe7e], 0
jne 0x14003f243
mov eax, 0x100
test eax, r9d
je 0x14003f656
mov r10d, 0x80
mov dword [rbp], esi
mov qword [rbp + 0x19], rsi
mov dword [rbp + 0x21], esi
mov word [rbp + 0x25], si
mov byte [rbp + 0x27], 0
mov dword [rbp - 0x10], eax
mov dword [rbp - 0xc], r9d
mov qword [rbp - 8], rsi
mov dword [rbp + 4], r8d
mov rax, qword [r13 + 0x28]
mov qword [rbp + 8], rax
mov eax, dword [r13 + 8]
mov dword [rbp + 0x10], eax
mov eax, dword [r13 + 0x44]
mov dword [rbp + 0x14], eax
mov byte [rbp + 0x18], 0
mov r8, qword [r13 + 0x18]
movsxd rax, dword [r13 + 0x4c]
lea rdx, [r8 + rax*2]
mov rcx, r8
mov ebx, esi
mov r9d, 0x800
nop dword [rax + rax]
test rdx, rdx
je 0x14003f2aa
cmp rcx, rdx
jae 0x14003f2cd
movzx eax, word [rcx]
test ax, ax
je 0x14003f2cd
add rcx, 2
cmp ax, r10w
jae 0x14003f2c0
inc ebx
jmp 0x14003f2a0
cmp ax, r9w
sbb eax, eax
add eax, 3
add ebx, eax
jmp 0x14003f2a0
mov dword [rbp + 0x1c], ebx
movsxd rax, dword [r13 + 0x50]
lea rdx, [r8 + rax*2]
mov rcx, r8
mov edi, esi
nop dword [rax]
test rdx, rdx
je 0x14003f2ea
cmp rcx, rdx
jae 0x14003f30d
movzx eax, word [rcx]
test ax, ax
je 0x14003f30d
add rcx, 2
cmp ax, r10w
jae 0x14003f300
inc edi
jmp 0x14003f2e0
cmp ax, r9w
sbb eax, eax
add eax, 3
add edi, eax
jmp 0x14003f2e0
mov dword [rsp + 0x64], edi
mov dword [rbp + 0x20], edi
movsxd rax, dword [r13 + 0x54]
lea rcx, [r8 + rax*2]
mov edx, esi
nop
test rcx, rcx
je 0x14003f32a
cmp r8, rcx
jae 0x14003f34e
movzx eax, word [r8]
test ax, ax
je 0x14003f34e
add r8, 2
cmp ax, r10w
jae 0x14003f341
inc edx
jmp 0x14003f320
cmp ax, r9w
sbb eax, eax
add eax, 3
add edx, eax
jmp 0x14003f320
mov dword [rsp + 0x5c], edx
mov dword [rbp + 0x24], edx
lea rcx, [rbp - 0x10]
call rsi
movzx edx, byte [rbp + 0x18]
mov byte [rsp + 0x53], dl
movsxd rcx, dword [rbp + 0x1c]
cmp ecx, ebx
jne 0x14003f373
test dl, dl
je 0x14003f41f
mov rbx, qword [rbp + 8]
lea r15, [rbx + rcx]
mov r12d, esi
movzx eax, byte [rsp + 0x51]
movzx edx, byte [rsp + 0x50]
movzx r8d, byte [rsp + 0x52]
nop
test r15, r15
je 0x14003f39a
cmp rbx, r15
jae 0x14003f405
movzx edi, r8b
movzx esi, dl
movzx r14d, al
mov byte [rsp + 0x51], al
mov byte [rsp + 0x50], dl
mov byte [rsp + 0x52], r8b
cmp byte [rbx], 0
je 0x14003f405
mov r8, r15
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140003ce0
movsxd rcx, eax
add rbx, rcx
mov byte [rsp + 0x51], r14b
mov byte [rsp + 0x50], sil
mov byte [rsp + 0x52], dil
cmp dword [rbp + 0x80], 0
je 0x14003f405
inc r12d
movzx eax, r14b
mov byte [rsp + 0x51], al
movzx edx, sil
mov byte [rsp + 0x50], dl
movzx r8d, dil
mov byte [rsp + 0x52], dil
jmp 0x14003f390
mov dword [r13 + 0x4c], r12d
mov byte [r13 + 0xe7c], 1
mov ecx, dword [rbp + 0x1c]
mov edi, dword [rsp + 0x64]
movzx edx, byte [rsp + 0x53]
xor esi, esi
movsxd rax, dword [rbp + 0x20]
cmp eax, edi
jne 0x14003f42f
test dl, dl
je 0x14003f4da
cmp eax, ecx
jne 0x14003f43c
mov r12d, dword [r13 + 0x4c]
jmp 0x14003f4d1
mov rbx, qword [rbp + 8]
lea r15, [rbx + rax]
mov r12d, esi
movzx ecx, byte [rsp + 0x51]
movzx edx, byte [rsp + 0x50]
movzx r8d, byte [rsp + 0x52]
test r15, r15
je 0x14003f461
cmp rbx, r15
jae 0x14003f4cc
movzx edi, r8b
movzx esi, dl
movzx r14d, cl
mov byte [rsp + 0x51], cl
mov byte [rsp + 0x50], dl
mov byte [rsp + 0x52], r8b
cmp byte [rbx], 0
je 0x14003f4cc
mov r8, r15
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140003ce0
movsxd rcx, eax
add rbx, rcx
mov byte [rsp + 0x51], r14b
mov byte [rsp + 0x50], sil
mov byte [rsp + 0x52], dil
cmp dword [rbp + 0x80], 0
je 0x14003f4cc
inc r12d
movzx ecx, r14b
mov byte [rsp + 0x51], cl
movzx edx, sil
mov byte [rsp + 0x50], dl
movzx r8d, dil
mov byte [rsp + 0x52], dil
jmp 0x14003f457
mov eax, dword [rbp + 0x20]
xor esi, esi
mov dword [r13 + 0x50], r12d
movzx edx, byte [rsp + 0x53]
movsxd rcx, dword [rbp + 0x24]
cmp ecx, dword [rsp + 0x5c]
jne 0x14003f4ec
test dl, dl
je 0x14003f65c
cmp ecx, eax
jne 0x14003f4f9
mov r12d, dword [r13 + 0x50]
jmp 0x14003f587
mov rbx, qword [rbp + 8]
lea r15, [rbx + rcx]
mov r12d, esi
movzx eax, byte [rsp + 0x51]
movzx ecx, byte [rsp + 0x50]
movzx edx, byte [rsp + 0x52]
test r15, r15
je 0x14003f51d
cmp rbx, r15
jae 0x14003f585
movzx edi, dl
movzx esi, cl
movzx r14d, al
mov byte [rsp + 0x51], al
mov byte [rsp + 0x50], cl
mov byte [rsp + 0x52], dl
cmp byte [rbx], 0
je 0x14003f585
mov r8, r15
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140003ce0
movsxd rcx, eax
add rbx, rcx
mov byte [rsp + 0x51], r14b
mov byte [rsp + 0x50], sil
mov byte [rsp + 0x52], dil
cmp dword [rbp + 0x80], 0
je 0x14003f585
inc r12d
movzx eax, r14b
mov byte [rsp + 0x51], al
movzx ecx, sil
mov byte [rsp + 0x50], cl
movzx edx, dil
mov byte [rsp + 0x52], dl
jmp 0x14003f513
xor esi, esi
mov dword [r13 + 0x54], r12d
mov r15d, dword [rbp - 0x7c]
cmp byte [rsp + 0x53], 0
je 0x14003f660
mov ebx, dword [rbp + 0x10]
mov eax, dword [rbp - 0x58]
cmp ebx, eax
jle 0x14003f5df
test r15b, r15b
je 0x14003f5df
sub ebx, eax
add ebx, dword [r13 + 0x10]
mov ecx, dword [r13 + 0x14]
cmp ebx, ecx
jle 0x14003f5db
test ecx, ecx
je 0x14003f5c6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003f5cb
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r13 + 0x10]
call fcn.140023180
mov dword [r13 + 0x10], ebx
mov rdi, qword [rbp + 8]
mov r14, qword [r13 + 0x18]
mov rbx, r14
movsxd rsi, dword [r13 + 0x10]
dec rsi
lea rsi, [r14 + rsi*2]
cmp r14, rsi
jae 0x14003f633
nop word [rax + rax]
cmp byte [rdi], 0
je 0x14003f633
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x80]
call fcn.140003ce0
movsxd rcx, eax
add rdi, rcx
mov eax, dword [rbp + 0x80]
test eax, eax
je 0x14003f633
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x14003f600
xor esi, esi
mov word [rbx], si
sub rbx, r14
sar rbx, 1
mov dword [r13 + 4], ebx
mov eax, dword [rbp + 0x10]
mov dword [r13 + 8], eax
mov dword [r13 + 0xe78], 0xbe99999a
jmp 0x14003f660
mov r15d, dword [rbp - 0x7c]
jmp 0x14003f667
mov r15d, dword [rbp - 0x7c]
mov r9d, dword [rbp + 0x1c8]
mov rdi, qword [rbp - 0x68]
cmp byte [rsp + 0x60], 0
jne 0x14003f6af
mov r9, qword [r13 + 0x28]
mov rax, r9
mov r8, rdi
sub r8, r9
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003f693
inc rax
test ecx, ecx
jne 0x14003f680
test edx, edx
je 0x14003f6a8
mov qword [rbp - 0x78], r9
mov ecx, dword [r13 + 8]
mov r9d, dword [rbp + 0x1c8]
jmp 0x14003f6b3
mov r9d, dword [rbp + 0x1c8]
mov ecx, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x14003f747
test r15b, r15b
je 0x14003f717
mov qword [rbp + 0x38], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov dword [rbp + 0x28], 0x40000
mov dword [rbp + 0x2c], r9d
mov qword [rbp + 0x40], rdi
mov dword [rbp + 0x48], ecx
lea eax, [rcx + 1]
cmp dword [rbp - 0x80], eax
cmovge eax, dword [rbp - 0x80]
mov dword [rbp + 0x4c], eax
mov qword [rbp + 0x30], rsi
lea rcx, [rbp + 0x28]
call rsi
mov rdi, qword [rbp + 0x40]
mov qword [rbp - 0x68], rdi
mov r8d, dword [rbp + 0x4c]
lea ecx, [r8 - 1]
cmp dword [rbp + 0x48], ecx
cmovl ecx, dword [rbp + 0x48]
mov rdx, qword [rbp - 0x78]
jmp 0x14003f71b
mov r8d, dword [rbp - 0x80]
lea eax, [rcx + 1]
cmp eax, r8d
cmovl r8d, eax
movsxd rbx, r8d
cmp rbx, 1
jb 0x14003f742
jbe 0x14003f73d
lea r8, [rbx - 1]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + rdi - 1], 0
mov byte [rsp + 0x79], 1
mov dword [r13 + 0xe80], esi
mov qword [r13 + 0xe88], rsi
mov qword [r13 + 0xe90], rsi
movzx r12d, byte [rsp + 0x50]
mov edi, dword [rsp + 0x7c]
jmp 0x14003f76a
xor esi, esi
mov r15, qword [rsp + 0x70]
cmp byte [rsp + 0x51], 0
je 0x14003f7e5
cmp dword [r15 + 0x1d6c], edi
jne 0x14003f7e5
mov rdx, qword [0x1400d1fc0]
mov ecx, dword [rdx + 0x1d6c]
test ecx, ecx
setne al
mov byte [rdx + 0x1d78], al
test ecx, ecx
je 0x14003f7b4
mov dword [rdx + 0x1d74], esi
mov word [rdx + 0x1d7b], 0
mov dword [rdx + 0x1da4], 0xffffffff
mov dword [rdx + 0x1d6c], esi
mov word [rdx + 0x1d79], 0
mov qword [rdx + 0x1d98], rsi
mov word [rdx + 0x1d7d], 0
mov qword [rdx + 0x1d80], 0
mov qword [rdx + 0x1d88], rsi
mov r11d, dword [rsp + 0x58]
test r11b, r11b
jne 0x14003f8ba
mov r8d, 1
mov edx, edi
lea rcx, [rbp - 0x20]
call fcn.140005280
mov rax, qword [0x1400d1fc0]
movups xmm0, xmmword [rax + 0x176c]
movups xmmword [rbp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1638]
movss dword [rbp + 0x6c], xmm0
lea rcx, [rbp + 0x60]
call fcn.140003f60
mov r8d, eax
movss xmm0, dword [r15 + 0x1678]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov rdx, qword [rbp - 0x18]
movaps xmm0, xmm7
unpcklps xmm0, xmm12
movq rcx, xmm0
call fcn.140004f70
movss dword [rbp + 0x90], xmm7
movss dword [rbp + 0x94], xmm12
movaps xmm14, xmm7
addss xmm14, xmm9
movss dword [rbp + 0x98], xmm14
movaps xmm13, xmm12
addss xmm13, xmm8
movss dword [rbp + 0x9c], xmm13
addss xmm7, dword [r15 + 0x1670]
movss dword [rbp - 0x78], xmm7
movaps xmm0, xmm12
addss xmm0, dword [r15 + 0x1674]
movss dword [rbp - 0x74], xmm0
mov r10, qword [rbp - 0x50]
mov r11d, dword [rsp + 0x58]
jmp 0x14003f901
movss dword [rbp + 0x90], xmm7
movss dword [rbp + 0x94], xmm12
movaps xmm14, xmm7
addss xmm14, xmm9
movss dword [rbp + 0x98], xmm14
movaps xmm13, xmm12
addss xmm13, xmm8
movss dword [rbp + 0x9c], xmm13
mov r10, qword [rbp - 0x50]
movsd xmm0, qword [r10 + 0x118]
movsd qword [rbp - 0x78], xmm0
lea rax, [rbp - 0x78]
movsd xmm0, qword [rax]
movsd qword [rbp + 0x78], xmm0
movss dword [rsp + 0x5c], xmm11
movaps xmm8, xmm11
movss dword [rbp - 0x80], xmm11
cmp byte [rsp + 0x78], 0
je 0x14003f930
mov r14, qword [r13 + 0x28]
mov qword [rbp - 0x68], r14
jmp 0x14003f934
mov r14, qword [rbp - 0x68]
movzx ebx, byte [rsp + 0x55]
test bl, bl
je 0x14003f95c
mov rax, qword [rbp - 0x40]
mov r14, rax
mov qword [rbp - 0x68], rax
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp byte [rax + rsi], 0
jne 0x14003f950
add rsi, rax
movzx eax, byte [rsp + 0x54]
test al, al
jne 0x14003fa94
test r12b, r12b
jne 0x14003fa94
test r11b, r11b
je 0x14003f9d6
xor eax, eax
mov ecx, eax
movzx edx, byte [r14]
lea rsi, [r14 + 1]
test dl, dl
je 0x14003f9a5
nop word [rax + rax]
lea eax, [rcx + 1]
cmp dl, 0xa
cmovne eax, ecx
mov ecx, eax
movzx edx, byte [rsi]
inc rsi
test dl, dl
jne 0x14003f990
dec rsi
movzx eax, byte [rsi]
cmp al, 0xa
je 0x14003f9b5
cmp al, 0xd
je 0x14003f9b5
inc ecx
movss dword [rsp + 0x5c], xmm9
movd xmm8, ecx
cvtdq2ps xmm8, xmm8
mulss xmm8, dword [r15 + 0x1a80]
movss dword [rbp - 0x80], xmm8
jmp 0x14003fa0f
test bl, bl
jne 0x14003f9fd
cmp dword [r15 + 0x1d6c], edi
jne 0x14003f9e9
movsxd rsi, dword [r13 + 8]
jmp 0x14003f9fa
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [r14 + rsi], 0
jne 0x14003f9f0
add rsi, r14
mov rax, rsi
sub rax, r14
cmp rax, 0x200000
jge 0x1400402f0
mov rcx, qword [0x1400d1fc0]
mov rax, rbx
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x16fc]
movups xmmword [rbp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x1638]
movss dword [rbp + 0x6c], xmm0
lea r8, [rbp + 0x90]
test r11b, r11b
mov eax, 0
cmovne r8, rax
lea rcx, [rbp + 0x60]
call fcn.140003f60
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm11
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x78]
movss xmm2, dword [r15 + 0x1a80]
mov rdx, qword [r15 + 0x1a78]
mov rcx, qword [r10 + 0x2f8]
call fcn.14002df90
jmp 0x1400402f0
test bl, bl
jne 0x14003fa9f
movsxd rsi, dword [r13 + 8]
add rsi, r14
mov r14, qword [r13 + 0x18]
movaps xmm7, xmm11
movaps xmm6, xmm11
xor r9d, r9d
mov r10d, r9d
mov edi, r9d
mov r8d, 0xfffffc18
mov ebx, r8d
mov edx, r9d
test al, al
je 0x14003fad4
movsxd rax, dword [r13 + 0x4c]
lea r10, [r14 + rax*2]
lea edx, [r9 + 1]
lea r8d, [r9 - 1]
test r12b, r12b
je 0x14003faf4
mov ecx, dword [r13 + 0x54]
cmp dword [r13 + 0x50], ecx
cmovl ecx, dword [r13 + 0x50]
movsxd rax, ecx
lea rdi, [r14 + rax*2]
mov ebx, 0xffffffff
inc edx
movzx eax, r11b
add edx, eax
mov rax, r14
movzx ecx, word [r14]
test cx, cx
je 0x14003fb42
cmp cx, 0xa
jne 0x14003fb36
inc r9d
cmp r8d, 0xffffffff
jne 0x14003fb23
cmp rax, r10
jb 0x14003fb23
mov r8d, r9d
dec edx
test edx, edx
jle 0x14003fb42
cmp ebx, 0xffffffff
jne 0x14003fb36
cmp rax, rdi
jb 0x14003fb36
mov ebx, r9d
dec edx
test edx, edx
jle 0x14003fb42
add rax, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14003fb06
inc r9d
mov r11d, r9d
cmp r8d, 0xffffffff
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r9d
mov rdx, r10
cmp r10, r14
jbe 0x14003fb72
nop
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x14003fb72
mov rdx, rax
cmp rax, r14
ja 0x14003fb60
mov rax, qword [0x1400d1fc0]
mov r8, qword [rax + 0x1a78]
movss xmm2, dword [rax + 0x1a80]
divss xmm2, dword [r8 + 0x14]
movaps xmm1, xmm11
movaps xmm12, xmm11
cmp rdx, r10
jae 0x14003fbe0
nop dword [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x14003fbb7
maxss xmm1, xmm12
movaps xmm12, xmm11
jmp 0x14003fbdb
cmp ecx, 0xd
je 0x14003fbdb
cmp ecx, dword [r8]
jge 0x14003fbcc
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x14003fbd2
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm12, xmm0
cmp rdx, r10
jb 0x14003fba0
maxss xmm12, xmm1
movss xmm3, dword [r15 + 0x1a80]
movd xmm15, r11d
cvtdq2ps xmm15, xmm15
mulss xmm15, xmm3
test ebx, ebx
js 0x14003fc7d
mov rdx, rdi
cmp rdi, r14
jbe 0x14003fc22
nop dword [rax + rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x14003fc22
mov rdx, rax
cmp rax, r14
ja 0x14003fc10
movaps xmm1, xmm11
movaps xmm6, xmm11
cmp rdx, rdi
jae 0x14003fc6e
nop
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x14003fc46
maxss xmm1, xmm6
movaps xmm6, xmm11
jmp 0x14003fc69
cmp ecx, 0xd
je 0x14003fc69
cmp ecx, dword [r8]
jge 0x14003fc5b
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x14003fc61
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm2
addss xmm6, xmm0
cmp rdx, rdi
jb 0x14003fc30
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm3
maxss xmm6, xmm1
mov r11d, dword [rsp + 0x58]
test r11b, r11b
je 0x14003fca2
movss dword [rsp + 0x5c], xmm9
movd xmm8, r9d
cvtdq2ps xmm8, xmm8
mulss xmm8, xmm3
movss dword [rbp - 0x80], xmm8
movzx r8d, byte [rsp + 0x54]
test r8b, r8b
je 0x14003fdde
cmp byte [r13 + 0xe7c], 0
je 0x14003fdde
test dword [rbp + 0x1c8], 0x1000
jne 0x14003fd1f
movaps xmm0, xmm9
mulss xmm0, dword [0x1400c0fa4]
subss xmm9, dword [r15 + 0x1670]
movss xmm2, dword [r13 + 0x48]
movaps xmm1, xmm12
comiss xmm2, xmm12
jbe 0x14003fcfe
subss xmm1, xmm0
movaps xmm0, xmm11
maxss xmm0, xmm1
jmp 0x14003fd0c
subss xmm1, xmm9
comiss xmm1, xmm2
jb 0x14003fd25
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r13 + 0x48], xmm0
jmp 0x14003fd25
xor eax, eax
mov dword [r13 + 0x48], eax
test r11b, r11b
je 0x14003fdc4
movaps xmm0, xmm15
subss xmm0, dword [r15 + 0x1a80]
movss xmm1, dword [rbp - 0x48]
comiss xmm10, xmm0
jbe 0x14003fd51
movaps xmm10, xmm11
maxss xmm10, xmm0
jmp 0x14003fd72
movaps xmm0, xmm15
subss xmm0, xmm1
comiss xmm0, xmm10
jb 0x14003fd72
movss xmm10, dword [r15 + 0x1674]
addss xmm10, xmm10
addss xmm10, xmm0
movss xmm2, dword [r15 + 0x1674]
comiss xmm11, xmm10
jbe 0x14003fd87
movaps xmm2, xmm11
jmp 0x14003fd9e
addss xmm2, xmm2
addss xmm2, xmm8
subss xmm2, xmm1
maxss xmm2, xmm11
minss xmm2, xmm10
mov rax, qword [rbp - 0x50]
movss xmm0, dword [rax + 0xa0]
subss xmm0, xmm2
movss xmm1, dword [rbp + 0x7c]
addss xmm1, xmm0
movss dword [rbp + 0x7c], xmm1
movss dword [rax + 0xa0], xmm2
mov byte [r13 + 0xe7c], 0
movss xmm13, dword [rbp + 0x9c]
movss xmm14, dword [rbp + 0x98]
movss xmm9, dword [r13 + 0x48]
test r12b, r12b
je 0x14004013c
mov edx, dword [r13 + 0x54]
mov ecx, dword [r13 + 0x50]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
lea rbx, [r14 + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea rdi, [r14 + rax*2]
test r8b, r8b
je 0x14003fe1b
movss xmm1, dword [0x1400c0ffc]
jmp 0x14003fe23
movss xmm1, dword [0x1400c0fc0]
mov rax, qword [0x1400d1fc0]
movups xmm0, xmmword [rax + 0x1a0c]
movups xmmword [rbp + 0x60], xmm0
mulss xmm1, dword [rax + 0x1638]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp + 0x6c], xmm0
lea rcx, [rbp + 0x60]
call fcn.140003f60
mov r14d, eax
test r11b, r11b
je 0x14003fe61
movaps xmm10, xmm11
jmp 0x14003fe73
movss xmm10, dword [0x1400c10b8]
movss xmm11, dword [0x1400c101c]
movss xmm8, dword [rbp + 0x78]
movaps xmm3, xmm8
addss xmm3, xmm6
subss xmm3, xmm9
movss xmm6, dword [rbp + 0x7c]
addss xmm6, xmm7
subss xmm6, dword [0x1400c0f60]
cmp rbx, rdi
jae 0x140040079
movss xmm5, dword [r15 + 0x1a80]
movaps xmm1, xmm5
nop dword [rax]
movaps xmm0, xmm13
addss xmm0, xmm1
comiss xmm6, xmm0
ja 0x140040074
movss xmm7, dword [rbp + 0x94]
comiss xmm7, xmm6
jbe 0x14003fefc
cmp rbx, rdi
jae 0x140040052
nop word [rax + rax]
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x140040052
cmp rbx, rdi
jae 0x140040074
jmp 0x14003fee0
mov rax, qword [0x1400d1fc0]
mov rdx, qword [rax + 0x1a78]
movss xmm2, dword [rax + 0x1a80]
divss xmm2, dword [rdx + 0x14]
xorps xmm0, xmm0
xorps xmm4, xmm4
xorps xmm1, xmm1
cmp rbx, rdi
jae 0x14003ff71
nop word [rax + rax]
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x14003ff64
cmp ecx, 0xd
je 0x14003ff5d
cmp ecx, dword [rdx]
jge 0x14003ff50
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x14003ff55
movss xmm0, dword [rdx + 0x10]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp rbx, rdi
jae 0x14003ff6e
jmp 0x14003ff30
xorps xmm4, xmm4
maxss xmm4, xmm1
xorps xmm1, xmm1
xorps xmm0, xmm0
maxss xmm1, xmm4
comiss xmm0, xmm1
jb 0x14003ffac
mov rax, qword [r15 + 0x1a78]
cmp dword [rax], 0x20
jle 0x14003ff94
mov rax, qword [rax + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x14003ff99
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x1400c0fb8]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm3
movaps xmm0, xmm11
addss xmm0, xmm6
addss xmm3, dword [0x1400c0f60]
movaps xmm2, xmm10
subss xmm2, xmm5
addss xmm2, xmm6
movss xmm4, dword [rbp + 0x90]
maxss xmm3, xmm4
maxss xmm2, xmm7
movss dword [rbp + 0x60], xmm3
movss dword [rbp + 0x64], xmm2
minss xmm1, xmm14
minss xmm0, xmm13
movss dword [rbp + 0x68], xmm1
movss dword [rbp + 0x6c], xmm0
comiss xmm0, xmm7
jbe 0x140040052
comiss xmm13, xmm2
jbe 0x140040052
comiss xmm1, xmm4
jbe 0x140040052
comiss xmm14, xmm3
jbe 0x140040052
xor eax, eax
mov dword [rsp + 0x28], eax
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, r14d
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x60]
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax + 0x2f8]
call fcn.14002dca0
movss xmm13, dword [rbp + 0x9c]
movss xmm14, dword [rbp + 0x98]
movss xmm8, dword [rbp + 0x78]
movaps xmm3, xmm8
subss xmm3, xmm9
movss xmm5, dword [r15 + 0x1a80]
addss xmm6, xmm5
movaps xmm1, xmm5
cmp rbx, rdi
jb 0x14003feb0
mov r11d, dword [rsp + 0x58]
xorps xmm11, xmm11
mov r14, qword [rbp - 0x68]
test r11b, r11b
jne 0x140040098
mov rax, rsi
sub rax, r14
cmp rax, 0x200000
jge 0x140040147
mov rcx, qword [0x1400d1fc0]
movzx ebx, byte [rsp + 0x55]
mov eax, ebx
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x16fc]
movups xmmword [rbp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x1638]
movss dword [rbp + 0x6c], xmm0
subss xmm8, xmm9
movss dword [rbp - 0x40], xmm8
movss xmm0, dword [rbp + 0x7c]
subss xmm0, xmm11
movss dword [rbp - 0x3c], xmm0
lea r8, [rbp + 0x90]
test r11b, r11b
mov eax, 0
cmovne r8, rax
lea rcx, [rbp + 0x60]
call fcn.140003f60
mov qword [rsp + 0x40], r8
movss dword [rsp + 0x38], xmm11
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x40]
movss xmm2, dword [r15 + 0x1a80]
mov rdx, qword [r15 + 0x1a78]
mov rdi, qword [rbp - 0x50]
mov rcx, qword [rdi + 0x2f8]
call fcn.14002df90
jmp 0x140040150
movss xmm8, dword [rbp + 0x78]
jmp 0x14004007d
movzx ebx, byte [rsp + 0x55]
mov rdi, qword [rbp - 0x50]
cmp byte [rsp + 0x54], 0
je 0x1400402e4
movss xmm0, dword [r15 + 0x18]
addss xmm0, dword [r13 + 0xe78]
movss dword [r13 + 0xe78], xmm0
cmp byte [r15 + 0xd1], 0
je 0x1400401a1
comiss xmm11, xmm0
jae 0x1400401a1
movss xmm1, dword [0x1400c1004]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x1400c0fe0]
comiss xmm1, xmm0
jae 0x1400401a1
xor cl, cl
jmp 0x1400401a3
mov cl, 1
addss xmm12, dword [rbp + 0x78]
subss xmm12, xmm9
cvttss2si eax, xmm12
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss xmm0, dword [rbp + 0x7c]
addss xmm0, xmm15
subss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp + 0x60], xmm6
movaps xmm1, xmm7
subss xmm1, dword [r15 + 0x1a80]
addss xmm1, dword [0x1400c0fb8]
movss dword [rbp + 0x64], xmm1
movaps xmm3, xmm6
movss xmm8, dword [0x1400c0ffc]
addss xmm3, xmm8
movss dword [rbp + 0x68], xmm3
movaps xmm2, xmm7
subss xmm2, dword [0x1400c1014]
movss dword [rbp + 0x6c], xmm2
test cl, cl
je 0x1400402a0
comiss xmm2, dword [rbp + 0x94]
jbe 0x1400402a0
movss xmm0, dword [rbp + 0x9c]
comiss xmm0, xmm1
jbe 0x1400402a0
comiss xmm3, dword [rbp + 0x90]
jbe 0x1400402a0
movss xmm0, dword [rbp + 0x98]
comiss xmm0, xmm6
jbe 0x1400402a0
mov rax, qword [0x1400d1fc0]
movups xmm0, xmmword [rax + 0x16fc]
movups xmmword [rbp - 0x20], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1638]
movss dword [rbp - 0x14], xmm0
movss dword [rbp - 0x40], xmm6
movss dword [rbp - 0x3c], xmm2
lea rcx, [rbp - 0x20]
call fcn.140003f60
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x60]
mov rcx, qword [rdi + 0x2f8]
call fcn.14002da40
movss xmm12, dword [rbp - 0x44]
movss xmm15, dword [rbp - 0x38]
cmp byte [rsp + 0x60], 0
jne 0x1400402f0
subss xmm6, xmm8
subss xmm7, dword [r15 + 0x1a80]
movss dword [r15 + 0x31a0], xmm6
movss dword [r15 + 0x31a4], xmm7
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 0x38]
mov qword [r15 + 0x31b0], rax
jmp 0x1400402f0
movss xmm12, dword [rbp - 0x44]
movss xmm15, dword [rbp - 0x38]
mov edi, dword [rbp - 0x5c]
test dil, dil
je 0x140040301
test bl, bl
jne 0x140040301
call fcn.140011850
cmp byte [rsp + 0x58], 0
je 0x1400403aa
movss xmm0, dword [rsp + 0x5c]
movss dword [rbp - 0x40], xmm0
movss xmm4, dword [rbp - 0x80]
addss xmm4, dword [r15 + 0x1674]
movss dword [rbp - 0x3c], xmm4
mov rcx, qword [0x1400d1fc0]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
cmp byte [rax + 0xd4], 0
jne 0x1400403a0
movss xmm2, dword [rax + 0x118]
movaps xmm3, xmm2
addss xmm3, xmm0
movss xmm0, dword [rax + 0x11c]
addss xmm4, xmm0
movss dword [rbp + 0x60], xmm2
movss dword [rbp + 0x64], xmm0
movss dword [rbp + 0x68], xmm3
movss dword [rbp + 0x6c], xmm4
movss xmm1, dword [0x1400c10b8]
lea rcx, [rbp - 0x40]
call fcn.140011cc0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x60]
call fcn.140011e10
call fcn.14000b460
call fcn.140012380
cmp byte [r15 + 0x3254], 0
je 0x1400403ef
test dil, dil
je 0x1400403bd
test bl, bl
je 0x1400403ef
mov rax, qword [0x1400d1fc0]
lea rcx, [0x1400bf838]
mov qword [rax + 0x3278], rcx
lea rcx, [0x1400bf834]
mov qword [rax + 0x3280], rcx
mov r8, rsi
mov rdx, r14
lea rcx, [rbp + 0x78]
call fcn.1400179d0
comiss xmm15, xmm11
jbe 0x140040424
movss xmm0, dword [rbp - 0x34]
addss xmm0, dword [r15 + 0x1688]
addss xmm12, dword [r15 + 0x1674]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rbp - 0x30]
unpcklps xmm0, xmm12
movq rcx, xmm0
call fcn.1400045a0
movzx edx, byte [rsp + 0x79]
mov ecx, dword [rbp + 0x1c8]
test dl, dl
je 0x140040457
bt ecx, 0x1b
jb 0x140040457
mov rax, qword [0x1400d1fc0]
mov word [rax + 0x1d7c], 0x101
mov rax, qword [rax + 0x1d18]
or dword [rax + 0x168], 4
test cl, 0x20
mov eax, edx
movzx ecx, byte [rsp + 0x52]
cmovne eax, ecx
jmp 0x14003d42a