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

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [r11 - 0xd8]
sub rsp, 0x1a0
movaps xmmword [r11 - 0x58], xmm7
mov rax, qword [0x14007a280]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov r14, qword [0x14007a3c8]
mov r15d, r8d
mov qword [r11 + 0x20], r12
mov rdi, rcx
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x70], rcx
call fcn.140009040
test rax, rax
mov qword [rsp + 0x70], rax
mov rsi, rax
mov qword [rsp + 0x60], rax
sete cl
mov rbx, rax
mov byte [rsp + 0x40], cl
test rax, rax
jne 0x140003f41
mov edx, r15d
mov rcx, rdi
call fcn.140007830
mov rsi, rax
mov qword [rsp + 0x60], rax
mov rbx, rax
mov ecx, r15d
and ecx, 0xc0200
cmp ecx, 0xc0200
jne 0x140003f56
or r15d, 6
cmp dword [r14 + 0x1bf0], 0
mov r12d, dword [r14 + 0x1ba0]
mov r11d, dword [rbx + 0x230]
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x54], r11d
jne 0x140003f86
cmp byte [r14 + 0x1bad], 0
je 0x140003f86
mov al, 1
jmp 0x140003f88
xor al, al
mov byte [rsi + 0x96], al
lea eax, [r12 - 1]
cmp dword [rbx + 0x230], eax
setl r13b
mov byte [rsp + 0x41], r13b
bt r15d, 0x1a
jae 0x140003fdd
mov edx, dword [r14 + 0x1df8]
lea rcx, [r14 + 0x1de8]
call fcn.140003740
mov r11d, dword [rsp + 0x54]
cmp rsi, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rsi + 0xa4], eax
setne al
or cl, al
or r13b, cl
mov byte [rsp + 0x41], r13b
mov byte [rsi + 0x94], r13b
test r13b, r13b
je 0x140003ff9
mov r8b, 1
mov edx, 8
mov rcx, rsi
call fcn.140012a10
xor r13d, r13d
cmp r11d, r12d
je 0x140004041
mov dword [rsi + 0xc], r15d
mov dword [rbx + 0x230], r12d
movsd xmm0, qword [r14 + 0x1b98]
cvtpd2ps xmm0, xmm0
movss dword [rsi + 0x234], xmm0
mov word [rsi + 0x9c], r13w
movzx eax, word [r14 + 0x1c10]
inc dword [r14 + 0x1c10]
mov word [rsi + 0x9e], ax
jmp 0x140004045
mov r15d, dword [rsi + 0xc]
lea rcx, [r14 + 0x1bf0]
call fcn.140015570
test al, al
je 0x14000405a
mov rax, r13
jmp 0x140004069
lea rcx, [r14 + 0x1bf0]
call fcn.140015340
mov rax, qword [rax]
cmp dword [rsp + 0x54], r12d
je 0x14000407d
test r15d, 0x5000000
cmovne r13, rax
jmp 0x140004084
mov r13, qword [rsi + 0x338]
lea rcx, [rsi + 0xc8]
cmp dword [rcx], 0
jne 0x140004099
lea rdx, [rsi + 8]
call fcn.1400157d0
lea rcx, [rbp - 0x50]
mov qword [r14 + 0x1c20], rsi
call fcn.140002fb0
movups xmm0, xmmword [r14 + 0x1cd8]
mov eax, dword [r14 + 0x1d10]
lea rcx, [rbp - 0xc]
movups xmm1, xmmword [r14 + 0x1ce8]
mov qword [rbp - 0x50], rsi
movups xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x10], eax
movups xmm0, xmmword [r14 + 0x1cf8]
movups xmmword [rbp - 0x38], xmm1
movsd xmm1, qword [r14 + 0x1d08]
movups xmmword [rbp - 0x28], xmm0
movsd qword [rbp - 0x18], xmm1
call fcn.140012860
lea rdx, [rbp - 0x50]
lea rcx, [r14 + 0x1bf0]
call fcn.140015a00
mov qword [r14 + 0x1c20], 0
bt r15d, 0x1a
jae 0x140004145
mov edx, dword [r14 + 0x1df8]
lea rcx, [r14 + 0x1de8]
call fcn.140003740
mov rdx, rax
lea rcx, [r14 + 0x1df8]
mov rbx, rax
mov qword [rax + 8], rsi
call fcn.1400158d0
mov eax, dword [rbx]
mov dword [rsi + 0xa4], eax
cmp dword [rsp + 0x54], r12d
je 0x14000415a
mov r8, r13
mov edx, r15d
mov rcx, rsi
call fcn.140014b40
xor r12b, r12b
xor bl, bl
xor dil, dil
test byte [r14 + 0x1d18], 1
je 0x1400041e9
movsx eax, byte [rsi + 0xb4]
mov r8d, dword [r14 + 0x1d1c]
test r8d, eax
setne r12b
test r8d, eax
je 0x1400041da
lea rcx, [r14 + 0x1d30]
call fcn.14000aa80
comiss xmm0, dword [0x1400540a4]
jbe 0x1400041da
movsd xmm0, qword [r14 + 0x1d28]
movsd qword [rsi + 0xb8], xmm0
movsd xmm1, qword [rcx]
movsd qword [rsi + 0xc0], xmm1
movzx ecx, byte [rsi + 0xb4]
mov eax, dword [rsi + 0xb4]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rsi + 0xb4], ecx
jmp 0x1400041e9
lea rdx, [r14 + 0x1d28]
mov rcx, rsi
call fcn.140012a60
test byte [r14 + 0x1d18], 2
xorps xmm7, xmm7
je 0x140004237
movsx eax, byte [rsi + 0xb5]
mov r8d, dword [r14 + 0x1d20]
and eax, r8d
je 0x140004217
comiss xmm7, dword [r14 + 0x1d38]
jae 0x140004217
mov bl, 1
jmp 0x14000421b
test eax, eax
je 0x140004228
comiss xmm7, dword [r14 + 0x1d3c]
jae 0x140004228
mov dil, 1
lea rdx, [r14 + 0x1d38]
mov rcx, rsi
call fcn.140012b60
test byte [r14 + 0x1d18], 0x80
je 0x140004275
movss xmm0, dword [r14 + 0x1d48]
comiss xmm0, xmm7
jb 0x14000425b
movss dword [rsi + 0x6c], xmm0
mov dword [rsi + 0x74], 0
movss xmm0, dword [r14 + 0x1d4c]
comiss xmm0, xmm7
jb 0x140004275
movss dword [rsi + 0x70], xmm0
mov dword [rsi + 0x78], 0
test byte [r14 + 0x1d18], 4
je 0x14000428f
movsd xmm0, qword [r14 + 0x1d40]
movsd qword [rsi + 0x38], xmm0
jmp 0x1400042bc
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x68]
je 0x1400042bc
xorps xmm2, xmm2
lea rcx, [rsp + 0x48]
xorps xmm1, xmm1
call fcn.140003160
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x38], xmm0
movss dword [rsi + 0x3c], xmm1
test byte [r14 + 0x1d18], 8
je 0x1400042dd
mov r8d, dword [r14 + 0x1d24]
mov rcx, rsi
movzx edx, byte [r14 + 0x1d50]
call fcn.1400129c0
test byte [r14 + 0x1d18], 0x20
je 0x1400042ef
mov rcx, rsi
call fcn.1400092a0
cmp byte [rsi + 0x94], 0
je 0x140004308
xor r8d, r8d
mov edx, 8
mov rcx, rsi
call fcn.140012a10
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x68]
je 0x140005623
movss xmm1, dword [0x140054170]
lea rcx, [rbp + 0x10]
movaps xmmword [rsp + 0x190], xmm6
mov eax, r15d
and eax, 0x3000000
movaps xmmword [rsp + 0x170], xmm8
cmp qword [rbp - 0x78], 0
movaps xmm2, xmm1
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x150], xmm11
movss xmm11, dword [0x140054164]
mov dword [rsp + 0x50], eax
movaps xmm3, xmm11
setne al
mov byte [rsi + 0x8e], 1
mov byte [rsi + 0x97], al
movss dword [rsp + 0x20], xmm11
call fcn.1400031c0
mov rdx, rax
lea rcx, [rbp + 0x30]
call fcn.1400030a0
movups xmm0, xmmword [rbp + 0x30]
lea rcx, [rsi + 0xc8]
mov edx, 1
movups xmmword [rsi + 0x208], xmm0
call fcn.140015fd0
mov rcx, qword [rsi + 0x268]
call fcn.14001e110
mov dword [rsi + 0x180], 0xffffffff
cmp byte [rsi + 0x398], 0
je 0x1400043d1
mov rcx, rsi
call fcn.140009390
cmp qword [r14 + 0x1f90], 0
mov r9, qword [rsp + 0x70]
je 0x14000443f
test dword [rsi + 0xc], 0x80000
jne 0x14000443f
test r9, r9
je 0x14000443f
mov r10, qword [rbp - 0x70]
mov rcx, qword [rsi]
mov rax, r10
mov r9, rcx
sub r9, r10
nop
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x140004415
inc rax
test edx, edx
jne 0x140004400
test r8d, r8d
je 0x14000443a
movsxd rax, dword [rsi + 0x50]
lea rdx, [rsp + 0x48]
mov r8, r10
mov qword [rsp + 0x48], rax
call fcn.14000aca0
mov qword [rsi], rax
mov eax, dword [rsp + 0x48]
mov dword [rsi + 0x50], eax
mov r9, qword [rsp + 0x70]
movzx eax, byte [rsi + 0xb1]
lea r8, [rsi + 0x30]
lea rdx, [rsi + 0x28]
mov byte [rsp + 0x43], al
mov rcx, rsi
call fcn.1400067e0
movzx eax, byte [rsi + 0xb0]
test al, al
jle 0x14000446d
dec al
mov byte [rsi + 0xb0], al
movzx eax, byte [rsi + 0xb1]
test al, al
jle 0x140004480
dec al
mov byte [rsi + 0xb1], al
movzx eax, byte [rsi + 0xb2]
test al, al
jle 0x140004493
dec al
mov byte [rsi + 0xb2], al
test r9, r9
jne 0x1400044a8
test bl, bl
je 0x1400044a1
test dil, dil
jne 0x1400044a8
mov byte [rsi + 0xb1], 1
cmp byte [rsp + 0x41], 0
je 0x140004509
test r15d, 0x6000000
je 0x140004509
mov byte [rsi + 0xb1], 1
test r15b, 0x40
je 0x140004509
xor eax, eax
test bl, bl
jne 0x1400044d1
mov dword [rsi + 0x20], eax
mov dword [rsi + 0x18], eax
test dil, dil
jne 0x1400044dc
mov dword [rsi + 0x24], eax
mov dword [rsi + 0x1c], eax
movaps xmm2, xmm7
lea rcx, [rsp + 0x48]
movaps xmm1, xmm7
call fcn.140003160
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x30], xmm0
movss dword [rsi + 0x34], xmm1
movss dword [rsi + 0x28], xmm0
movss dword [rsi + 0x2c], xmm1
mov rcx, rsi
call fcn.140012420
mov ecx, r15d
and ecx, 0x1000000
je 0x140004528
mov eax, dword [r14 + 0x15a0]
mov dword [rsi + 0x4c], eax
jmp 0x140004551
test r15d, 0x6000000
je 0x140004543
bt r15d, 0x1b
jb 0x140004543
movss xmm0, dword [r14 + 0x15a8]
jmp 0x14000454c
movss xmm0, dword [r14 + 0x1584]
movss dword [rsi + 0x4c], xmm0
movsd xmm0, qword [r14 + 0x1578]
movsd qword [rsi + 0x40], xmm0
test ecx, ecx
je 0x1400045a7
test r15d, 0x4010000
jne 0x1400045a7
ucomiss xmm7, dword [rsi + 0x4c]
jne 0x1400045a7
bt r15d, 0xa
jae 0x140004584
movss xmm2, dword [r14 + 0x157c]
jmp 0x140004587
movaps xmm2, xmm7
movaps xmm1, xmm7
lea rcx, [rsp + 0x48]
call fcn.140003160
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x40], xmm0
movss dword [rsi + 0x44], xmm1
movss xmm1, dword [r14 + 0x15bc]
movss xmm0, dword [rsi + 0x40]
call fcn.140001870
movss xmm1, dword [r14 + 0x1d7c]
call fcn.140001870
movss dword [rsi + 0x134], xmm0
mov eax, dword [r14 + 0x1d80]
mov dword [rsi + 0x138], eax
test r15b, 0x21
jne 0x140004655
lea rdx, [rbp + 0x10]
mov rcx, rsi
call fcn.140012fe0
cmp qword [r14 + 0x1c28], rsi
jne 0x140004632
cmp dword [r14 + 0x1c58], 0
jne 0x140004632
cmp dword [r14 + 0x1c5c], 0
jne 0x140004632
mov r8b, 1
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x10]
call fcn.14000b740
test al, al
je 0x140004632
cmp word [r14 + 0x42a], 2
jne 0x140004632
mov byte [rsi + 0x92], 1
cmp byte [rsi + 0x92], 0
je 0x14000465c
cmp byte [rsi + 0x91], 0
mov rcx, rsi
sete al
mov byte [rsi + 0x91], al
call fcn.14000c590
jmp 0x14000465c
mov byte [rsi + 0x91], 0
lea r8, [rsi + 0x30]
mov byte [rsi + 0x92], 0
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400065c0
movzx ecx, byte [rsp + 0x40]
test r15b, 0x40
je 0x1400046b8
cmp byte [rsi + 0x91], 0
jne 0x1400046b8
test bl, bl
jne 0x14000469c
movss xmm0, dword [rsp + 0x48]
movss dword [rsi + 0x20], xmm0
mov byte [rsp + 0x40], 1
test dil, dil
jne 0x140004759
movss xmm0, dword [rsp + 0x4c]
mov dil, 1
movss dword [rsi + 0x24], xmm0
jmp 0x14000475c
movzx eax, byte [rsi + 0xa8]
test al, al
jg 0x1400046d0
cmp byte [rsi + 0xa9], 0
jle 0x140004759
test bl, bl
jne 0x140004702
test al, al
jle 0x140004702
cmp byte [rsi + 0xab], bl
je 0x1400046f2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsi + 0x20]
call fcn.140001870
jmp 0x1400046f8
movss xmm0, dword [rsp + 0x48]
movss dword [rsi + 0x20], xmm0
mov byte [rsp + 0x40], 1
test dil, dil
jne 0x140004743
cmp byte [rsi + 0xa9], dil
jle 0x140004743
cmp byte [rsi + 0xab], dil
je 0x140004733
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsi + 0x24]
call fcn.140001870
movss dword [rsi + 0x24], xmm0
mov dil, 1
jmp 0x140004746
movss xmm0, dword [rsp + 0x4c]
mov dil, 1
movss dword [rsi + 0x24], xmm0
jmp 0x140004746
movzx edi, cl
cmp byte [rsi + 0x91], 0
jne 0x14000475c
mov rcx, rsi
call fcn.14000c590
jmp 0x14000475c
movzx edi, cl
lea r8, [rsi + 0x20]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140006900
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x20], xmm0
movss dword [rsi + 0x24], xmm1
cmp byte [rsi + 0x91], 0
je 0x1400047ab
bt r15d, 0x18
jb 0x1400047ab
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.140012fe0
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.14000a200
jmp 0x1400047bb
movsd xmm0, qword [rsi + 0x20]
lea rax, [rsp + 0x58]
movsd qword [rsp + 0x58], xmm0
movsd xmm0, qword [rax]
mov rcx, rsi
movsd qword [rsi + 0x18], xmm0
call fcn.14000c630
mov rcx, rsi
movaps xmm9, xmm0
call fcn.140012fa0
cmp byte [rsp + 0x41], 0
addss xmm9, xmm0
je 0x140004821
mov dword [rsi + 0xac], 0xffffffff
bt r15d, 0x1a
jae 0x140004821
bt r15d, 0x1b
jb 0x140004821
test r12b, r12b
jne 0x140004821
lea rcx, [r14 + 0x1df8]
call fcn.140015300
movss xmm0, dword [rax + 0x20]
movss xmm1, dword [rax + 0x24]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
bt r15d, 0x18
jae 0x14000486a
lea rcx, [r13 + 0x160]
movzx eax, word [rcx]
lea rdx, [rsp + 0x60]
mov word [rsi + 0x9c], ax
call fcn.140015820
mov eax, dword [rsp + 0x50]
bt r15d, 0x1a
jb 0x14000486e
test r12b, r12b
jne 0x14000486e
cmp eax, 0x3000000
je 0x14000486e
movsd xmm0, qword [r13 + 0xd8]
movsd qword [rsi + 0x10], xmm0
jmp 0x14000486e
mov eax, dword [rsp + 0x50]
ucomiss xmm11, dword [rsi + 0xb8]
je 0x1400048ba
cmp byte [rsi + 0xb1], 0
jne 0x1400048ba
lea r8, [rsi + 0xc0]
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x60]
call fcn.1400037d0
mov r8, rax
lea rdx, [rsi + 0xb8]
lea rcx, [rsp + 0x58]
call fcn.140003830
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.140012a60
jmp 0x140004907
bt r15d, 0x1c
jb 0x1400048e7
bt r15d, 0x1a
jae 0x1400048d4
test r12b, r12b
jne 0x1400048d4
cmp byte [rsp + 0x43], r12b
jg 0x1400048e7
bt r15d, 0x19
jae 0x140004907
test r12b, r12b
jne 0x140004907
cmp eax, 0x3000000
je 0x140004907
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.140008680
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
call fcn.140009bb0
lea rdx, [rbp + 0x20]
mov rcx, rax
mov rbx, rax
call fcn.140009b70
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.14000a510
lea r8, [r14 + 0x1620]
lea rdx, [r14 + 0x1618]
lea rcx, [rsp + 0x60]
call fcn.14000aae0
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x58]
call fcn.140003830
lea r8, [rsp + 0x60]
mov rbx, rax
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x78]
call fcn.140003860
mov r8, rbx
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.140003080
test r12b, r12b
jne 0x1400049bd
bt r15d, 0x18
jb 0x1400049bd
cmp byte [rsi + 0xa8], r12b
jg 0x1400049bd
cmp byte [rsi + 0xa9], r12b
jg 0x1400049bd
lea rcx, [rbp + 0x20]
call fcn.14000a450
comiss xmm0, xmm7
jbe 0x1400049bd
lea rcx, [rbp + 0x20]
call fcn.140009990
comiss xmm0, xmm7
jbe 0x1400049bd
lea rdx, [rbp + 0x10]
mov rcx, rsi
call fcn.140006cc0
lea rdx, [rsi + 0x10]
lea rcx, [rsp + 0x78]
call fcn.14000a850
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
bt r15d, 0x18
jae 0x1400049f0
movss xmm2, dword [r14 + 0x159c]
jmp 0x140004a13
mov eax, r15d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x140004a0a
movss xmm2, dword [r14 + 0x15a4]
jmp 0x140004a13
movss xmm2, dword [r14 + 0x1580]
xor r12b, r12b
movss dword [rsi + 0x48], xmm2
cmp byte [rsp + 0x41], r12b
je 0x140004a49
bt r15d, 0xc
jb 0x140004a49
bt r15d, 0x1a
jae 0x140004a35
mov r12b, 1
jmp 0x140004a49
test r15d, 0x3000000
movzx r12d, r12b
mov eax, 1
cmove r12d, eax
xorps xmm0, xmm0
mov dword [rsp + 0x58], 0xffffffff
movups xmmword [rbp + 0x30], xmm0
xor ecx, ecx
movss xmm0, dword [r14 + 0x1990]
cmp byte [r14 + 0xcc], cl
movaps xmm1, xmm0
mulss xmm1, dword [0x1400540c0]
setne cl
mulss xmm0, dword [0x140054100]
inc ecx
mov dword [rsp + 0x60], ecx
addss xmm1, xmm2
addss xmm1, dword [0x1400540fc]
call fcn.140001870
cmp byte [rsi + 0x91], 0
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
jne 0x140004ae1
lea rax, [rbp + 0x10]
mov r9d, ecx
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x58]
lea rax, [rbp + 0x30]
mov rcx, rsi
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.140014260
test al, al
je 0x140004ae1
mov dil, 1
movzx ebx, dil
jmp 0x140004ae6
movzx ebx, byte [rsp + 0x40]
movzx eax, byte [rsp + 0x58]
mov byte [rsi + 0x98], al
cmp byte [rsi + 0x91], 0
jne 0x140004c79
movss xmm2, dword [rsi + 0x24]
lea rcx, [rsp + 0x48]
movss xmm1, dword [rsi + 0x20]
subss xmm2, xmm9
call fcn.140003160
lea rcx, [rsi + 0x1c8]
lea rdx, [rsp + 0x78]
call fcn.14000a200
lea r8, [rsi + 0x84]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140003860
cmp qword [rsp + 0x70], 0
jne 0x140004b56
movaps xmm2, xmm7
lea rcx, [rsp + 0x78]
movaps xmm1, xmm7
call fcn.140003160
jmp 0x140004b7c
movss xmm2, dword [0x14005410c]
lea rdx, [rsi + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140003800
lea rdx, [rsi + 0x28]
mov r8, rax
lea rcx, [rbp + 0x10]
call fcn.140003860
movss xmm4, dword [rax]
movss xmm3, dword [rax + 4]
test bl, bl
je 0x140004b91
movss xmm0, dword [rsp + 0x48]
jmp 0x140004b97
movss xmm0, dword [rsp + 0x58]
test dil, dil
je 0x140004ba4
movss xmm1, dword [rsp + 0x4c]
jmp 0x140004baa
movss xmm1, dword [rsp + 0x5c]
bt r15d, 0xe
jb 0x140004bc0
comiss xmm3, xmm1
jbe 0x140004bbc
test r15b, 8
je 0x140004bc0
xor al, al
jmp 0x140004bc2
mov al, 1
mov byte [rsi + 0x8d], al
bt r15d, 0xf
jb 0x140004c02
test al, al
je 0x140004bde
movss xmm2, dword [r14 + 0x15e4]
jmp 0x140004be1
movaps xmm2, xmm7
subss xmm0, xmm2
comiss xmm4, xmm0
jbe 0x140004bf9
mov eax, r15d
and eax, 0x808
cmp eax, 0x800
je 0x140004c02
mov byte [rsi + 0x8c], 0
jmp 0x140004c29
mov byte [rsi + 0x8c], 1
cmp byte [rsi + 0x8d], 0
jne 0x140004c29
comiss xmm3, xmm1
jbe 0x140004c21
test r15b, 8
jne 0x140004c21
mov al, 1
jmp 0x140004c23
xor al, al
mov byte [rsi + 0x8d], al
cmp byte [rsi + 0x8c], 0
je 0x140004c3d
movss xmm2, dword [r14 + 0x15e4]
jmp 0x140004c40
movaps xmm2, xmm7
cmp byte [rsi + 0x8d], 0
je 0x140004c54
movss xmm1, dword [r14 + 0x15e4]
jmp 0x140004c57
movaps xmm1, xmm7
lea rcx, [rbp + 0x10]
call fcn.140003160
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x84], xmm0
movss dword [rsi + 0x88], xmm1
mov eax, r15d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x140004c99
cmp dword [rsp + 0x50], 0x3000000
lea rax, [r13 + 0x208]
jne 0x140004c9d
lea rax, [rbp + 0x20]
movups xmm0, xmmword [rax]
lea rdx, [rbp + 0x10]
mov rcx, rsi
movups xmmword [rsp + 0x78], xmm0
call fcn.140010380
lea rdx, [rbp - 0x68]
mov rcx, rsi
call fcn.140012fe0
movups xmm0, xmmword [rbp + 0x10]
lea rcx, [rsi + 0x1b8]
lea rdx, [rsp + 0x78]
movups xmmword [rcx], xmm0
call fcn.1400071d0
mov eax, dword [rsi + 0x10]
movaps xmm0, xmm9
mov dword [rsi + 0x1c8], eax
mov eax, r15d
addss xmm0, dword [rsi + 0x14]
and eax, 0x401
movss dword [rsi + 0x1cc], xmm0
movss xmm0, dword [rsi + 0x18]
addss xmm0, dword [rsi + 0x10]
subss xmm0, dword [rsi + 0x84]
movss dword [rsi + 0x1d0], xmm0
movss xmm0, dword [rsi + 0x1c]
addss xmm0, dword [rsi + 0x14]
subss xmm0, dword [rsi + 0x88]
movss dword [rsi + 0x1d4], xmm0
cmp eax, 1
jne 0x140004d37
movss xmm2, dword [rsi + 0x4c]
jmp 0x140004d40
movss xmm2, dword [r14 + 0x15b8]
movss xmm0, dword [rsi + 0x40]
lea rcx, [rsi + 0x1d8]
movss xmm3, dword [0x1400540d0]
mulss xmm0, xmm3
call fcn.14000a880
movss xmm1, dword [rsi + 0x4c]
call fcn.140001870
addss xmm0, dword [rsi + 0x1c8]
addss xmm0, xmm3
call fcn.14000a880
movss dword [rcx], xmm0
movss xmm0, dword [rsi + 0x1cc]
addss xmm0, xmm3
addss xmm0, xmm2
call fcn.14000a880
movss dword [rsi + 0x1dc], xmm0
movss xmm0, dword [rsi + 0x40]
movss xmm2, dword [rsi + 0x1d0]
mulss xmm0, xmm3
addss xmm2, xmm3
call fcn.14000a880
movss xmm1, dword [rsi + 0x4c]
call fcn.140001870
subss xmm2, xmm0
movaps xmm0, xmm2
call fcn.14000a880
movss dword [rsi + 0x1e0], xmm0
movss xmm0, dword [rsi + 0x1d4]
addss xmm0, xmm3
subss xmm0, dword [rsi + 0x4c]
call fcn.14000a880
lea rdx, [rsp + 0x78]
movss dword [rsi + 0x1e4], xmm0
call fcn.140007220
movss xmm0, dword [rsi + 0x18]
comiss xmm0, xmm7
jbe 0x140004e16
test r15d, 0x2000040
jne 0x140004e16
mulss xmm0, dword [0x1400540d8]
jmp 0x140004e27
movss xmm0, dword [r14 + 0x1990]
mulss xmm0, dword [0x140054130]
call fcn.14000a880
movss dword [rsi + 0x238], xmm0
lea rcx, [rsi + 0x1c8]
movss xmm6, dword [rsi + 0x40]
addss xmm6, xmm6
addss xmm6, dword [rsi + 0x28]
call fcn.14000a450
subss xmm6, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm6
call fcn.140001870
movss dword [rsi + 0x64], xmm0
lea rcx, [rsi + 0x1c8]
movss xmm6, dword [rsi + 0x44]
addss xmm6, xmm6
addss xmm6, dword [rsi + 0x2c]
call fcn.140009990
subss xmm6, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm6
call fcn.140001870
mov rdx, rsi
movss dword [rsi + 0x68], xmm0
lea rcx, [rbp + 0x10]
call fcn.140006170
movaps xmm1, xmm11
lea rcx, [rbp + 0x10]
movss xmm2, dword [rax + 4]
movss xmm0, dword [rax]
movss dword [rsi + 0x5c], xmm0
movss dword [rsi + 0x60], xmm2
movaps xmm2, xmm11
call fcn.140003160
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x6c], xmm0
movss dword [rsi + 0x70], xmm1
mov rax, qword [r14 + 0x1988]
mov rcx, qword [rsi + 0x268]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.14001c230
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x78]
call fcn.140010080
movaps xmm11, xmmword [rsp + 0x150]
bt r15d, 0x1b
jae 0x140004f26
call fcn.14000a280
cmp rsi, rax
jne 0x140004f26
cmp byte [rsi + 0xb1], 0
jg 0x140004f26
mov al, 1
jmp 0x140004f28
xor al, al
mov rcx, qword [r14 + 0x1f88]
test rcx, rcx
je 0x140004f41
cmp rsi, qword [rcx + 0x340]
jne 0x140004f41
mov bl, 1
jmp 0x140004f43
xor bl, bl
test al, al
jne 0x140004f4f
test bl, bl
je 0x140005007
movss xmm1, dword [r14 + 0x1fa4]
movzx ecx, al
add ecx, 0x33
call fcn.1400096f0
mov rcx, qword [rsi + 0x268]
lea r8, [rbp + 0x28]
xor edi, edi
lea rdx, [rbp + 0x20]
mov dword [rsp + 0x28], edi
mov r9d, eax
movss dword [rsp + 0x20], xmm7
call fcn.140018a00
test bl, bl
je 0x140005007
cmp rsi, qword [r14 + 0x1f88]
jne 0x140005007
lea rdx, [rbp + 0x10]
mov rcx, rsi
call fcn.140010380
movss xmm1, dword [r14 + 0x1990]
lea rcx, [rbp + 0x10]
call fcn.140008640
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x10]
call fcn.140007750
test al, al
jne 0x140005007
movss xmm1, dword [r14 + 0x1f9c]
mov ecx, 0x32
mulss xmm1, dword [0x1400540c4]
call fcn.1400096f0
movss xmm0, dword [r14 + 0x1580]
lea r8, [rbp + 0x18]
mov rcx, qword [rsi + 0x268]
lea rdx, [rbp + 0x10]
mov dword [rsp + 0x28], edi
mov r9d, eax
movss dword [rsp + 0x20], xmm0
call fcn.140018a00
xor dil, dil
bt r15d, 0x18
jae 0x1400050a0
bt r15d, 0x1a
jb 0x1400050a0
cmp dword [rsp + 0x50], 0x3000000
je 0x1400050a0
lea rcx, [r13 + 0x160]
mov edx, dword [rcx]
cmp edx, 2
jl 0x140005071
add edx, 0xfffffffe
call fcn.140003710
mov rcx, qword [rax]
test rcx, rcx
je 0x140005071
lea rdx, [rbp + 0x10]
call fcn.140010380
lea rdx, [rsp + 0x78]
mov rcx, rsi
mov rbx, rax
call fcn.140010380
mov rdx, rax
mov rcx, rbx
call fcn.14000fd60
movzx ebx, al
jmp 0x140005073
xor bl, bl
mov rcx, qword [rsi + 0x268]
call fcn.1400152d0
cmp dword [rax + 0x20], 0
jne 0x1400050a0
mov rax, qword [r13 + 0x268]
cmp dword [rax + 0x20], 0
jle 0x1400050a0
test bl, bl
jne 0x1400050a0
mov dil, 1
mov qword [rsi + 0x268], rax
mov rax, qword [r14 + 0x1f80]
test rax, rax
jne 0x1400050b3
mov rax, qword [r14 + 0x1e18]
test r12b, r12b
jne 0x1400050d2
test rax, rax
je 0x1400050cd
mov rax, qword [rax + 0x350]
cmp qword [rsi + 0x350], rax
je 0x1400050d2
xor r8b, r8b
jmp 0x1400050d5
mov r8b, 1
mov r9d, dword [rsp + 0x60]
lea rax, [rbp + 0x30]
movss dword [rsp + 0x28], xmm8
lea rdx, [rbp - 0x68]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140010e40
test dil, dil
je 0x140005109
lea rax, [rsi + 0x270]
mov qword [rsi + 0x268], rax
cmp qword [r14 + 0x1f88], rsi
jne 0x1400051c7
movss xmm1, dword [r14 + 0x1580]
movss xmm0, dword [rsi + 0x48]
call fcn.140001870
lea rdx, [rbp + 0x10]
mov rcx, rsi
movaps xmm8, xmm0
call fcn.140010380
movss xmm6, dword [r14 + 0x1990]
lea rcx, [rbp + 0x10]
movaps xmm1, xmm6
call fcn.140008640
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x10]
call fcn.140007750
test al, al
je 0x140005180
xorps xmm6, xmmword [0x1400541b0]
lea rcx, [rbp + 0x10]
subss xmm6, dword [0x1400540fc]
movaps xmm1, xmm6
call fcn.140008640
movss xmm8, dword [rsi + 0x48]
movss xmm1, dword [r14 + 0x1f9c]
mov ecx, 0x32
call fcn.1400096f0
movss xmm0, dword [0x140054114]
lea r8, [rbp + 0x18]
mov rcx, qword [rsi + 0x268]
lea rdx, [rbp + 0x10]
movss dword [rsp + 0x30], xmm0
xor ebx, ebx
mov dword [rsp + 0x28], ebx
mov r9d, eax
movss dword [rsp + 0x20], xmm8
call fcn.1400188b0
jmp 0x1400051c9
xor ebx, ebx
movss xmm4, dword [rsi + 0x38]
mov ecx, r15d
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm6, xmmword [rsp + 0x190]
shr ecx, 3
not cl
and cl, 1
ucomiss xmm4, xmm7
jne 0x14000522a
movss xmm0, dword [rsi + 0x40]
mov eax, r15d
movss xmm1, dword [rsi + 0x18]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
subss xmm1, dword [rsi + 0x84]
cmp eax, 0x800
jne 0x14000521f
movss xmm0, dword [rsi + 0x28]
jmp 0x140005222
movaps xmm0, xmm7
call fcn.140001870
movaps xmm4, xmm0
movss xmm3, dword [rsi + 0x3c]
ucomiss xmm3, xmm7
jne 0x140005269
movss xmm0, dword [rsi + 0x44]
movss xmm1, dword [rsi + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, xmm9
subss xmm1, dword [rsi + 0x88]
test cl, cl
je 0x14000525e
movss xmm0, dword [rsi + 0x2c]
jmp 0x140005261
movaps xmm0, xmm7
call fcn.140001870
movaps xmm3, xmm0
movss xmm1, dword [rsi + 0x4c]
movss xmm0, dword [rsi + 0x40]
call fcn.140001870
movss xmm2, dword [rsi + 0x1c8]
subss xmm2, dword [rsi + 0x5c]
addss xmm0, xmm2
call fcn.14000a880
movss dword [rsi + 0x1e8], xmm0
movss xmm1, dword [rsi + 0x4c]
movss xmm0, dword [rsi + 0x44]
call fcn.140001870
movss xmm2, dword [rsi + 0x1cc]
subss xmm2, dword [rsi + 0x60]
addss xmm0, xmm2
call fcn.14000a880
movss dword [rsi + 0x1ec], xmm0
addss xmm4, dword [rsi + 0x1e8]
movss dword [rsi + 0x1f0], xmm4
addss xmm3, dword [rsi + 0x1ec]
movss dword [rsi + 0x1f4], xmm3
movups xmm0, xmmword [rsi + 0x1e8]
movups xmmword [rsi + 0x1f8], xmm0
movss xmm0, dword [rsi + 0x10]
subss xmm0, dword [rsi + 0x5c]
addss xmm0, dword [rsi + 0x40]
movss dword [rsi + 0x218], xmm0
movss xmm0, dword [rsi + 0x14]
subss xmm0, dword [rsi + 0x60]
addss xmm0, dword [rsi + 0x44]
addss xmm0, xmm9
movss dword [rsi + 0x21c], xmm0
movss xmm1, dword [rsi + 0x38]
ucomiss xmm1, xmm7
jne 0x140005348
movss xmm0, dword [rsi + 0x40]
movss xmm1, dword [rsi + 0x18]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [rsi + 0x84]
addss xmm1, dword [rsi + 0x218]
movss dword [rsi + 0x220], xmm1
movss xmm1, dword [rsi + 0x3c]
ucomiss xmm1, xmm7
jne 0x140005381
movss xmm0, dword [rsi + 0x44]
movss xmm1, dword [rsi + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, xmm9
subss xmm1, dword [rsi + 0x88]
addss xmm1, dword [rsi + 0x21c]
lea rcx, [rbp + 0x10]
movss dword [rsi + 0x224], xmm1
movss xmm0, dword [rsi + 0x40]
subss xmm0, dword [rsi + 0x5c]
movss dword [rsi + 0x118], xmm0
mov qword [rsi + 0x11c], 0
addss xmm9, dword [rsi + 0x44]
movss xmm1, dword [rsi + 0x118]
subss xmm9, dword [rsi + 0x60]
movaps xmm2, xmm9
call fcn.140003160
lea rdx, [rsi + 0x10]
mov r8, rax
lea rcx, [rsp + 0x78]
call fcn.140003860
movaps xmm2, xmm7
lea rcx, [rbp + 0x10]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0xe8], xmm0
movss dword [rsi + 0xec], xmm1
movss dword [rsi + 0xd8], xmm0
movss dword [rsi + 0xdc], xmm1
movss dword [rsi + 0xe0], xmm0
movss dword [rsi + 0xe4], xmm1
movsd xmm0, qword [rsi + 0xe8]
movsd qword [rsi + 0xf0], xmm0
movsd xmm1, qword [rsi + 0xe8]
movsd qword [rsi + 0xf8], xmm1
movaps xmm1, xmm7
call fcn.140003160
movzx r8d, byte [rsp + 0x41]
lea rcx, [rsi + 0x13c]
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
movss dword [rsi + 0x108], xmm0
movss dword [rsi + 0x10c], xmm1
movss dword [rsi + 0x100], xmm0
movss dword [rsi + 0x104], xmm1
mov qword [rsi + 0x110], 0
mov dword [rsi + 0x124], ebx
movzx eax, word [rsi + 0x12a]
mov word [rsi + 0x128], ax
mov word [rsi + 0x12a], bx
mov byte [rsi + 0x130], 0
comiss xmm7, dword [rsi + 0x68]
setb al
mov byte [rsi + 0x131], al
mov byte [rsi + 0x132], 0
movss xmm1, dword [r14 + 0x15bc]
call fcn.140035cc0
lea rcx, [rsi + 0x160]
mov qword [rsi + 0x158], 0
xor edx, edx
call fcn.140016010
movaps xmm9, xmmword [rsp + 0x160]
lea rax, [rsi + 0x240]
mov qword [rsi + 0x170], rax
mov edi, 1
mov qword [rsi + 0x178], rbx
mov dword [rsi + 0x184], edi
test r13, r13
je 0x14000551d
mov eax, dword [r13 + 0x184]
jmp 0x14000551f
mov eax, edi
mov dword [rsi + 0x188], eax
lea rcx, [rsi + 0x198]
mov eax, dword [rsi + 0x238]
xor edx, edx
mov dword [rsi + 0x18c], eax
mov dword [rsi + 0x190], 0xbf800000
call fcn.140015fd0
lea rcx, [rsi + 0x1a8]
xor edx, edx
call fcn.140015fd0
movzx eax, byte [rsi + 0xa8]
test al, al
jle 0x14000556a
dec al
mov byte [rsi + 0xa8], al
movzx eax, byte [rsi + 0xa9]
test al, al
jle 0x14000557d
dec al
mov byte [rsi + 0xa9], al
test r12b, r12b
je 0x140005594
mov rcx, rsi
call fcn.1400092a0
xor edx, edx
mov rcx, rsi
call fcn.14000ca20
test dil, r15b
jne 0x1400055d9
movss xmm3, dword [rbp - 0x60]
lea rcx, [rbp + 0x30]
movss xmm1, dword [rbp - 0x68]
movss xmm0, dword [rbp - 0x5c]
subss xmm3, dword [rsi + 0x4c]
addss xmm1, dword [rsi + 0x4c]
movss xmm2, dword [rbp - 0x64]
movss dword [rsp + 0x20], xmm0
call fcn.1400030e0
mov r9, qword [rbp - 0x78]
mov rdx, rax
mov r8, qword [rbp - 0x70]
mov rcx, rsi
call fcn.140011710
mov dword [rsi + 0x228], 0
lea rdx, [rbp - 0x60]
mov eax, dword [rsi + 0x54]
lea rcx, [rbp - 0x68]
mov dword [r14 + 0x1cd8], eax
xor r8d, r8d
mov eax, dword [r14 + 0x1cc0]
mov dword [r14 + 0x1cdc], eax
call fcn.14000b740
movups xmm0, xmmword [rbp - 0x68]
movzx eax, al
mov dword [r14 + 0x1ce0], eax
movups xmmword [r14 + 0x1ce4], xmm0
jmp 0x140005630
mov rcx, rsi
call fcn.140012420
mov edi, 1
mov r12, qword [rsp + 0x1f8]
mov ebx, r15d
and ebx, 0x1000000
je 0x14000564c
mov eax, dword [r13 + 0x12c]
jmp 0x14000565e
xor r8d, r8d
lea rdx, str.FOCUSSCOPE
mov rcx, rsi
call fcn.140009a30
lea rdx, [rsi + 0x1e0]
mov dword [rsi + 0x12c], eax
lea rcx, [rsi + 0x1d8]
mov r8b, 1
call fcn.140010080
mov byte [rsi + 0x90], 0
lea rcx, [r14 + 0x1d18]
inc word [rsi + 0x9a]
call fcn.140006f90
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x68]
je 0x1400057f6
test ebx, ebx
je 0x140005767
test r15b, 0x40
jne 0x14000572c
cmp byte [rsi + 0xa8], 0
jg 0x14000572c
cmp byte [rsi + 0xa9], 0
jg 0x14000572c
bt r15d, 0x17
jae 0x1400056f3
cmp byte [r14 + 0x1e5c], 0
je 0x1400056f3
mov rcx, qword [r14 + 0x1e18]
test rcx, rcx
je 0x1400056f3
mov rax, qword [rsi + 0x358]
cmp qword [rcx + 0x358], rax
jne 0x1400056f3
mov al, 1
jmp 0x1400056f5
xor al, al
cmp byte [r14 + 0x3124], 0
jne 0x14000572c
test al, al
jne 0x14000572c
movss xmm0, dword [rsi + 0x1c0]
comiss xmm0, dword [rsi + 0x1b8]
jbe 0x140005725
movss xmm0, dword [rsi + 0x1c4]
comiss xmm0, dword [rsi + 0x1bc]
ja 0x14000572c
mov byte [rsi + 0xb0], 1
test r13, r13
je 0x140005767
cmp byte [r13 + 0x91], 0
jne 0x140005745
cmp byte [r13 + 0xb0], 0
jle 0x14000574c
mov byte [rsi + 0xb0], 1
cmp byte [r13 + 0x91], 0
jne 0x140005760
cmp byte [r13 + 0xb1], 0
jle 0x140005767
mov byte [rsi + 0xb1], 1
comiss xmm7, dword [r14 + 0x1570]
jb 0x140005778
mov byte [rsi + 0xb0], 1
cmp byte [rsi + 0xb0], 0
jg 0x140005797
cmp byte [rsi + 0xb1], 0
jg 0x140005797
cmp byte [rsi + 0xb2], 0
jg 0x140005797
xor al, al
jmp 0x140005799
mov al, 1
mov byte [rsi + 0x95], al
movzx eax, byte [rsi + 0xb3]
test al, al
jle 0x1400057b9
dec al
mov byte [rsi + 0xb3], al
or dword [rsi + 0xc], 0xc0200
xor al, al
cmp byte [rsi + 0x91], al
jne 0x1400057d3
cmp byte [rsi + 0x8e], al
je 0x1400057d3
cmp byte [rsi + 0x95], al
je 0x1400057f0
cmp byte [rsi + 0xa8], al
jg 0x1400057f0
cmp byte [rsi + 0xa9], al
jg 0x1400057f0
cmp byte [rsi + 0xb1], 0
movzx eax, al
cmovle eax, edi
mov byte [rsi + 0x93], al
cmp byte [rsi + 0x93], 0
sete al
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.14004f050
movaps xmm7, xmmword [rsp + 0x180]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret