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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x290
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140062010]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov dword [rbp - 0x54], r9d
mov qword [rsp + 0x70], r8
mov r14, rcx
mov qword [rbp - 0x30], rcx
mov r15, qword [0x1400629d0]
mov qword [rsp + 0x78], r15
mov rax, qword [r15 + 0x4008]
mov byte [rax + 0xc0], 1
mov r13, qword [r15 + 0x4008]
cmp byte [r13 + 0xc3], 0
jne 0x14003ce7a
mov esi, dword [rbp + 0x1f8]
mov dword [rbp - 0x80], esi
mov ebx, esi
shr ebx, 0x1a
and bl, 1
mov dword [rsp + 0x60], ebx
mov eax, esi
shr eax, 0xe
and al, 1
mov dword [rsp + 0x64], eax
mov eax, esi
shr eax, 0xf
and al, 1
mov dword [rbp - 0x4c], eax
mov eax, esi
shr eax, 0x10
not al
and al, 1
mov dword [rsp + 0x6c], eax
mov eax, esi
shr eax, 0x12
and al, 1
mov dword [rbp - 0x60], eax
test bl, bl
je 0x14003cacc
call fcn.140014ba0
movsxd rcx, dword [r13 + 0x100]
mov rax, qword [r13 + 0x108]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
mov rcx, r14
call fcn.140004640
mov r12d, eax
mov dword [rbp - 0x78], eax
mov rcx, qword [r13]
cmp dword [rcx + 0x4054], eax
jne 0x14003cb0a
mov r8, r14
mov edx, 0xb
mov ecx, eax
call fcn.14001ce60
mov r8, qword [0x1400629d0]
mov rcx, r14
cmp r14, 0xffffffffffffffff
jae 0x14003cb3d
nop word [rax + rax]
movzx edx, byte [rcx]
test dl, dl
je 0x14003cb3d
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x14003cb34
cmp byte [rax], dl
je 0x14003cb3d
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x14003cb20
movss xmm0, dword [r8 + 0x3d40]
movss xmm1, dword [0x140058b64]
movss dword [rbp - 0x38], xmm1
movss xmm9, dword [0x140058b40]
xorps xmm7, xmm7
cmp r14, rcx
jne 0x14003cb6a
xorps xmm8, xmm8
jmp 0x14003cbb0
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
movss dword [rsp + 0x20], xmm1
movaps xmm3, xmm9
movaps xmm2, xmm0
lea rdx, [rbp - 0x70]
mov rcx, qword [r8 + 0x3d38]
call fcn.14002eff0
movss xmm0, dword [rbp - 0x70]
addss xmm0, dword [0x140058a74]
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
movss xmm0, dword [rbp - 0x6c]
movss dword [rbp - 0x34], xmm8
test bl, bl
je 0x14003cbcb
movss xmm0, dword [r15 + 0x3d40]
mulss xmm0, dword [0x140058ac8]
movss xmm6, dword [r15 + 0x3930]
movaps xmm3, xmm6
addss xmm3, xmm6
addss xmm3, xmm0
call fcn.140014a20
movaps xmm2, xmm0
mov rdx, qword [rbp + 0x1f0]
mov rdx, qword [rdx]
lea rcx, [rbp - 0x70]
call fcn.140014aa0
comiss xmm8, xmm7
jbe 0x14003cc0f
movaps xmm1, xmm8
addss xmm1, dword [r15 + 0x3944]
jmp 0x14003cc12
xorps xmm1, xmm1
movss xmm12, dword [r13 + 0x114]
movss dword [rbp - 0x5c], xmm12
movaps xmm0, xmm12
movss xmm11, dword [rbp - 0x6c]
addss xmm0, xmm11
movss xmm8, dword [r13 + 0x110]
movss dword [rbp - 0x3c], xmm8
movaps xmm13, xmm8
movss xmm10, dword [rbp - 0x70]
addss xmm13, xmm10
movss dword [rbp - 0x40], xmm13
movss dword [rbp - 0x28], xmm8
movss dword [rbp - 0x24], xmm12
movss dword [rbp - 0x20], xmm13
movss dword [rbp - 0x1c], xmm0
movaps xmm2, xmm12
addss xmm2, xmm11
addss xmm1, xmm10
addss xmm1, xmm8
movss dword [rbp + 0x70], xmm8
movss dword [rbp + 0x74], xmm12
movss dword [rbp + 0x78], xmm1
movss dword [rbp + 0x7c], xmm2
mov rdi, r13
mov qword [rbp - 0x48], r13
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
subss xmm2, xmm12
subss xmm1, xmm8
movss dword [rbp - 0x70], xmm1
movss dword [rbp - 0x6c], xmm2
lea rcx, [rbp - 0x70]
movaps xmm1, xmm6
call fcn.1400145a0
test bl, bl
je 0x14003cf41
mov r9d, 0x400
lea r8, [rbp - 0x28]
mov edx, r12d
lea rcx, [rbp + 0x70]
call fcn.140014710
test al, al
je 0x14003ce75
mov esi, dword [r15 + 0x4980]
movups xmm0, xmmword [r15 + 0x4978]
movups xmmword [rbp + 0xa0], xmm0
movss dword [r13 + 0x110], xmm8
movss dword [r13 + 0x114], xmm12
mov edi, dword [r15 + 0x4ae8]
cmp dword [r15 + 0x406c], r12d
jne 0x14003cd2e
mov dword [r15 + 0x4ae8], 0
mov rbx, qword [0x1400629d0]
mov dword [rbp + 0x70], 3
movups xmm0, xmmword [rbx + 0x3a04]
movups xmmword [rbp + 0x74], xmm0
lea rcx, [rbx + 0x4a30]
lea rdx, [rbp + 0x70]
call fcn.14001da90
movups xmm0, xmmword [r15 + 0x3a44]
movups xmmword [rbx + 0x3a04], xmm0
movss xmm1, dword [r15 + 0x3934]
mov ecx, 7
call fcn.140005230
movss xmm1, dword [r15 + 0x3938]
mov ecx, 8
call fcn.140005230
mov rbx, qword [0x1400629d0]
lea rcx, [rbx + 0x4a40]
movss xmm1, dword [rbx + 0x38f8]
movss xmm0, dword [rbx + 0x38fc]
mov dword [rbp - 0x70], 2
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x68], xmm0
lea rdx, [rbp - 0x70]
call fcn.14001d950
xor eax, eax
mov qword [rbx + 0x38f8], rax
movss xmm1, dword [rbp - 0x1c]
movss xmm12, dword [rbp - 0x24]
movss dword [rbp - 0x5c], xmm12
subss xmm1, xmm12
movss xmm13, dword [rbp - 0x20]
movss dword [rbp - 0x40], xmm13
movaps xmm0, xmm13
movss xmm8, dword [rbp - 0x28]
movss dword [rbp - 0x3c], xmm8
subss xmm0, xmm8
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
lea r8, [rbp - 0x70]
mov edx, r12d
mov rcx, r14
call fcn.14000bd20
movzx ebx, al
mov dword [r15 + 0x4ae8], edi
mov ecx, 3
call fcn.1400052b0
mov r8, qword [0x1400629d0]
movsxd rcx, dword [r8 + 0x4a30]
cmp ecx, 1
jl 0x14003ce6c
lea rdx, [rcx + rcx*4]
mov rcx, qword [r8 + 0x4a38]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x39d4], xmm0
dec dword [r8 + 0x4a30]
test bl, bl
jne 0x14003cede
call fcn.14000bf40
call fcn.140014ce0
xor al, al
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.14004d660
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdi, qword [r15 + 0x4008]
mov qword [rbp - 0x48], rdi
movsx ecx, word [rdi + 0x16e]
mov eax, dword [rdi + 0x168]
bts ecx, eax
mov word [rdi + 0x16e], cx
movss xmm0, dword [rdi + 0x110]
addss xmm0, dword [r15 + 0x392c]
movss dword [rdi + 0x110], xmm0
movss xmm1, dword [r15 + 0x3930]
addss xmm1, dword [rdi + 0x114]
movss dword [rdi + 0x114], xmm1
subss xmm10, dword [rdi + 0xb4]
mov ebx, dword [rsp + 0x60]
jmp 0x14003cf90
bt esi, 0x1c
jb 0x14003cf89
mov r9d, 0x400
lea r8, [rbp - 0x28]
mov edx, r12d
lea rcx, [rbp + 0x70]
call fcn.140014710
test al, al
je 0x14003ce7a
movss xmm13, dword [rbp - 0x20]
movss dword [rbp - 0x40], xmm13
movss xmm12, dword [rbp - 0x24]
movss dword [rbp - 0x5c], xmm12
movss xmm8, dword [rbp - 0x28]
movss dword [rbp - 0x3c], xmm8
mov esi, dword [r15 + 0x4980]
mov r8d, dword [r15 + 0x497c]
mov edx, r12d
lea rcx, [rbp - 0x28]
call fcn.140008a70
movzx ecx, al
mov byte [rsp + 0x68], al
mov eax, 1
test cl, cl
je 0x14003cfba
mov dword [r15 + 0x4e78], eax
mov r14, qword [0x1400629d0]
test r12d, r12d
je 0x14003cfd8
cmp dword [r14 + 0x4e90], r12d
jne 0x14003cfd8
add r14, 0x4e88
jmp 0x14003cfdb
xor r14d, r14d
shr esi, 8
and sil, al
mov dword [rsp + 0x5c], esi
mov eax, dword [r15 + 0x406c]
cmp eax, r12d
je 0x14003d015
cmp dword [r15 + 0x4ae8], r12d
jne 0x14003d015
test byte [r15 + 0x4af4], 1
jne 0x14003d00e
cmp dword [r15 + 0x4b0c], 2
jne 0x14003d015
mov byte [rsp + 0x51], 1
jmp 0x14003d01a
mov byte [rsp + 0x51], 0
test cl, cl
je 0x14003d02d
cmp byte [r15 + 0x3868], 0
je 0x14003d02d
mov r12b, 1
jmp 0x14003d030
xor r12b, r12b
mov byte [rsp + 0x52], r12b
test bl, bl
je 0x14003d095
test r14, r14
je 0x14003d095
test eax, eax
jne 0x14003d095
movsxd rcx, dword [rdi + 0x100]
mov rax, qword [rdi + 0x108]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.140004640
mov ebx, eax
mov rcx, qword [rdi]
cmp dword [rcx + 0x4054], eax
jne 0x14003d083
lea r8, str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.14001ce60
cmp dword [r15 + 0x4098], ebx
jne 0x14003d091
mov dil, 1
jmp 0x14003d0a1
mov ebx, dword [rsp + 0x60]
xor dil, dil
test bl, bl
je 0x14003d116
test r14, r14
je 0x14003d116
mov rax, qword [rbp - 0x48]
movsxd rcx, dword [rax + 0x100]
mov rax, qword [rax + 0x108]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.SCROLLY
call fcn.140004640
mov ebx, eax
mov rcx, qword [rbp - 0x48]
mov rcx, qword [rcx]
cmp dword [rcx + 0x4054], eax
jne 0x14003d0ea
lea r8, str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.14001ce60
cmp dword [r15 + 0x406c], ebx
mov ebx, dword [rsp + 0x60]
jne 0x14003d116
mov cl, 1
mov byte [rsp + 0x53], cl
mov byte [rsp + 0x59], 0
mov byte [rsp + 0x54], 0
mov rax, qword [rbp - 0x48]
movss xmm9, dword [rax + 0x90]
jmp 0x14003d13d
mov byte [rsp + 0x59], 0
mov byte [rsp + 0x54], 0
xor cl, cl
mov byte [rsp + 0x53], cl
test bl, bl
je 0x14003d139
mov rax, qword [rbp - 0x48]
movss xmm9, dword [rax + 0x90]
jmp 0x14003d13d
mov byte [rsp + 0x53], cl
test r14, r14
je 0x14003d152
movzx eax, bl
xor al, 1
cmp byte [r14 + 0x6b], al
je 0x14003d152
mov r15b, 1
jmp 0x14003d155
xor r15b, r15b
test r12b, r12b
jne 0x14003d17f
test dil, dil
jne 0x14003d17f
cmp byte [rsp + 0x51], dil
jne 0x14003d17f
test sil, sil
jne 0x14003d17f
mov byte [rsp + 0x58], sil
test cl, cl
jne 0x14003d184
mov byte [rsp + 0x5a], cl
mov rax, qword [rsp + 0x78]
jmp 0x14003d199
mov byte [rsp + 0x58], 1
mov byte [rsp + 0x5a], 1
mov rax, qword [rsp + 0x78]
mov edx, dword [rbp - 0x78]
cmp dword [rax + 0x406c], edx
jne 0x14003d1a2
test r15b, r15b
je 0x14003d40d
lea r14, [rax + 0x4e88]
mov dword [r14 + 0xe80], 0xbe99999a
mov ecx, dword [r14 + 8]
call fcn.14003c8f0
mov rbx, 0xffffffffffffffff
mov rdx, qword [rsp + 0x70]
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x14003d1d0
lea edi, [rbx + 1]
mov ecx, dword [r14 + 0x3c]
cmp edi, ecx
jle 0x14003d208
test ecx, ecx
je 0x14003d1f3
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d1f8
mov eax, 8
mov edx, edi
cmp eax, edi
cmovg edx, eax
lea rcx, [r14 + 0x38]
call fcn.14001e040
mov dword [r14 + 0x38], edi
movsxd r8, edi
mov rdi, qword [rsp + 0x70]
mov rdx, rdi
mov rcx, qword [r14 + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rbp - 0x78]
cmp dword [r14 + 8], esi
jne 0x14003d251
test r15b, r15b
jne 0x14003d251
mov r12b, 1
cmp dword [r14 + 0x10], ebx
jne 0x14003d251
cmp byte [r14 + 0x48], r15b
je 0x14003d254
movsxd r8, ebx
mov rdx, rdi
mov rcx, qword [r14 + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14003d254
xor r12b, r12b
mov dword [r14 + 8], esi
movsxd rsi, dword [rbp - 0x54]
lea ebx, [rsi + 1]
mov ecx, dword [r14 + 0x1c]
cmp ebx, ecx
jle 0x14003d28b
test ecx, ecx
je 0x14003d276
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d27b
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r14 + 0x18]
call fcn.14001e120
mov dword [r14 + 0x18], ebx
mov ecx, dword [r14 + 0x2c]
test ecx, ecx
jns 0x14003d2b0
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor edx, edx
test eax, eax
cmovg edx, eax
lea rcx, [r14 + 0x28]
call fcn.14001e040
xor edx, edx
mov dword [r14 + 0x28], edx
mov byte [r14 + 0x48], dl
mov rcx, qword [rsp + 0x70]
mov rdi, rcx
mov r15, qword [r14 + 0x20]
mov rbx, r15
dec rsi
lea rsi, [r15 + rsi*2]
cmp r15, rsi
jae 0x14003d306
cmp byte [rdi], 0
je 0x14003d2ff
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140004980
movsxd rcx, eax
add rdi, rcx
movzx eax, word [rbp - 0x50]
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x14003d2d5
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov word [rbx], dx
sub rbx, r15
sar rbx, 1
mov dword [r14 + 0xc], ebx
sub edi, ecx
mov dword [r14 + 0x10], edi
test r12b, r12b
je 0x14003d34f
mov ecx, ebx
cmp dword [r14 + 0x54], ebx
cmovl ecx, dword [r14 + 0x54]
mov dword [r14 + 0x54], ecx
mov ecx, ebx
cmp dword [r14 + 0x58], ebx
cmovl ecx, dword [r14 + 0x58]
mov dword [r14 + 0x58], ecx
cmp dword [r14 + 0x5c], ebx
cmovl ebx, dword [r14 + 0x5c]
mov dword [r14 + 0x5c], ebx
mov ebx, dword [rsp + 0x60]
jmp 0x14003d3a2
mov qword [r14 + 0x50], 0
mov dword [r14 + 0xe72], 0x630000
mov dword [r14 + 0xe78], edx
mov dword [r14 + 0xe7c], 0x3e7
mov qword [r14 + 0x58], 0
mov word [r14 + 0x69], 1
mov dword [r14 + 0x70], edx
mov byte [r14 + 0x68], 0
mov ebx, dword [rsp + 0x60]
movzx eax, bl
xor al, 1
mov byte [r14 + 0x6b], al
mov byte [r14 + 0x60], 0
mov dword [r14 + 0x64], edx
test bl, bl
jne 0x14003d3f9
mov r8d, dword [rbp - 0x80]
test r8b, 0x10
mov eax, dword [rsp + 0x54]
movzx eax, al
mov ecx, 1
cmovne eax, ecx
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x78]
cmp byte [rsp + 0x51], bl
je 0x14003d3de
test r12b, r12b
je 0x14003d3da
test byte [rax + 0x4af4], 4
jne 0x14003d3de
mov byte [rsp + 0x54], cl
cmp byte [rsp + 0x5c], 0
jne 0x14003d3f5
cmp byte [rsp + 0x52], 0
je 0x14003d3f9
cmp byte [rax + 0xe64], 0
je 0x14003d3f9
mov byte [rsp + 0x54], cl
movzx r12d, byte [rsp + 0x52]
test dword [rbp - 0x80], 0x2000
je 0x14003d40d
mov byte [r14 + 0x60], 1
mov rdi, qword [rsp + 0x78]
movzx r15d, byte [rdi + 0x59]
mov byte [rbp - 0x7c], r15b
mov esi, dword [rbp - 0x78]
movzx ebx, byte [rsp + 0x58]
cmp dword [rdi + 0x406c], esi
je 0x14003d459
test bl, bl
je 0x14003d44d
mov rdx, r13
mov ecx, esi
call fcn.140008660
mov rdx, r13
mov ecx, esi
call fcn.1400169c0
xor edx, edx
mov rcx, r13
call fcn.1400113e0
cmp dword [rdi + 0x406c], esi
jne 0x14003d58b
test r12b, r12b
je 0x14003d47a
mov rax, qword [0x1400629d0]
mov dword [rax + 0x4768], esi
mov dword [rax + 0x4764], esi
mov word [rax + 0x476c], 0
mov eax, dword [rdi + 0x4940]
or eax, 3
mov dword [rdi + 0x4940], eax
mov ecx, dword [rsp + 0x60]
mov edx, dword [rbp - 0x80]
test cl, cl
jne 0x14003d498
test dl, dl
jns 0x14003d4a1
or eax, 0xc
mov dword [rdi + 0x4940], eax
mov rax, qword [0x1400629d0]
mov dword [rax + 0x4108], esi
mov dword [rax + 0x4104], esi
mov word [rax + 0x410c], 0
mov dword [rax + 0x4114], esi
mov dword [rax + 0x4110], esi
mov word [rax + 0x4118], 0
test cl, cl
je 0x14003d500
mov dword [rax + 0x40f0], esi
mov dword [rax + 0x40ec], esi
mov word [rax + 0x40f4], 0
mov dword [rax + 0x40fc], esi
mov dword [rax + 0x40f8], esi
mov word [rax + 0x4100], 0
test r15b, r15b
je 0x14003d51a
mov dword [rax + 0x47d4], esi
mov dword [rax + 0x47d0], esi
mov word [rax + 0x47d8], 0
test edx, 0x440
je 0x14003d550
mov ecx, 0x200
call fcn.140012210
mov rdx, qword [0x1400629d0]
lea ecx, [rsi - 1]
cmp ecx, 0xfffffffd
mov ecx, esi
jbe 0x14003d543
mov ecx, dword [rdx + 0x494c]
cmp byte [rax + 4], 0
jbe 0x14003d550
mov dword [rax + 0xc], ecx
mov byte [rax + 4], 0
cmp dword [rdi + 0x406c], esi
jne 0x14003d58b
test r14, r14
jne 0x14003d566
xor edx, edx
xor ecx, ecx
call fcn.140008660
cmp dword [rdi + 0x406c], esi
jne 0x14003d58b
cmp byte [rdi + 0x3868], 0
je 0x14003d597
cmp byte [rsp + 0x5a], 0
jne 0x14003d597
test bl, bl
jne 0x14003d597
mov byte [rsp + 0x59], 1
mov cl, 1
jmp 0x14003d59d
test r14, r14
je 0x14003d59b
cmp byte [rsp + 0x53], 0
je 0x14003d59b
mov cl, 1
jmp 0x14003d59d
xor cl, cl
mov byte [rsp + 0x50], cl
mov r13d, dword [rsp + 0x54]
test r14, r14
je 0x14003d5c2
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003d5ba
test r13b, r13b
je 0x14003d5c2
test cl, cl
je 0x14003d5c2
mov dl, 1
jmp 0x14003d5c4
xor dl, dl
mov dword [rsp + 0x54], edx
movzx r12d, dl
mov byte [rsp + 0x52], 0
mov byte [rsp + 0x5a], 0
mov eax, dword [rsp + 0x64]
test al, al
je 0x14003d6da
test r14, r14
je 0x14003d6da
test cl, cl
jne 0x14003d5f7
test dl, dl
je 0x14003d6e2
mov esi, dword [rbp - 0x54]
inc esi
mov ecx, dword [r14 + 0x1c]
cmp esi, ecx
jle 0x14003d628
test ecx, ecx
je 0x14003d613
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003d618
mov eax, 8
mov edx, esi
cmp eax, esi
cmovg edx, eax
lea rcx, [r14 + 0x18]
call fcn.14001e120
mov dword [r14 + 0x18], esi
mov rcx, qword [rsp + 0x70]
mov rdi, rcx
mov r15, qword [r14 + 0x20]
mov rbx, r15
movsxd rsi, esi
dec rsi
lea rsi, [r15 + rsi*2]
cmp r15, rsi
jae 0x14003d67f
nop word [rax + rax]
cmp byte [rdi], 0
je 0x14003d67a
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140004980
movsxd rcx, eax
add rdi, rcx
movzx eax, word [rbp - 0x50]
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x14003d650
mov rcx, qword [rsp + 0x70]
xor edx, edx
mov word [rbx], dx
sub rbx, r15
sar rbx, 1
mov dword [r14 + 0xc], ebx
sub edi, ecx
mov dword [r14 + 0x10], edi
mov ecx, ebx
cmp dword [r14 + 0x54], ebx
cmovl ecx, dword [r14 + 0x54]
mov dword [r14 + 0x54], ecx
mov ecx, ebx
cmp dword [r14 + 0x58], ebx
cmovl ecx, dword [r14 + 0x58]
mov dword [r14 + 0x58], ecx
cmp dword [r14 + 0x5c], ebx
cmovl ebx, dword [r14 + 0x5c]
mov dword [r14 + 0x5c], ebx
cmp ecx, ebx
cmovne edx, r12d
mov dword [rsp + 0x54], edx
movzx r15d, byte [rbp - 0x7c]
mov esi, dword [rbp - 0x78]
movzx ecx, byte [rsp + 0x50]
mov eax, dword [rsp + 0x64]
test cl, cl
jne 0x14003d6f3
test dl, dl
jne 0x14003d6f3
mov r12, qword [rsp + 0x78]
cmp dword [r12 + 0x406c], esi
jne 0x14003d70b
jmp 0x14003d6f8
mov r12, qword [rsp + 0x78]
test al, al
jne 0x14003d70b
test r14, r14
je 0x14003d70b
cmp byte [r14 + 0x48], al
mov byte [rbp - 0x7a], 1
jne 0x14003d70f
mov byte [rbp - 0x7a], 0
mov ebx, dword [rbp - 0x4c]
test bl, bl
je 0x14003d7aa
mov rdx, qword [r12 + 0x3d38]
cmp dword [rdx + 0x18], 0x2a
ja 0x14003d72e
mov r8, qword [rdx + 0x38]
jmp 0x14003d752
mov rax, qword [rdx + 0x20]
movzx ecx, word [rax + 0x54]
mov eax, 0xffff
cmp cx, ax
jne 0x14003d746
mov r8, qword [rdx + 0x38]
jmp 0x14003d752
lea rcx, [rcx + rcx*4]
mov rax, qword [rdx + 0x30]
lea r8, [rax + rcx*8]
lea rcx, [r12 + 0x5d30]
mov eax, dword [rdx + 0x14]
mov dword [rcx + 0x14], eax
mov rax, qword [r12 + 0x3d38]
mov edx, dword [rax + 0x64]
mov dword [rcx + 0x64], edx
mov rax, qword [r12 + 0x3d38]
mov edx, dword [rax + 0x68]
mov dword [rcx + 0x68], edx
mov rax, qword [r12 + 0x3d38]
mov edx, dword [rax + 0x6c]
mov dword [rcx + 0x6c], edx
mov rax, qword [r12 + 0x3d38]
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.140011870
xor eax, eax
mov dword [rbp - 0x50], eax
mov edi, 0x100
movss xmm0, dword [0x140058a3c]
cmp dword [r12 + 0x406c], esi
jne 0x14003dd1f
mov eax, dword [r14 + 0x10]
mov dword [rbp - 0x50], eax
mov byte [r14 + 0xe86], 0
mov eax, dword [rbp - 0x54]
mov dword [r14 + 0x4c], eax
mov ebx, dword [rbp - 0x80]
mov dword [r14 + 0xe88], ebx
cmp byte [r12 + 0xe50], 0
sete al
mov byte [r12 + 0x4079], al
movss xmm6, dword [r12 + 0xe48]
subss xmm6, xmm8
subss xmm6, dword [r12 + 0x392c]
addss xmm6, dword [r14 + 0x50]
cmp byte [rsp + 0x60], 0
je 0x14003d83c
movss xmm2, dword [r12 + 0xe4c]
mov rax, qword [rbp - 0x48]
subss xmm2, dword [rax + 0x114]
jmp 0x14003d84a
movss xmm2, dword [r12 + 0x3d40]
mulss xmm2, xmm0
test r13b, r13b
je 0x14003d873
xor r13d, r13d
mov dword [r14 + 0x58], r13d
mov eax, dword [r14 + 0xc]
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0x6a], r13b
mov byte [r14 + 0xe85], 1
jmp 0x14003db78
movzx ecx, byte [rsp + 0x68]
test cl, cl
je 0x14003da43
cmp word [r12 + 0x3872], 2
jb 0x14003da43
cmp byte [r12 + 0xe65], 0
jne 0x14003da43
cmp byte [r14 + 0x6b], 0
je 0x14003d8ba
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x70]
call fcn.14003a5b0
movss xmm2, dword [rbp + 0x7c]
movaps xmm1, xmm6
mov rcx, r14
call fcn.14003ab50
movsxd rdx, eax
mov dword [r14 + 0x54], edx
mov dword [r14 + 0x58], edx
mov dword [r14 + 0x5c], edx
mov byte [r14 + 0x6a], 0
movzx eax, word [r12 + 0x3872]
sub eax, 2
test al, 1
jne 0x14003d9ae
test edx, edx
je 0x14003d906
lea eax, [rdx - 1]
movsxd rcx, eax
mov rax, qword [r14 + 0x20]
cmp word [rax + rcx*2], 0xa
je 0x14003d906
xor cl, cl
jmp 0x14003d908
mov cl, 1
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003d916
test cl, cl
jne 0x14003d93f
mov r8d, 0x20000c
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
mov edx, dword [r14 + 0x54]
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003d95f
cmp dword [r14 + 0x58], eax
jne 0x14003d959
mov dword [r14 + 0x5c], edx
mov dword [r14 + 0x58], edx
jmp 0x14003d95f
mov dword [r14 + 0x54], eax
mov edx, eax
mov rcx, r14
call fcn.14003a790
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x5c], eax
mov eax, dword [r14 + 0xc]
mov edx, dword [r14 + 0x5c]
mov ecx, dword [r14 + 0x58]
cmp ecx, edx
je 0x14003d99b
cmp ecx, eax
jle 0x14003d989
mov dword [r14 + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x14003d993
mov dword [r14 + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x14003d99b
mov dword [r14 + 0x54], ecx
cmp dword [r14 + 0x54], eax
jle 0x14003db6a
mov dword [r14 + 0x54], eax
jmp 0x14003db6a
mov rcx, qword [r14 + 0x20]
movzx ebx, word [rcx + rdx*2]
mov r8d, 0x200004
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
mov r8d, 0x600005
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
mov r8d, 0x600001
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003b010
cmp bx, 0xa
je 0x14003da33
cmp byte [rsp + 0x60], 0
je 0x14003da33
mov ecx, dword [r14 + 0x58]
mov eax, dword [r14 + 0x5c]
mov dword [r14 + 0x58], eax
mov dword [r14 + 0x5c], ecx
mov dword [r14 + 0x54], ecx
mov byte [r14 + 0xe84], 0
mov ebx, dword [rbp - 0x80]
jmp 0x14003db6a
movzx eax, byte [r14 + 0xe85]
cmp byte [r12 + 0x3868], 0
je 0x14003daf1
test al, al
jne 0x14003daf1
test cl, cl
je 0x14003db75
cmp byte [r12 + 0xe65], al
je 0x14003dab8
cmp byte [r14 + 0x6b], al
je 0x14003da8e
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x70]
call fcn.14003a5b0
movss xmm2, dword [rbp + 0x7c]
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003daa0
mov eax, dword [r14 + 0x54]
mov dword [r14 + 0x58], eax
movaps xmm1, xmm6
mov rcx, r14
call fcn.14003ab50
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
jmp 0x14003db6a
cmp byte [r14 + 0x6b], 0
je 0x14003dad3
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x70]
call fcn.14003a5b0
movss xmm2, dword [rbp + 0x7c]
movaps xmm1, xmm6
mov rcx, r14
call fcn.14003ab50
mov dword [r14 + 0x58], eax
mov byte [r14 + 0x6a], 0
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
jmp 0x14003db6a
cmp byte [r12 + 0xe50], 0
je 0x14003db75
test al, al
jne 0x14003db75
movss xmm0, dword [r12 + 0xe8]
ucomiss xmm0, xmm7
jp 0x14003db22
jne 0x14003db22
movss xmm0, dword [r12 + 0xec]
ucomiss xmm0, xmm7
jp 0x14003db22
je 0x14003db75
cmp byte [r14 + 0x6b], 0
je 0x14003db3d
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x70]
call fcn.14003a5b0
movss xmm2, dword [rbp + 0x7c]
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003db4f
mov eax, dword [r14 + 0x54]
mov dword [r14 + 0x58], eax
movaps xmm1, xmm6
mov rcx, r14
call fcn.14003ab50
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
xor r13d, r13d
cmp byte [r14 + 0xe85], 0
je 0x14003db95
cmp byte [r12 + 0xe50], 0
jne 0x14003db95
mov byte [r14 + 0xe85], 0
bt ebx, 0xa
jae 0x14003dc11
mov r8d, edi
mov edx, esi
mov ecx, 0x200
call fcn.1400123d0
test al, al
je 0x14003dc11
mov r8d, edi
mov edx, esi
mov ecx, 0x200
call fcn.1400144d0
mov ecx, dword [rsp + 0x64]
test al, al
je 0x14003dc15
test cl, cl
jne 0x14003dc15
mov dword [rsp + 0x5c], 9
mov dword [rsp + 0x28], 2
mov r8d, ebx
lea rdx, [rsp + 0x5c]
mov rcx, r12
call fcn.14003c410
test al, al
je 0x14003dc11
lea rdx, [r14 + 0x54]
mov r8d, dword [rsp + 0x5c]
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
mov ecx, dword [rsp + 0x64]
cmp byte [r12 + 0xe64], 0
je 0x14003dc2b
cmp byte [r12 + 0xe66], 0
je 0x14003dc3b
test r15b, r15b
je 0x14003dc3f
cmp byte [r12 + 0xe67], 0
je 0x14003dc3f
mov al, 1
jmp 0x14003dc41
xor al, al
cmp dword [r12 + 0x38e0], 0
jle 0x14003dd1c
test al, al
jne 0x14003dcea
test cl, cl
jne 0x14003dcea
cmp byte [rsp + 0x51], cl
jne 0x14003dcea
mov edi, r13d
mov rbx, r13
mov r15d, dword [rbp - 0x80]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r12 + 0x38e8]
movzx ecx, word [rbx + rax]
mov dword [rsp + 0x5c], ecx
cmp ecx, 9
je 0x14003dcd5
mov dword [rsp + 0x28], 2
mov r8d, r15d
lea rdx, [rsp + 0x5c]
mov rcx, r12
call fcn.14003c410
test al, al
je 0x14003dcd5
lea rdx, [r14 + 0x54]
mov r8d, dword [rsp + 0x5c]
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
inc edi
add rbx, 2
cmp edi, dword [r12 + 0x38e0]
jl 0x14003dc80
movzx r15d, byte [rbp - 0x7c]
mov ecx, dword [r12 + 0x38e4]
test ecx, ecx
jns 0x14003dd14
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, r13d
test eax, eax
cmovg edx, eax
lea rcx, [r12 + 0x38e0]
call fcn.14001e120
mov dword [r12 + 0x38e0], r13d
mov ebx, dword [rbp - 0x4c]
xor sil, sil
mov byte [rbp - 0x7b], sil
mov edi, dword [rbp - 0x78]
cmp dword [r12 + 0x406c], edi
jne 0x14003eae9
cmp byte [r12 + 0x4078], sil
jne 0x14003eae9
cmp byte [rsp + 0x59], sil
jne 0x14003eae9
movaps xmm0, xmm11
subss xmm0, dword [r12 + 0x3930]
divss xmm0, dword [r12 + 0x3d40]
cvttss2si eax, xmm0
mov ecx, 1
cmp eax, ecx
cmovge ecx, eax
mov dword [rsp + 0x5c], ecx
mov dword [r14 + 0x64], ecx
movzx eax, byte [r12 + 0xe65]
neg al
sbb esi, esi
and esi, 0x400000
test r15b, r15b
je 0x14003ddc4
movzx eax, byte [r12 + 0xe66]
mov byte [rsp + 0x51], al
cmp byte [r12 + 0xe67], 0
je 0x14003ddd1
cmp byte [r12 + 0xe64], 0
jne 0x14003ddd1
test al, al
jne 0x14003ddd1
mov byte [rsp + 0x53], 1
jmp 0x14003ddd6
movzx eax, byte [r12 + 0xe64]
mov byte [rsp + 0x51], al
mov byte [rsp + 0x53], 0
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa39
call fcn.1400123d0
test al, al
je 0x14003de02
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa39
call fcn.1400144d0
test al, al
jne 0x14003de2e
mov r8d, 0x101
mov edx, edi
mov ecx, 0x220a
call fcn.1400123d0
test al, al
je 0x14003de55
mov r8d, 0x101
mov edx, edi
mov ecx, 0x220a
call fcn.1400144d0
test al, al
je 0x14003de55
mov r12d, dword [rsp + 0x64]
test r12b, r12b
jne 0x14003de5a
test bl, bl
mov ebx, dword [rsp + 0x60]
jne 0x14003de5e
test bl, bl
je 0x14003de4e
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
je 0x14003de5e
mov byte [rsp + 0x58], 1
jmp 0x14003de63
mov r12d, dword [rsp + 0x64]
mov ebx, dword [rsp + 0x60]
mov byte [rsp + 0x58], 0
mov r8d, 0x100
mov edx, edi
mov ecx, 0xa24
call fcn.1400123d0
test al, al
je 0x14003de8f
mov r8d, 0x100
mov edx, edi
mov ecx, 0xa24
call fcn.1400144d0
test al, al
jne 0x14003debb
mov r8d, 0x100
mov edx, edi
mov ecx, 0x1209
call fcn.1400123d0
test al, al
je 0x14003ded5
mov r8d, 0x100
mov edx, edi
mov ecx, 0x1209
call fcn.1400144d0
test al, al
je 0x14003ded5
cmp byte [rbp - 0x4c], 0
jne 0x14003ded5
test bl, bl
je 0x14003decf
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
je 0x14003ded5
mov byte [rbp - 0x57], 1
jmp 0x14003ded9
mov byte [rbp - 0x57], 0
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa37
call fcn.1400123d0
test al, al
je 0x14003df05
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa37
call fcn.1400144d0
test al, al
jne 0x14003df31
mov r8d, 0x101
mov edx, edi
mov ecx, 0x2209
call fcn.1400123d0
test al, al
je 0x14003df3b
mov r8d, 0x101
mov edx, edi
mov ecx, 0x2209
call fcn.1400144d0
test al, al
je 0x14003df3b
test r12b, r12b
mov byte [rsp + 0x68], 1
je 0x14003df40
mov byte [rsp + 0x68], 0
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa3b
call fcn.1400123d0
test al, al
je 0x14003df7f
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa3b
call fcn.1400144d0
mov ebx, dword [rsp + 0x6c]
test al, al
je 0x14003df83
test r12b, r12b
jne 0x14003df83
test bl, bl
je 0x14003df83
mov byte [rbp - 0x58], 1
jmp 0x14003df87
mov ebx, dword [rsp + 0x6c]
mov byte [rbp - 0x58], 0
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa3a
call fcn.1400123d0
test al, al
je 0x14003dfb3
mov r8d, 0x101
mov edx, edi
mov ecx, 0xa3a
call fcn.1400144d0
test al, al
jne 0x14003dfe4
test r15b, r15b
je 0x14003dff2
mov r8d, 0x101
mov edx, edi
mov ecx, 0x2a3b
call fcn.1400123d0
test al, al
je 0x14003dff2
mov r8d, 0x101
mov edx, edi
mov ecx, 0x2a3b
call fcn.1400144d0
test al, al
je 0x14003dff2
test r12b, r12b
jne 0x14003dff2
test bl, bl
je 0x14003dff2
mov r13b, 1
jmp 0x14003dff5
xor r13b, r13b
mov r8d, 0x100
mov edx, edi
mov ecx, 0xa22
call fcn.1400123d0
test al, al
jne 0x14003e010
xor r12b, r12b
jmp 0x14003e028
mov r8d, 0x100
mov edx, edi
mov ecx, 0xa22
call fcn.1400144d0
test al, al
setne r12b
mov rax, qword [rsp + 0x78]
test byte [rax + 8], 2
je 0x14003e03d
test byte [rax + 0xc], 1
je 0x14003e03d
mov bl, 1
jmp 0x14003e03f
xor bl, bl
mov edi, 1
mov r8d, edi
xor edx, edx
mov ecx, 0x20d
call fcn.140012580
test al, al
jne 0x14003e06f
mov r8d, edi
xor edx, edx
mov ecx, 0x273
call fcn.140012580
test al, al
jne 0x14003e06f
xor r15b, r15b
jmp 0x14003e073
movzx r15d, dil
test bl, bl
je 0x14003e09d
xor r8d, r8d
xor edx, edx
mov ecx, 0x27c
call fcn.140012580
test al, al
jne 0x14003e0a0
xor r8d, r8d
xor edx, edx
mov ecx, 0x27b
call fcn.140012580
test al, al
jne 0x14003e0a0
xor dil, dil
mov r8d, 0x101
mov edx, dword [rbp - 0x78]
mov ecx, 0x20e
call fcn.1400123d0
test al, al
je 0x14003e0ce
mov r8d, 0x101
mov edx, dword [rbp - 0x78]
mov ecx, 0x20e
call fcn.1400144d0
test al, al
jne 0x14003e101
test bl, bl
je 0x14003e105
mov r8d, 0x101
mov ebx, dword [rbp - 0x78]
mov edx, ebx
mov ecx, 0x27a
call fcn.1400123d0
test al, al
je 0x14003e105
mov r8d, 0x101
mov edx, ebx
mov ecx, 0x27a
call fcn.1400144d0
test al, al
je 0x14003e105
mov bl, 1
jmp 0x14003e107
xor bl, bl
xor edx, edx
mov ecx, 0x201
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e169
cmp byte [rsp + 0x53], 0
je 0x14003e129
mov eax, 0x200004
jmp 0x14003e13b
mov eax, 0x200000
cmp byte [rsp + 0x51], 0
mov ecx, 0x20000c
cmovne eax, ecx
or esi, eax
lea rdx, [r14 + 0x54]
mov r8d, esi
mov rcx, r14
call fcn.14003b010
mov dword [r14 + 0xe80], 0xbe99999a
mov byte [r14 + 0xe84], 1
mov r12, qword [rsp + 0x78]
jmp 0x14003eaae
xor edx, edx
mov ecx, 0x202
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e1a3
cmp byte [rsp + 0x53], 0
je 0x14003e18d
mov ecx, 0x200005
or esi, ecx
jmp 0x14003e13d
mov ecx, 0x200001
mov eax, 0x20000d
cmp byte [rsp + 0x51], 0
cmovne ecx, eax
or esi, ecx
jmp 0x14003e13d
xor edx, edx
mov ecx, 0x203
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e23f
cmp byte [rsp + 0x60], 0
je 0x14003e23f
mov r12, qword [rsp + 0x78]
cmp byte [r12 + 0xe64], 0
je 0x14003e20b
mov r9, qword [rbp - 0x48]
movss xmm0, dword [r9 + 0x90]
subss xmm0, dword [r12 + 0x3d40]
maxss xmm0, xmm7
movss dword [r9 + 0xa0], xmm0
xor eax, eax
mov dword [r9 + 0xa8], eax
mov dword [r9 + 0xb0], eax
jmp 0x14003eaae
movzx eax, byte [rsp + 0x53]
lea r8d, [rax*4 + 0x200002]
or r8d, esi
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
jmp 0x14003eaae
xor edx, edx
mov ecx, 0x204
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e2c3
cmp byte [rsp + 0x60], 0
je 0x14003e2c3
mov r12, qword [rsp + 0x78]
cmp byte [r12 + 0xe64], 0
je 0x14003e2b1
mov rax, qword [0x1400629d0]
mov rcx, qword [rax + 0x4008]
movss xmm0, dword [r12 + 0x3d40]
mov rax, qword [rbp - 0x48]
addss xmm0, dword [rax + 0x90]
minss xmm0, dword [rcx + 0x98]
movss dword [rax + 0xa0], xmm0
xor ecx, ecx
mov dword [rax + 0xa8], ecx
mov dword [rax + 0xb0], ecx
jmp 0x14003eaae
movzx eax, byte [rsp + 0x53]
lea r8d, [rax*4 + 0x200003]
jmp 0x14003e218
xor edx, edx
mov ecx, 0x205
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e328
cmp byte [rsp + 0x60], 0
je 0x14003e328
or esi, 0x20000e
lea rdx, [r14 + 0x54]
mov r8d, esi
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
movd xmm0, dword [rsp + 0x5c]
cvtdq2ps xmm0, xmm0
mov r12, qword [rsp + 0x78]
mulss xmm0, dword [r12 + 0x3d40]
subss xmm9, xmm0
jmp 0x14003eaae
xor edx, edx
mov ecx, 0x206
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e38d
cmp byte [rsp + 0x60], 0
je 0x14003e38d
or esi, 0x20000f
lea rdx, [r14 + 0x54]
mov r8d, esi
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
movd xmm0, dword [rsp + 0x5c]
cvtdq2ps xmm0, xmm0
mov r12, qword [rsp + 0x78]
mulss xmm0, dword [r12 + 0x3d40]
addss xmm9, xmm0
jmp 0x14003eaae
xor edx, edx
mov ecx, 0x207
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e3c7
mov eax, esi
or eax, 0x200006
or esi, 0x200004
mov r12, qword [rsp + 0x78]
cmp byte [r12 + 0xe64], 0
cmovne esi, eax
mov r8d, esi
jmp 0x14003e21b
xor edx, edx
mov ecx, 0x208
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e402
mov eax, esi
or eax, 0x200007
mov r8d, 0x200005
or r8d, esi
mov r12, qword [rsp + 0x78]
cmp byte [r12 + 0xe64], 0
cmovne r8d, eax
jmp 0x14003e21b
xor edx, edx
mov ecx, 0x20a
lea r8d, [rdx + 1]
call fcn.140012580
test al, al
je 0x14003e465
cmp byte [rsp + 0x64], 0
jne 0x14003e465
cmp byte [rsp + 0x58], 0
jne 0x14003e465
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003e45a
cmp byte [rsp + 0x51], 0
je 0x14003e45a
lea rdx, [r14 + 0x54]
mov r8d, 0x60000d
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
or esi, 0x200008
jmp 0x14003e13d
xor edx, edx
mov ecx, 0x20b
lea r8d, [rdx + 1]
call fcn.140012580
mov r8d, dword [rsp + 0x64]
test al, al
je 0x14003e533
test r8b, r8b
jne 0x14003e533
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003e4c1
cmp byte [rsp + 0x51], r8b
je 0x14003e4d4
lea rdx, [r14 + 0x54]
mov r8d, 0x60000c
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
mov r12, qword [rsp + 0x78]
or esi, 0x200009
mov r8d, esi
jmp 0x14003e21b
cmp byte [rbp - 0x7c], 0
je 0x14003e4c1
mov r12, qword [rsp + 0x78]
cmp byte [r12 + 0xe67], 0
je 0x14003e4c6
cmp byte [r12 + 0xe66], 0
jne 0x14003e4c6
cmp byte [r12 + 0xe64], 0
jne 0x14003e4c6
lea rdx, [r14 + 0x54]
mov r8d, 0x600004
mov rcx, r14
call fcn.14003b010
mov byte [r14 + 0xe84], 1
mov dword [r14 + 0xe80], 0xbe99999a
or esi, 0x200009
mov r8d, esi
jmp 0x14003e21b
test r15b, r15b
jne 0x14003ea10
test dil, dil
jne 0x14003ea10
test bl, bl
je 0x14003e5a4
mov rdx, qword [rsp + 0x70]
test dword [rbp - 0x80], 0x100000
je 0x14003e584
movzx eax, byte [rdx]
test al, al
jne 0x14003e572
xor r12b, r12b
mov dword [rsp + 0x54], r12d
mov byte [rsp + 0x50], r12b
mov byte [rsp + 0x59], 1
test al, al
setne sil
mov byte [rbp - 0x7b], sil
mov r12, qword [rsp + 0x78]
jmp 0x14003eab6
mov sil, 1
mov byte [rbp - 0x7b], sil
mov byte [rsp + 0x59], sil
xor cl, cl
xor r8b, r8b
mov byte [rsp + 0x50], r8b
mov r12, qword [rsp + 0x78]
jmp 0x14003eac0
movzx eax, byte [rbp - 0x58]
test al, al
jne 0x14003e9e5
test r13b, r13b
jne 0x14003e9e5
test r12b, r12b
je 0x14003e5e6
xor eax, eax
mov dword [r14 + 0x58], eax
mov eax, dword [r14 + 0xc]
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0x6a], r13b
mov byte [r14 + 0xe84], 1
mov r12, qword [rsp + 0x78]
jmp 0x14003eaae
movzx r12d, byte [rsp + 0x58]
test r12b, r12b
jne 0x14003e7e4
cmp byte [rbp - 0x57], r12b
jne 0x14003e7e4
cmp byte [rsp + 0x68], r12b
je 0x14003e15f
mov rcx, qword [0x1400629d0]
mov rax, qword [rcx + 0xa8]
test rax, rax
je 0x14003e634
mov rcx, qword [rcx + 0xb8]
call rax
mov rbx, rax
test rax, rax
je 0x14003e15f
jmp 0x14003e63b
lea rbx, [0x1400509be]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], 0
jne 0x14003e642
movsxd rcx, eax
lea rcx, [rcx*2 + 2]
call fcn.140008c50
mov r15, rax
mov qword [rbp - 0x70], rax
xor r13d, r13d
mov esi, r13d
mov r12, qword [rsp + 0x78]
cmp byte [rbx], r13b
je 0x14003e6c9
mov rdi, rax
mov r15d, dword [rbp - 0x80]
nop dword [rax]
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x5c]
call fcn.140004980
movsxd rcx, eax
add rbx, rcx
mov dword [rsp + 0x28], 4
mov r8d, r15d
lea rdx, [rsp + 0x5c]
mov rcx, r12
call fcn.14003c410
test al, al
je 0x14003e6c0
movzx eax, word [rsp + 0x5c]
mov word [rdi], ax
inc esi
add rdi, 2
cmp byte [rbx], r13b
jne 0x14003e680
mov r15, qword [rbp - 0x70]
movsxd rax, esi
mov word [r15 + rax*2], r13w
test esi, esi
jle 0x14003e765
mov eax, dword [r14 + 0xc]
mov edx, dword [r14 + 0x5c]
mov ecx, dword [r14 + 0x58]
cmp ecx, edx
je 0x14003e705
cmp ecx, eax
jle 0x14003e6f3
mov dword [r14 + 0x58], eax
mov ecx, eax
cmp edx, eax
jle 0x14003e6fd
mov dword [r14 + 0x5c], eax
mov edx, eax
cmp ecx, edx
jne 0x14003e705
mov dword [r14 + 0x54], ecx
cmp dword [r14 + 0x54], eax
jle 0x14003e70f
mov dword [r14 + 0x54], eax
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003af70
mov r9d, esi
mov r8, r15
mov edx, dword [r14 + 0x54]
mov rcx, r14
call fcn.14003a9c0
test al, al
je 0x14003e75d
mov edi, dword [r14 + 0x54]
lea rcx, [r14 + 0x74]
xor edx, edx
call fcn.14003be70
test rax, rax
je 0x14003e755
mov dword [rax], edi
mov dword [rax + 4], r13d
mov dword [rax + 8], esi
mov dword [rax + 0xc], 0xffffffff
add dword [r14 + 0x54], esi
mov byte [r14 + 0x6a], r13b
mov byte [r14 + 0xe84], 1
test r15, r15
je 0x14003e7d6
mov r8, qword [0x1400629d0]
test r8, r8
je 0x14003e7d6
mov r9d, dword [r8 + 0x3f60]
movsx rdx, word [r8 + 0x6048]
lea rcx, [r8 + 0x604c]
lea rcx, [rcx + rdx*8]
cmp dword [rcx], r9d
je 0x14003e7cb
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x6048], cx
movsx rax, cx
lea rcx, [r8 + 0x604c]
lea rcx, [rcx + rax*8]
mov dword [rcx], r9d
mov dword [rcx + 4], r13d
inc word [rcx + 6]
inc dword [r8 + 0x6044]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003eaae
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0xb0], 0
je 0x14003e989
mov eax, dword [r14 + 0x5c]
mov ecx, dword [r14 + 0x58]
cmp ecx, eax
je 0x14003e810
mov edx, eax
cmovl edx, ecx
cmovge eax, ecx
xor r13d, r13d
jmp 0x14003e81a
xor r13d, r13d
mov edx, r13d
mov eax, dword [r14 + 0xc]
movsxd rdi, eax
mov rax, qword [r14 + 0x20]
lea r8, [rax + rdi*2]
movsxd rsi, edx
lea rcx, [rax + rsi*2]
mov edx, r13d
mov r9d, 0x800
mov r10d, 0x80
nop dword [rax + rax]
test r8, r8
je 0x14003e84a
cmp rcx, r8
jae 0x14003e86d
movzx eax, word [rcx]
test ax, ax
je 0x14003e86d
add rcx, 2
cmp ax, r10w
jae 0x14003e860
inc edx
jmp 0x14003e840
cmp ax, r9w
sbb eax, eax
add eax, 3
add edx, eax
jmp 0x14003e840
lea eax, [rdx + 1]
movsxd rbx, eax
mov rcx, rbx
call fcn.140008c50
mov r15, rax
mov rcx, qword [r14 + 0x20]
lea r11, [rcx + rdi*2]
lea r10, [rcx + rsi*2]
mov r9, rax
lea rdi, [rbx + rax]
lea rbx, [rdi - 1]
cmp rax, rbx
jae 0x14003e8e7
mov r12d, 0x80
test r11, r11
je 0x14003e8aa
cmp r10, r11
jae 0x14003e8e1
movzx eax, word [r10]
test ax, ax
je 0x14003e8e1
mov r8d, eax
add r10, 2
cmp eax, r12d
jae 0x14003e8c7
mov byte [r9], r8b
inc r9
jmp 0x14003e8dc
mov edx, edi
sub edx, r9d
dec edx
mov rcx, r9
call fcn.140004b30
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x14003e8a0
movzx r12d, byte [rsp + 0x58]
mov byte [r9], 0
mov r8, qword [0x1400629d0]
mov rax, qword [r8 + 0xb0]
test rax, rax
je 0x14003e911
mov rdx, r15
mov rcx, qword [r8 + 0xb8]
call rax
mov r8, qword [0x1400629d0]
test r15, r15
je 0x14003e97e
test r8, r8
je 0x14003e97e
mov r9d, dword [r8 + 0x3f60]
movsx rdx, word [r8 + 0x6048]
lea rcx, [rdx*8 + 0x604c]
add rcx, r8
cmp dword [rcx], r9d
je 0x14003e973
lea ecx, [rdx + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x6048], cx
movsx rax, cx
lea rcx, [rax*8 + 0x604c]
add rcx, r8
mov dword [rcx], r9d
mov dword [rcx + 4], 0
inc word [rcx + 6]
inc dword [r8 + 0x6044]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003e98c
xor r13d, r13d
test r12b, r12b
je 0x14003e15f
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
jne 0x14003e9b4
mov dword [r14 + 0x58], r13d
mov eax, dword [r14 + 0xc]
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0x6a], 0
mov byte [r14 + 0xe84], 1
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
je 0x14003e15f
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003af70
mov byte [r14 + 0x6a], 0
mov r12, qword [rsp + 0x78]
jmp 0x14003eaae
mov r8d, eax
xor r8d, 1
add r8d, 0x20000a
lea rdx, [r14 + 0x54]
mov rcx, r14
call fcn.14003b010
mov eax, dword [r14 + 0x54]
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x58], eax
jmp 0x14003e14c
mov edx, dword [rbp - 0x80]
mov eax, edx
shr eax, 0xb
and al, 1
mov ecx, dword [rsp + 0x60]
mov r12, qword [rsp + 0x78]
test cl, cl
je 0x14003ea3a
test dil, dil
jne 0x14003ea3a
test al, al
je 0x14003ea63
cmp byte [r12 + 0xe64], dil
jne 0x14003ea6e
mov byte [rsp + 0x5a], 1
cmp byte [r12 + 0x5c], 0
je 0x14003eaa9
test cl, cl
jne 0x14003eaa9
xor eax, eax
mov dword [r14 + 0x58], eax
mov eax, dword [r14 + 0xc]
mov dword [r14 + 0x5c], eax
mov dword [r14 + 0x54], eax
mov byte [r14 + 0x6a], cl
jmp 0x14003eaae
cmp byte [r12 + 0xe64], 0
jne 0x14003ea3a
test r8b, r8b
jne 0x14003e15f
mov dword [rsp + 0x5c], 0xa
mov dword [rsp + 0x28], 2
mov r8d, edx
lea rdx, [rsp + 0x5c]
mov rcx, r12
call fcn.14003c410
test al, al
je 0x14003e15f
mov r8d, dword [rsp + 0x5c]
jmp 0x14003e21b
mov byte [rsp + 0x59], 1
mov rdx, qword [rsp + 0x70]
xor sil, sil
mov ecx, dword [rsp + 0x54]
movzx r8d, byte [rsp + 0x50]
mov eax, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], eax
je 0x14003eadc
test r8b, r8b
je 0x14003eadc
mov al, 1
or cl, al
mov dword [rsp + 0x54], ecx
mov edi, dword [rbp - 0x78]
jmp 0x14003eaee
xor al, al
or cl, al
mov dword [rsp + 0x54], ecx
mov edi, dword [rbp - 0x78]
jmp 0x14003eaee
mov rdx, qword [rsp + 0x70]
xor r10d, r10d
mov qword [rbp - 0x70], r10
mov dword [rsp + 0x6c], r10d
cmp dword [r12 + 0x406c], edi
jne 0x14003f2a5
mov r15d, dword [rsp + 0x64]
test r15b, r15b
jne 0x14003ee0a
test sil, sil
je 0x14003ed66
test dword [rbp - 0x80], 0x100000
je 0x14003eba2
lea rax, [0x1400509be]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x6c], r10d
mov byte [rsp + 0x52], 1
movsxd rbx, dword [r14 + 0xc]
lea rcx, [r14 + 0x74]
xor r9d, r9d
mov r8d, ebx
xor edx, edx
call fcn.14003c060
mov r9, rax
test rax, rax
je 0x14003eb85
test ebx, ebx
jle 0x14003eb85
xor eax, eax
mov edx, eax
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r14 + 0x20]
movzx eax, word [rcx + rdx*2]
mov word [r9 + rdx*2], ax
inc rdx
cmp rdx, rbx
jl 0x14003eb70
mov r8d, dword [r14 + 0xc]
xor edx, edx
mov rcx, r14
call fcn.14003a8f0
xor eax, eax
mov qword [r14 + 0x58], rax
mov dword [r14 + 0x54], eax
jmp 0x14003ed66
mov r9, qword [r14 + 0x40]
mov rax, rdx
mov r8, r9
sub r8, rdx
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003ebc3
inc rax
test ecx, ecx
jne 0x14003ebb0
test edx, edx
je 0x14003ed66
mov r12, r9
mov qword [rbp - 0x70], r9
mov eax, dword [r14 + 0x38]
dec eax
mov dword [rsp + 0x6c], eax
mov byte [rsp + 0x52], 1
mov qword [rbp + 0x70], r10
mov r15d, r10d
mov r13, r10
mov qword [rbp + 0x78], r10
test eax, eax
jle 0x14003ecc5
movsxd rbx, eax
add rbx, r9
mov rdi, r9
mov esi, r10d
test rbx, rbx
je 0x14003ec0d
cmp rdi, rbx
jae 0x14003ec2c
cmp byte [rdi], 0
je 0x14003ec2c
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x5c]
call fcn.140004980
movsxd rcx, eax
add rdi, rcx
inc esi
jmp 0x14003ec03
lea r15d, [rsi + 1]
test r15d, r15d
jle 0x14003ec5d
mov edi, r15d
cmp r15d, 8
mov eax, 8
cmovl edi, eax
test edi, edi
jle 0x14003ec5d
movsxd rcx, edi
add rcx, rcx
call fcn.140008c50
mov r13, rax
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x74], edi
mov dword [rbp + 0x70], r15d
mov rdi, r12
mov rsi, r13
movsxd r12, r15d
lea r12, [r12*2 - 2]
add r12, r13
cmp r13, r12
jae 0x14003ecb6
nop word [rax + rax]
test rbx, rbx
je 0x14003ec8a
cmp rdi, rbx
jae 0x14003ecb6
cmp byte [rdi], 0
je 0x14003ecb6
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x5c]
call fcn.140004980
movsxd rcx, eax
add rdi, rcx
movzx eax, word [rsp + 0x5c]
mov word [rsi], ax
add rsi, 2
cmp rsi, r12
jb 0x14003ec80
xor r10d, r10d
mov word [rsi], r10w
mov eax, dword [rsp + 0x6c]
movzx esi, byte [rbp - 0x7b]
lea r9d, [r15 - 1]
test eax, eax
cmovle r9d, r10d
lea rdx, [r14 + 0x54]
mov r8, r13
mov rcx, r14
call fcn.14003c350
nop
test r13, r13
je 0x14003ed5c
mov r8, qword [0x1400629d0]
test r8, r8
je 0x14003ed52
mov r9d, dword [r8 + 0x3f60]
movsx r10, word [r8 + 0x6048]
lea rdx, [r8 + 0x604c]
lea rdx, [rdx + r10*8]
cmp dword [rdx], r9d
je 0x14003ed47
lea ecx, [r10 + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x6048], cx
movsx rax, cx
lea rdx, [r8 + 0x604c]
lea rdx, [rdx + rax*8]
mov dword [rdx], r9d
xor eax, eax
mov dword [rdx + 4], eax
inc word [rdx + 6]
inc dword [r8 + 0x6044]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov r12, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x64]
mov byte [r14 + 0x48], 1
mov eax, dword [r14 + 0x18]
lea ebx, [rax*4 + 1]
mov ecx, dword [r14 + 0x2c]
cmp ebx, ecx
jle 0x14003eda2
test ecx, ecx
je 0x14003ed8d
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003ed92
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r14 + 0x28]
call fcn.14001e040
mov dword [r14 + 0x28], ebx
mov r10, qword [r14 + 0x20]
mov r9, qword [r14 + 0x30]
movsxd r11, ebx
add r11, r9
lea rbx, [r11 - 1]
cmp r9, rbx
jae 0x14003ee00
mov r15d, 0x80
movzx eax, word [r10]
test ax, ax
je 0x14003edfb
mov r8d, eax
add r10, 2
cmp eax, r15d
jae 0x14003ede0
mov byte [r9], r8b
inc r9
jmp 0x14003edf6
mov edx, r11d
sub edx, r9d
dec edx
mov rcx, r9
call fcn.140004b30
movsxd rcx, eax
add r9, rcx
cmp r9, rbx
jb 0x14003edc3
mov r15d, dword [rsp + 0x64]
mov byte [r9], 0
mov edi, dword [rbp - 0x78]
xor r10d, r10d
test sil, sil
je 0x14003ee79
cmp byte [rsp + 0x5a], 0
je 0x14003ee1f
mov esi, dword [rbp - 0x80]
test sil, 0x20
jne 0x14003ee7c
mov r12d, dword [rbp - 0x60]
mov r15, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x64]
mov r11, qword [rbp - 0x70]
mov r10d, dword [rsp + 0x6c]
mov r13, qword [rsp + 0x78]
mov edi, dword [rbp - 0x78]
cmp dword [r13 + 0x5d18], edi
jne 0x14003f348
cmp dword [r13 + 0x406c], edi
je 0x14003f33d
mov rax, qword [0x1400629d0]
mov ecx, dword [rax + 0x4980]
test cl, 0x20
je 0x14003f2bb
shr ecx, 6
test cl, 1
jmp 0x14003f2d5
mov esi, dword [rbp - 0x80]
test esi, 0x801c0
je 0x14003f241
mov ebx, r10d
mov r13d, 0x100
test sil, 0x40
je 0x14003eecc
mov r8d, r13d
mov edx, edi
mov ecx, 0x200
call fcn.1400123d0
test al, al
je 0x14003eecc
mov r8d, r13d
mov edx, edi
mov ecx, 0x200
call fcn.1400144d0
test al, al
je 0x14003eecc
mov eax, 0x40
mov ebx, 0x200
xor r10d, r10d
jmp 0x14003ef4a
test sil, sil
jns 0x14003ef22
mov edi, 1
mov r8d, edi
xor edx, edx
mov ecx, 0x203
call fcn.140012580
test al, al
je 0x14003eefc
mov r11d, 0x80
mov eax, r11d
mov ebx, 0x203
xor r10d, r10d
jmp 0x14003ef50
mov r8d, edi
xor edx, edx
mov ecx, 0x204
call fcn.140012580
test al, al
je 0x14003ef22
mov r11d, 0x80
mov eax, r11d
mov ebx, 0x204
xor r10d, r10d
jmp 0x14003ef50
mov eax, 0x80000
test eax, esi
je 0x14003ef3a
cmp byte [r14 + 0xe86], 0
je 0x14003ef3a
xor r10d, r10d
jmp 0x14003ef4a
test r13d, esi
mov r10d, 0
mov eax, r10d
cmovne eax, r13d
mov r11d, 0x80
test eax, eax
je 0x14003f241
mov dword [rbp + 8], r10d
mov qword [rbp + 0x21], r10
mov dword [rbp + 0x29], r10d
mov word [rbp + 0x2d], r10w
mov byte [rbp + 0x2f], 0
mov qword [rbp - 0x10], r12
mov dword [rbp - 8], eax
mov dword [rbp - 4], esi
mov qword [rbp], r10
test r15b, r15b
mov rax, qword [rsp + 0x70]
jne 0x14003ef89
mov rax, qword [r14 + 0x30]
mov dword [rbp + 0xc], ebx
mov qword [rbp + 0x10], rax
mov eax, dword [r14 + 0x10]
mov dword [rbp + 0x18], eax
mov eax, dword [r14 + 0x4c]
mov dword [rbp + 0x1c], eax
mov byte [rbp + 0x20], 0
mov rdx, qword [r14 + 0x20]
movsxd rax, dword [r14 + 0x54]
lea r8, [rdx + rax*2]
mov rcx, rdx
mov ebx, r10d
mov r9d, 0x800
nop word [rax + rax]
test r8, r8
je 0x14003efca
cmp rcx, r8
jae 0x14003efed
movzx eax, word [rcx]
test ax, ax
je 0x14003efed
add rcx, 2
cmp ax, r11w
jae 0x14003efe0
inc ebx
jmp 0x14003efc0
cmp ax, r9w
sbb eax, eax
add eax, 3
add ebx, eax
jmp 0x14003efc0
mov dword [rbp + 0x24], ebx
movsxd rax, dword [r14 + 0x58]
lea r8, [rdx + rax*2]
mov rcx, rdx
mov r12d, r10d
nop
test r8, r8
je 0x14003f00a
cmp rcx, r8
jae 0x14003f02f
movzx eax, word [rcx]
test ax, ax
je 0x14003f02f
add rcx, 2
cmp ax, r11w
jae 0x14003f021
inc r12d
jmp 0x14003f000
cmp ax, r9w
sbb eax, eax
add eax, 3
add r12d, eax
jmp 0x14003f000
mov dword [rbp + 0x28], r12d
movsxd rax, dword [r14 + 0x5c]
lea rcx, [rdx + rax*2]
mov r15d, r10d
nop
test rcx, rcx
je 0x14003f04a
cmp rdx, rcx
jae 0x14003f06f
movzx eax, word [rdx]
test ax, ax
je 0x14003f06f
add rdx, 2
cmp ax, r11w
jae 0x14003f061
inc r15d
jmp 0x14003f040
cmp ax, r9w
sbb eax, eax
add eax, 3
add r15d, eax
jmp 0x14003f040
mov dword [rbp + 0x2c], r15d
lea rcx, [rbp - 0x10]
call r10
movzx r13d, byte [rbp + 0x20]
movsxd rcx, dword [rbp + 0x24]
cmp ecx, ebx
jne 0x14003f08c
test r13b, r13b
je 0x14003f0d0
mov rbx, qword [rbp + 0x10]
lea rdi, [rbx + rcx]
xor edx, edx
mov esi, edx
test rdi, rdi
je 0x14003f0a2
cmp rbx, rdi
jae 0x14003f0c1
cmp byte [rbx], 0
je 0x14003f0c1
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x5c]
call fcn.140004980
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x14003f098
mov dword [r14 + 0x54], esi
mov byte [r14 + 0xe84], 1
mov ecx, dword [rbp + 0x24]
movsxd rax, dword [rbp + 0x28]
cmp eax, r12d
jne 0x14003f0de
test r13b, r13b
je 0x14003f124
cmp eax, ecx
jne 0x14003f0e8
mov esi, dword [r14 + 0x54]
jmp 0x14003f120
mov rbx, qword [rbp + 0x10]
lea rdi, [rbx + rax]
xor eax, eax
mov esi, eax
test rdi, rdi
je 0x14003f0fe
cmp rbx, rdi
jae 0x14003f11d
cmp byte [rbx], 0
je 0x14003f11d
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x5c]
call fcn.140004980
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x14003f0f4
mov eax, dword [rbp + 0x28]
mov dword [r14 + 0x58], esi
movsxd rcx, dword [rbp + 0x2c]
cmp ecx, r15d
jne 0x14003f136
test r13b, r13b
je 0x14003f241
cmp ecx, eax
jne 0x14003f18b
mov esi, dword [r14 + 0x58]
mov dword [r14 + 0x5c], esi
test r13b, r13b
je 0x14003f241
mov r8d, dword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
mov rcx, r14
call fcn.14003c650
mov ebx, dword [rbp + 0x18]
mov eax, dword [rbp - 0x50]
mov r12d, dword [rbp - 0x60]
cmp ebx, eax
jle 0x14003f1d9
test r12b, r12b
je 0x14003f1d9
sub ebx, eax
add ebx, dword [r14 + 0x18]
mov ecx, dword [r14 + 0x1c]
cmp ebx, ecx
jle 0x14003f1d5
test ecx, ecx
je 0x14003f1c0
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003f1c5
mov rbx, qword [rbp + 0x10]
lea rdi, [rbx + rcx]
xor eax, eax
mov esi, eax
test rdi, rdi
je 0x14003f1a1
cmp rbx, rdi
jae 0x14003f13e
cmp byte [rbx], 0
je 0x14003f13e
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x5c]
call fcn.140004980
movsxd rcx, eax
add rbx, rcx
inc esi
jmp 0x14003f197
mov eax, 8
mov edx, ebx
cmp eax, ebx
cmovg edx, eax
lea rcx, [r14 + 0x18]
call fcn.14001e120
mov dword [r14 + 0x18], ebx
mov rdi, qword [rbp + 0x10]
mov r15, qword [r14 + 0x20]
mov rbx, r15
movsxd rsi, dword [r14 + 0x18]
dec rsi
lea rsi, [r15 + rsi*2]
cmp r15, rsi
jae 0x14003f21e
cmp byte [rdi], 0
je 0x14003f21e
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140004980
movsxd rcx, eax
add rdi, rcx
movzx eax, word [rbp - 0x50]
mov word [rbx], ax
add rbx, 2
cmp rbx, rsi
jb 0x14003f1f4
xor eax, eax
mov word [rbx], ax
sub rbx, r15
sar rbx, 1
mov dword [r14 + 0xc], ebx
mov eax, dword [rbp + 0x18]
mov dword [r14 + 0x10], eax
mov dword [r14 + 0xe80], 0xbe99999a
jmp 0x14003f245
mov r12d, dword [rbp - 0x60]
mov r8d, dword [rsp + 0x64]
mov r15, qword [rsp + 0x70]
test r8b, r8b
jne 0x14003ee2d
mov r9, qword [r14 + 0x30]
mov rax, r9
mov r8, r15
sub r8, r9
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003f283
inc rax
test ecx, ecx
jne 0x14003f270
mov r8d, dword [rsp + 0x64]
test edx, edx
je 0x14003ee2d
mov r11, r9
mov qword [rbp - 0x70], r9
mov r10d, dword [r14 + 0x10]
mov byte [rsp + 0x52], 1
jmp 0x14003ee36
mov r11, r10
mov r12d, dword [rbp - 0x60]
mov r15, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x64]
jmp 0x14003ee36
mov edx, dword [rax + 0x4978]
mov ecx, dword [rax + 0x4098]
cmp ecx, edx
jne 0x14003f33d
test ecx, ecx
je 0x14003f33d
cmp dword [rax + 0x406c], edx
je 0x14003f33d
cmp byte [rax + 0x409d], 0
jne 0x14003f2f2
cmp dword [rax + 0x406c], 0
jne 0x14003f33d
cmp byte [rax + 0x407c], 0
je 0x14003f33d
test r8b, r8b
jne 0x14003f33d
mov r9, qword [r13 + 0x5d28]
mov rax, r9
mov r8, r15
sub r8, r9
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003f323
inc rax
test ecx, ecx
jne 0x14003f310
test edx, edx
je 0x14003f33d
mov r11, r9
mov qword [rbp - 0x70], r9
mov r10d, dword [r13 + 0x5d20]
dec r10d
mov byte [rsp + 0x52], 1
xor esi, esi
mov dword [r13 + 0x5d18], esi
jmp 0x14003f34a
xor esi, esi
test r11, r11
je 0x14003f3e1
test r12b, r12b
je 0x14003f3b4
mov qword [rbp + 0x48], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x30], r13
mov dword [rbp + 0x38], 0x40000
mov eax, dword [rbp - 0x80]
mov dword [rbp + 0x3c], eax
mov qword [rbp + 0x50], r15
mov dword [rbp + 0x58], r10d
lea eax, [r10 + 1]
cmp dword [rbp - 0x54], eax
cmovge eax, dword [rbp - 0x54]
mov dword [rbp + 0x5c], eax
mov qword [rbp + 0x40], rsi
lea rcx, [rbp + 0x30]
call rsi
mov r15, qword [rbp + 0x50]
mov qword [rsp + 0x70], r15
mov ecx, dword [rbp + 0x5c]
lea r10d, [rcx - 1]
cmp dword [rbp + 0x58], r10d
cmovl r10d, dword [rbp + 0x58]
mov r11, qword [rbp - 0x70]
jmp 0x14003f3b7
mov ecx, dword [rbp - 0x54]
lea eax, [r10 + 1]
cmp eax, ecx
cmovl ecx, eax
movsxd rbx, ecx
cmp rbx, 1
jb 0x14003f3e1
jbe 0x14003f3db
lea r8, [rbx - 1]
mov rdx, r11
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbx + r15 - 1], 0
cmp dword [r13 + 0x406c], edi
jne 0x14003f3fe
cmp byte [rsp + 0x59], 0
je 0x14003f4d5
xor edx, edx
xor ecx, ecx
call fcn.140008660
mov eax, 1
mov r11d, dword [rsp + 0x60]
test r11b, r11b
jne 0x14003f4e6
mov r8d, eax
mov edx, edi
lea rcx, [rbp - 0x28]
call fcn.140006480
mov rax, qword [0x1400629d0]
movups xmm0, xmmword [rax + 0x3a44]
movups xmmword [rbp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x38f0]
movss dword [rbp + 0x7c], xmm0
lea rcx, [rbp + 0x70]
call fcn.140004bf0
mov r8d, eax
movss xmm0, dword [r13 + 0x3934]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov rdx, qword [rbp - 0x20]
movaps xmm0, xmm8
unpcklps xmm0, xmm12
movq rcx, xmm0
call fcn.140006190
movaps xmm15, xmm10
addss xmm15, xmm8
movss dword [rbp + 0x98], xmm15
movaps xmm14, xmm12
addss xmm14, xmm11
movss dword [rbp + 0x9c], xmm14
movaps xmm0, xmm8
addss xmm0, dword [r13 + 0x392c]
movss dword [rbp - 0x70], xmm0
movaps xmm1, xmm12
addss xmm1, dword [r13 + 0x3930]
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x60], xmm15
movss dword [rbp - 0x54], xmm14
mov r11d, dword [rsp + 0x60]
mov r8, qword [rbp - 0x48]
jmp 0x14003f52c
mov eax, 1
mov dword [r13 + 0x6180], eax
jmp 0x14003f403
movaps xmm2, xmm10
addss xmm2, xmm8
movss dword [rbp - 0x60], xmm2
movaps xmm15, xmm2
movss dword [rbp + 0x98], xmm2
movaps xmm1, xmm12
addss xmm1, xmm11
movss dword [rbp - 0x54], xmm1
movaps xmm14, xmm1
movss dword [rbp + 0x9c], xmm1
mov r8, qword [rbp - 0x48]
movsd xmm0, qword [r8 + 0x110]
movsd qword [rbp - 0x70], xmm0
lea rax, [rbp - 0x70]
movss dword [rbp + 0x94], xmm12
movss dword [rbp + 0x90], xmm8
movsd xmm0, qword [rax]
movsd qword [rbp + 0x88], xmm0
xorps xmm5, xmm5
movss dword [rsp + 0x6c], xmm5
xorps xmm7, xmm7
movss dword [rsp + 0x5c], xmm7
cmp byte [rbp - 0x7a], 0
je 0x14003f56f
mov r15, qword [r14 + 0x30]
mov qword [rsp + 0x70], r15
movzx eax, byte [rsp + 0x50]
mov r12d, dword [rsp + 0x54]
test al, al
jne 0x14003f76f
test r12b, r12b
jne 0x14003f76f
test r11b, r11b
je 0x14003f5e1
mov ecx, esi
movzx edx, byte [r15]
lea rsi, [r15 + 1]
test dl, dl
je 0x14003f5b5
nop dword [rax]
lea eax, [rcx + 1]
cmp dl, 0xa
cmovne eax, ecx
mov ecx, eax
movzx edx, byte [rsi]
inc rsi
test dl, dl
jne 0x14003f5a0
dec rsi
movzx eax, byte [rsi]
cmp al, 0xa
je 0x14003f5c5
cmp al, 0xd
je 0x14003f5c5
inc ecx
movaps xmm6, xmm10
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
mulss xmm7, dword [r13 + 0x3d40]
movss dword [rsp + 0x5c], xmm7
jmp 0x14003f625
cmp dword [r13 + 0x406c], edi
jne 0x14003f5f0
movsxd rsi, dword [r14 + 0x10]
jmp 0x14003f60a
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp byte [r15 + rsi], 0
jne 0x14003f600
add rsi, r15
mov rax, rsi
sub rax, r15
movss xmm6, dword [rsp + 0x6c]
cmp rax, 0x200000
jge 0x140040068
mov rax, qword [0x1400629d0]
movups xmm0, xmmword [rax + 0x39d4]
movups xmmword [rbp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x38f0]
movss dword [rbp + 0x7c], xmm0
lea rcx, [rbp + 0x70]
call fcn.140004bf0
mov r9d, eax
mov r8, qword [r8 + 0x2a8]
lea rdx, [rbp + 0x90]
test r11b, r11b
mov r14d, 0
cmovne rdx, r14
mov rcx, rsi
movss xmm2, dword [r13 + 0x3d40]
mov r10, qword [r13 + 0x3d38]
test eax, 0xff000000
je 0x14004006b
test rsi, rsi
jne 0x14003f6ac
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r15 + rcx], r14b
jne 0x14003f6a0
add rcx, r15
cmp r15, rcx
je 0x14004006b
test r10, r10
jne 0x14003f6c2
mov rax, qword [r8 + 0x38]
mov r10, qword [rax + 8]
xorps xmm9, xmm9
ucomiss xmm2, xmm9
jp 0x14003f6d7
jne 0x14003f6d7
mov rax, qword [r8 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r8 + 0x88]
movups xmmword [rbp - 0x28], xmm0
test rdx, rdx
je 0x14003f732
movss xmm1, dword [rdx]
movss xmm0, dword [rbp - 0x28]
comiss xmm0, xmm1
jae 0x14003f6fb
movss dword [rbp - 0x28], xmm1
movss xmm1, dword [rdx + 4]
movss xmm0, dword [rbp - 0x24]
comiss xmm0, xmm1
jae 0x14003f70f
movss dword [rbp - 0x24], xmm1
movss xmm0, dword [rdx + 8]
comiss xmm0, dword [rbp - 0x20]
ja 0x14003f71f
movss dword [rbp - 0x20], xmm0
movss xmm0, dword [rdx + 0xc]
comiss xmm0, dword [rbp - 0x1c]
ja 0x14003f72f
movss dword [rbp - 0x1c], xmm0
test rdx, rdx
setne al
mov byte [rsp + 0x48], al
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r15
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp + 0x88]
mov rdx, r8
mov rcx, r10
call fcn.14002f210
jmp 0x14004006f
movsxd rsi, dword [r14 + 0x10]
add rsi, r15
mov r15, qword [r14 + 0x20]
xorps xmm8, xmm8
xorps xmm6, xmm6
xor r10d, r10d
mov r9d, r10d
mov edi, r10d
mov r8d, 0xfffffc18
mov ebx, r8d
mov edx, r10d
test al, al
je 0x14003f7aa
movsxd rax, dword [r14 + 0x54]
lea r9, [r15 + rax*2]
lea edx, [r10 + 1]
lea r8d, [r10 - 1]
test r12b, r12b
je 0x14003f7ca
mov ecx, dword [r14 + 0x5c]
cmp dword [r14 + 0x58], ecx
cmovl ecx, dword [r14 + 0x58]
movsxd rax, ecx
lea rdi, [r15 + rax*2]
mov ebx, 0xffffffff
inc edx
movzx eax, r11b
add edx, eax
mov rax, r15
movzx ecx, word [r15]
test cx, cx
je 0x14003f81c
nop dword [rax]
cmp cx, 0xa
jne 0x14003f810
inc r10d
cmp r8d, 0xffffffff
jne 0x14003f7fd
cmp rax, r9
jb 0x14003f7fd
mov r8d, r10d
dec edx
test edx, edx
jle 0x14003f81c
cmp ebx, 0xffffffff
jne 0x14003f810
cmp rax, rdi
jb 0x14003f810
mov ebx, r10d
dec edx
test edx, edx
jle 0x14003f81c
add rax, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14003f7e0
inc r10d
mov r11d, r10d
cmp r8d, 0xffffffff
cmovne r11d, r8d
cmp ebx, 0xffffffff
cmove ebx, r10d
mov rdx, r9
cmp r9, r15
jbe 0x14003f852
nop dword [rax]
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x14003f852
mov rdx, rax
cmp rax, r15
ja 0x14003f840
mov r8, qword [r13 + 0x3d38]
movss xmm4, dword [r13 + 0x3d40]
movaps xmm3, xmm4
divss xmm3, dword [r8 + 0x14]
movaps xmm1, xmm5
movaps xmm12, xmm5
cmp rdx, r9
jae 0x14003f8c0
nop word [rax + rax]
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x14003f897
maxss xmm1, xmm12
movaps xmm12, xmm5
jmp 0x14003f8bb
cmp ecx, 0xd
je 0x14003f8bb
cmp ecx, dword [r8]
jge 0x14003f8ac
mov rax, qword [r8 + 8]
movss xmm0, dword [rax + rcx*4]
jmp 0x14003f8b2
movss xmm0, dword [r8 + 0x10]
mulss xmm0, xmm3
addss xmm12, xmm0
cmp rdx, r9
jb 0x14003f880
maxss xmm12, xmm1
movd xmm13, r11d
cvtdq2ps xmm13, xmm13
mulss xmm13, xmm4
test ebx, ebx
js 0x14003f953
mov rdx, rdi
cmp rdi, r15
jbe 0x14003f8f2
nop
lea rax, [rdx - 2]
cmp word [rax], 0xa
je 0x14003f8f2
mov rdx, rax
cmp rax, r15
ja 0x14003f8e0
movaps xmm2, xmm5
movaps xmm8, xmm5
cmp rdx, rdi
jae 0x14003f943
nop
movzx ecx, word [rdx]
add rdx, 2
cmp ecx, 0xa
jne 0x14003f917
maxss xmm2, xmm8
movaps xmm8, xmm5
jmp 0x14003f93e
cmp ecx, 0xd
je 0x14003f93e
cmp ecx, dword [r8]
jge 0x14003f92c
mov rax, qword [r8 + 8]
movss xmm1, dword [rax + rcx*4]
jmp 0x14003f932
movss xmm1, dword [r8 + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm8, xmm0
cmp rdx, rdi
jb 0x14003f900
movd xmm6, ebx
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm4
maxss xmm8, xmm2
mov r11d, dword [rsp + 0x60]
test r11b, r11b
je 0x14003f976
movss dword [rsp + 0x6c], xmm10
movd xmm7, r10d
cvtdq2ps xmm7, xmm7
mulss xmm7, xmm4
movss dword [rsp + 0x5c], xmm7
movzx r8d, byte [rsp + 0x50]
test r8b, r8b
je 0x14003faab
cmp byte [r14 + 0xe84], 0
je 0x14003faab
test dword [rbp - 0x80], 0x1000
jne 0x14003f9ef
movaps xmm0, xmm10
mulss xmm0, dword [0x140058a28]
subss xmm10, dword [r13 + 0x392c]
movss xmm2, dword [r14 + 0x50]
movaps xmm1, xmm12
comiss xmm2, xmm12
jbe 0x14003f9ce
subss xmm1, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm1
jmp 0x14003f9dc
subss xmm1, xmm10
comiss xmm1, xmm2
jb 0x14003f9f5
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r14 + 0x50], xmm0
jmp 0x14003f9f5
xor eax, eax
mov dword [r14 + 0x50], eax
test r11b, r11b
je 0x14003faa3
movaps xmm0, xmm13
subss xmm0, dword [r13 + 0x3d40]
comiss xmm9, xmm0
jbe 0x14003fa1c
movaps xmm9, xmm5
maxss xmm9, xmm0
jmp 0x14003fa4d
movss xmm2, dword [r13 + 0x3930]
addss xmm2, xmm2
movaps xmm1, xmm11
subss xmm1, xmm2
movaps xmm0, xmm13
subss xmm0, xmm1
comiss xmm0, xmm9
jb 0x14003fa4d
movaps xmm9, xmm13
subss xmm9, xmm11
addss xmm9, xmm2
movss xmm2, dword [r13 + 0x3930]
comiss xmm5, xmm9
jbe 0x14003fa61
movaps xmm2, xmm5
jmp 0x14003fa77
addss xmm2, xmm2
addss xmm2, xmm7
subss xmm2, xmm11
maxss xmm2, xmm5
minss xmm2, xmm9
mov rax, qword [rbp - 0x48]
movss xmm0, dword [rax + 0x90]
subss xmm0, xmm2
movss xmm1, dword [rbp + 0x8c]
addss xmm1, xmm0
movss dword [rbp + 0x8c], xmm1
movss dword [rax + 0x90], xmm2
mov byte [r14 + 0xe84], 0
movss xmm11, dword [r14 + 0x50]
test r12b, r12b
je 0x14003fd2f
mov edx, dword [r14 + 0x5c]
mov ecx, dword [r14 + 0x58]
mov eax, edx
cmp ecx, edx
cmovl eax, ecx
cdqe
lea rbx, [r15 + rax*2]
cmovge edx, ecx
movsxd rax, edx
lea rdi, [r15 + rax*2]
test r8b, r8b
je 0x14003fae8
movss xmm1, dword [0x140058a7c]
jmp 0x14003faf0
movss xmm1, dword [0x140058a44]
mov rax, qword [0x1400629d0]
movups xmm0, xmmword [rax + 0x3cc4]
movups xmmword [rbp + 0x70], xmm0
mulss xmm1, dword [rax + 0x38f0]
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm1
movss dword [rbp + 0x7c], xmm0
lea rcx, [rbp + 0x70]
call fcn.140004bf0
mov r15d, eax
test r11b, r11b
je 0x14003fb38
xorps xmm9, xmm9
movss dword [rbp - 0x38], xmm9
xorps xmm10, xmm10
jmp 0x14003fb41
movss xmm10, dword [0x140058a90]
movss xmm9, dword [rbp + 0x88]
addss xmm8, xmm9
subss xmm8, xmm11
movss xmm7, dword [rbp + 0x8c]
addss xmm7, xmm6
xorps xmm6, xmm6
subss xmm7, xmm6
cmp rbx, rdi
jae 0x14003fd3b
movss xmm1, dword [rbp - 0x5c]
nop word [rax + rax]
movss xmm5, dword [r13 + 0x3d40]
movaps xmm0, xmm5
addss xmm0, xmm14
comiss xmm7, xmm0
ja 0x14003fd28
comiss xmm1, xmm7
jbe 0x14003fbcb
cmp rbx, rdi
jae 0x14003fd0d
nop dword [rax + rax]
movzx eax, word [rbx]
add rbx, 2
cmp ax, 0xa
je 0x14003fd0d
cmp rbx, rdi
jb 0x14003fbb0
jmp 0x14003fd0d
mov rdx, qword [r13 + 0x3d38]
movaps xmm3, xmm5
divss xmm3, dword [rdx + 0x14]
movaps xmm4, xmm6
movaps xmm2, xmm6
cmp rbx, rdi
jae 0x14003fc2c
movzx ecx, word [rbx]
add rbx, 2
cmp ecx, 0xa
je 0x14003fc22
cmp ecx, 0xd
je 0x14003fbe0
cmp ecx, dword [rdx]
jge 0x14003fc10
mov rax, qword [rdx + 8]
movss xmm1, dword [rax + rcx*4]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
jmp 0x14003fbe0
movss xmm1, dword [rdx + 0x10]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
jmp 0x14003fbe0
movaps xmm4, xmm6
maxss xmm4, xmm2
movaps xmm2, xmm6
maxss xmm2, xmm4
comiss xmm6, xmm2
jb 0x14003fc60
cmp dword [rdx], 0x20
jle 0x14003fc48
mov rax, qword [rdx + 8]
movss xmm0, dword [rax + 0x80]
jmp 0x14003fc4d
movss xmm0, dword [rdx + 0x10]
mulss xmm0, dword [0x140058a3c]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm2, xmm8
movaps xmm0, xmm10
addss xmm0, xmm7
addss xmm8, xmm6
movss xmm1, dword [rbp - 0x38]
subss xmm1, xmm5
addss xmm1, xmm7
movss xmm3, dword [rbp - 0x3c]
maxss xmm8, xmm3
maxss xmm1, dword [rbp - 0x5c]
movss dword [rbp + 0x70], xmm8
movss dword [rbp + 0x74], xmm1
minss xmm2, xmm15
minss xmm0, xmm14
movss dword [rbp + 0x78], xmm2
movss dword [rbp + 0x7c], xmm0
comiss xmm0, dword [rbp - 0x5c]
jbe 0x14003fd08
comiss xmm14, xmm1
jbe 0x14003fd08
comiss xmm2, xmm3
jbe 0x14003fd08
comiss xmm15, xmm8
jbe 0x14003fd08
xor eax, eax
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm6
mov r9d, r15d
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x70]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax + 0x2a8]
call fcn.14002a4f0
movss xmm0, dword [rbp - 0x60]
movss dword [rbp - 0x60], xmm0
movss xmm0, dword [rbp - 0x54]
movss dword [rbp - 0x54], xmm0
movss xmm9, dword [rbp + 0x88]
movss xmm1, dword [rbp - 0x5c]
movaps xmm8, xmm9
subss xmm8, xmm11
addss xmm7, dword [r13 + 0x3d40]
cmp rbx, rdi
jb 0x14003fb80
mov r11d, dword [rsp + 0x60]
jmp 0x14003fd3b
movss xmm9, dword [rbp + 0x88]
xorps xmm6, xmm6
mov r15, qword [rsp + 0x70]
test r11b, r11b
jne 0x14003fd57
mov rax, rsi
sub rax, r15
cmp rax, 0x200000
jge 0x14003feb3
mov rax, qword [0x1400629d0]
movups xmm0, xmmword [rax + 0x39d4]
movups xmmword [rbp + 0x70], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x38f0]
movss dword [rbp + 0x7c], xmm0
lea rcx, [rbp + 0x70]
call fcn.140004bf0
mov r9d, eax
mov rbx, qword [rbp - 0x48]
mov r8, qword [rbx + 0x2a8]
mov rcx, rsi
subss xmm9, xmm11
movss dword [rbp - 0x70], xmm9
movss xmm0, dword [rbp + 0x8c]
subss xmm0, xmm6
movss dword [rbp - 0x6c], xmm0
movss xmm2, dword [r13 + 0x3d40]
mov r10, qword [r13 + 0x3d38]
lea rdx, [rbp + 0x90]
test r11b, r11b
mov eax, 0
cmovne rdx, rax
test r9d, 0xff000000
je 0x14003feb7
test rsi, rsi
jne 0x14003fdfc
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r15 + rcx], al
jne 0x14003fdf0
add rcx, r15
cmp r15, rcx
je 0x14003feb7
test r10, r10
jne 0x14003fe12
mov rax, qword [r8 + 0x38]
mov r10, qword [rax + 8]
ucomiss xmm2, xmm6
jp 0x14003fe22
jne 0x14003fe22
mov rax, qword [r8 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r8 + 0x88]
movups xmmword [rbp - 0x28], xmm0
test rdx, rdx
je 0x14003fe7d
movss xmm1, dword [rdx]
movss xmm0, dword [rbp - 0x28]
comiss xmm0, xmm1
jae 0x14003fe46
movss dword [rbp - 0x28], xmm1
movss xmm1, dword [rdx + 4]
movss xmm0, dword [rbp - 0x24]
comiss xmm0, xmm1
jae 0x14003fe5a
movss dword [rbp - 0x24], xmm1
movss xmm0, dword [rdx + 8]
comiss xmm0, dword [rbp - 0x20]
ja 0x14003fe6a
movss dword [rbp - 0x20], xmm0
movss xmm0, dword [rdx + 0xc]
comiss xmm0, dword [rbp - 0x1c]
ja 0x14003fe7a
movss dword [rbp - 0x1c], xmm0
test rdx, rdx
setne al
mov byte [rsp + 0x48], al
movss dword [rsp + 0x40], xmm6
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r15
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rbp - 0x70]
mov rdx, r8
mov rcx, r10
call fcn.14002f210
jmp 0x14003feb7
mov rbx, qword [rbp - 0x48]
cmp byte [rsp + 0x50], 0
je 0x140040053
movss xmm0, dword [r13 + 0x18]
addss xmm0, dword [r14 + 0xe80]
movss dword [r14 + 0xe80], xmm0
cmp byte [r13 + 0x5b], 0
je 0x14003ff04
comiss xmm6, xmm0
jae 0x14003ff04
movss xmm1, dword [0x140058a84]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x140058a60]
comiss xmm1, xmm0
jae 0x14003ff04
xor cl, cl
jmp 0x14003ff06
mov cl, 1
addss xmm12, dword [rbp + 0x88]
subss xmm12, xmm11
cvttss2si eax, xmm12
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss xmm0, dword [rbp + 0x8c]
addss xmm0, xmm13
xorps xmm9, xmm9
subss xmm0, xmm9
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movss dword [rbp + 0x70], xmm6
movaps xmm0, xmm7
subss xmm0, dword [r13 + 0x3d40]
addss xmm0, dword [0x140058a3c]
movss dword [rbp + 0x74], xmm0
movaps xmm2, xmm6
movss xmm8, dword [0x140058a7c]
addss xmm2, xmm8
movss dword [rbp + 0x78], xmm2
movaps xmm1, xmm7
subss xmm1, dword [0x140058a8c]
movss dword [rbp + 0x7c], xmm1
movss xmm12, dword [rbp - 0x5c]
test cl, cl
je 0x140040003
comiss xmm1, xmm12
jbe 0x140040003
movss xmm3, dword [rbp - 0x54]
comiss xmm3, xmm0
jbe 0x140040003
comiss xmm2, dword [rbp - 0x3c]
jbe 0x140040003
movss xmm0, dword [rbp - 0x60]
comiss xmm0, xmm6
jbe 0x140040003
mov rax, qword [0x1400629d0]
movups xmm0, xmmword [rax + 0x39d4]
movups xmmword [rbp - 0x28], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x38f0]
movss dword [rbp - 0x1c], xmm0
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm1
lea rcx, [rbp - 0x28]
call fcn.140004bf0
mov r9d, eax
movss dword [rsp + 0x20], xmm8
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x70]
mov rcx, qword [rbx + 0x2a8]
call fcn.14002a280
movss xmm13, dword [rbp - 0x40]
mov edi, dword [rbp - 0x78]
xor r14d, r14d
cmp byte [rsp + 0x64], r14b
jne 0x14004004b
mov byte [r13 + 0x5ec8], 1
subss xmm6, xmm8
movss xmm0, dword [r13 + 0x3d40]
subss xmm7, xmm0
movss dword [r13 + 0x5ecc], xmm6
movss dword [r13 + 0x5ed0], xmm7
movss dword [r13 + 0x5ed4], xmm0
movss xmm6, dword [rsp + 0x6c]
jmp 0x140040078
movss xmm6, dword [rsp + 0x6c]
movss xmm12, dword [rbp - 0x5c]
movss xmm13, dword [rbp - 0x40]
mov edi, dword [rbp - 0x78]
xor r14d, r14d
xorps xmm9, xmm9
movss xmm8, dword [0x140058a7c]
mov ebx, dword [rbp - 0x4c]
test bl, bl
je 0x140040084
call fcn.140011910
cmp byte [rsp + 0x60], 0
je 0x1400400fe
movss dword [rbp - 0x70], xmm6
movss xmm0, dword [rsp + 0x5c]
addss xmm0, dword [r13 + 0x3930]
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbp - 0x70]
call fcn.1400384a0
or dword [r13 + 0x495c], 0x401
call fcn.14000bf40
mov eax, dword [r13 + 0x4980]
and eax, 0x80
mov ebx, dword [rbp + 0xa8]
or ebx, eax
call fcn.140014ce0
cmp dword [r13 + 0x4978], 0
jne 0x1400400fb
mov dword [r13 + 0x4978], edi
mov eax, dword [rbp + 0xa4]
mov dword [r13 + 0x497c], eax
mov dword [r13 + 0x4980], ebx
mov ebx, dword [rbp - 0x4c]
cmp byte [r13 + 0x5f88], 0
je 0x140040285
test bl, bl
jne 0x140040285
mov rdi, qword [0x1400629d0]
mov rbx, qword [rdi + 0x4008]
mov qword [rdi + 0x5fb0], r14
mov qword [rdi + 0x5fa8], r14
test rsi, rsi
jne 0x14004015d
mov rsi, r15
cmp r15, 0xffffffffffffffff
jae 0x14004015d
nop
movzx ecx, byte [rsi]
test cl, cl
je 0x14004015d
lea rax, [rsi + 1]
cmp cl, 0x23
jne 0x140040154
cmp byte [rax], cl
je 0x14004015d
mov rsi, rax
cmp rax, 0xffffffffffffffff
jb 0x140040140
movss xmm0, dword [rdi + 0x3930]
addss xmm0, dword [rdi + 0x5fb8]
addss xmm0, xmm8
movss xmm1, dword [rbp + 0x8c]
movss dword [rdi + 0x5fb8], xmm1
comiss xmm1, xmm0
jbe 0x14004019a
lea rcx, [0x14005180c]
call fcn.14001b890
mov byte [rdi + 0x5fbc], 1
lea r8, [0x140057f09]
lea rdx, [0x140057f08]
lea rcx, [rbp + 0x88]
call fcn.14001b8d0
mov eax, dword [rbx + 0x198]
mov ecx, dword [rdi + 0x5fc0]
cmp ecx, eax
jle 0x1400401cc
mov dword [rdi + 0x5fc0], eax
mov ecx, eax
mov r14d, dword [rbx + 0x198]
sub r14d, ecx
mov r13d, 1
nop dword [rax]
mov r8, rsi
sub r8, r15
mov edx, 0xa
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rsi
test rax, rax
cmovne rbx, rax
cmp r15, rbx
jne 0x140040207
cmp rbx, rsi
je 0x140040266
mov r9d, ebx
sub r9d, r15d
cmp byte [rdi + 0x5fbc], 0
lea edx, [r14*4]
jne 0x140040221
mov edx, r13d
mov qword [rsp + 0x20], r15
lea r8, [0x1400509be]
lea rcx, str._s_.s
call fcn.14001b890
mov byte [rdi + 0x5fbc], 0
cmp byte [rbx], 0xa
jne 0x140040258
lea rcx, [0x14005180c]
call fcn.14001b890
mov byte [rdi + 0x5fbc], r13b
cmp rbx, rsi
je 0x140040266
lea r15, [rbx + 1]
jmp 0x1400401e0
lea r8, [0x140057f05]
lea rdx, [0x140057f04]
lea rcx, [rbp + 0x88]
call fcn.14001b8d0
mov r13, qword [rsp + 0x78]
movss xmm0, dword [rbp - 0x34]
comiss xmm0, xmm9
jbe 0x1400402be
addss xmm13, dword [r13 + 0x3944]
addss xmm12, dword [r13 + 0x3930]
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rbp - 0x30]
movaps xmm0, xmm13
unpcklps xmm0, xmm12
movq rcx, xmm0
call fcn.140005530
movzx r9d, byte [rsp + 0x52]
mov r8d, dword [rbp - 0x80]
test r9b, r9b
je 0x140040304
bt r8d, 0x1b
jb 0x140040304
mov rax, qword [0x1400629d0]
cmp word [rax + 0x5e36], 0
jg 0x140040304
mov ecx, dword [rax + 0x406c]
cmp ecx, dword [rbp - 0x78]
je 0x1400402f4
test ecx, ecx
jne 0x1400402fd
mov word [rax + 0x407c], 0x101
or dword [rax + 0x4980], 4
test r8b, 0x20
mov eax, r9d
movzx ecx, byte [rsp + 0x5a]
cmovne eax, ecx
jmp 0x14003ce7c