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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x128
mov r14, qword [0x140090540]
mov edi, r8d
movaps xmmword [rax - 0x68], xmm7
mov r15, rcx
call fcn.140008a40
mov rsi, rax
mov qword [rbp - 0x78], rax
test rax, rax
mov qword [rbp + 0x88], rsi
mov r12, rax
mov qword [rsp + 0x70], rsi
sete al
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x41], al
mov rbx, rsi
mov qword [rsp + 0x78], rsi
mov r10, rsi
mov qword [rsp + 0x48], rsi
mov rcx, rsi
mov qword [rbp - 0x80], rsi
mov r11, rsi
mov rdx, rsi
mov r8, rsi
mov r9, rsi
test rsi, rsi
jne 0x1400042aa
mov edx, edi
mov rcx, r15
call fcn.140007500
mov rsi, rax
mov qword [rbp - 0x78], rax
mov rbx, rax
mov qword [rbp + 0x88], rax
mov r10, rax
mov qword [rsp + 0x70], rax
mov rcx, rax
mov qword [rsp + 0x50], rax
mov r11, rax
mov qword [rsp + 0x78], rax
mov rdx, rax
mov qword [rsp + 0x48], rax
mov r8, rax
mov qword [rbp - 0x80], rax
mov r9, rax
mov r13d, dword [r14 + 0x1a18]
mov eax, edi
and eax, 0xc0200
mov r15d, edi
or r15d, 6
cmp eax, 0xc0200
mov eax, dword [rbx + 0x298]
mov dword [rbp + 0x80], eax
cmovne r15d, edi
cmp dword [r14 + 0x1a68], 0
jne 0x140004306
cmp byte [r14 + 0x1a25], 0
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
mov r9, qword [rbp - 0x80]
je 0x140004306
mov rdi, qword [rsp + 0x50]
mov al, 1
jmp 0x140004316
xor al, al
mov qword [rsp + 0x48], r9
mov r10, rcx
mov r11, rdx
mov rdi, r8
mov byte [r10 + 0x8e], al
lea eax, [r13 - 1]
cmp dword [rbx + 0x298], eax
mov eax, dword [r11 + 0xa8]
setl dl
mov dword [rsp + 0x70], eax
mov byte [rbp + 0x88], dl
bt r15d, 0x1a
jae 0x140004381
mov edx, dword [r14 + 0x1c00]
lea rcx, [r14 + 0x1bf0]
call fcn.140003b90
mov rdx, qword [rsp + 0x48]
cmp rdi, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rdx + 0x98], eax
movzx edx, byte [rbp + 0x88]
setne al
or cl, al
mov eax, dword [rsp + 0x70]
or dl, cl
mov byte [rbp + 0x88], dl
test dl, dl
jne 0x140004391
test eax, eax
jg 0x140004391
mov byte [rsi + 0x8c], dl
jmp 0x1400043a8
mov r8b, 1
mov byte [rsi + 0x8c], 1
mov edx, 8
mov rcx, rsi
call fcn.1400117f0
mov edi, dword [rbp + 0x80]
xor eax, eax
cmp edi, r13d
je 0x1400043f4
mov dword [rsi + 0xc], r15d
mov dword [rbx + 0x298], r13d
movsd xmm0, qword [r14 + 0x1a10]
cvtpd2ps xmm0, xmm0
movss dword [rsi + 0x29c], xmm0
mov word [rsi + 0x94], ax
movzx eax, word [r14 + 0x1a88]
inc dword [r14 + 0x1a88]
mov word [rsi + 0x96], ax
jmp 0x1400043f8
mov r15d, dword [rsi + 0xc]
lea rcx, [r14 + 0x1a68]
call fcn.140013f90
test al, al
je 0x14000440c
xor ecx, ecx
jmp 0x14000441b
lea rcx, [r14 + 0x1a68]
call fcn.140013e50
mov rcx, qword [rax]
cmp edi, r13d
je 0x140004432
test r15d, 0x5000000
mov eax, 0
cmovne rax, rcx
jmp 0x140004439
mov rax, qword [rsi + 0x3b8]
lea rcx, [rsi + 0xc8]
mov qword [rsp + 0x48], rax
cmp dword [rcx], 0
jne 0x140004453
lea rdx, [rsi + 8]
call fcn.1400141f0
lea rdx, [rbp - 0x78]
lea rcx, [r14 + 0x1a68]
call fcn.140014240
mov dl, 1
mov qword [r14 + 0x1a90], 0
mov rcx, rsi
call fcn.140007f50
bt r15d, 0x1a
jae 0x1400044b0
mov edx, dword [r14 + 0x1c00]
lea rcx, [r14 + 0x1bf0]
call fcn.140003b90
mov rdx, rax
lea rcx, [r14 + 0x1c00]
mov rbx, rax
mov qword [rax + 8], rsi
call fcn.1400142f0
mov eax, dword [rbx]
mov dword [rsi + 0x98], eax
cmp dword [rsp + 0x70], 0
jle 0x1400044c8
bt r15d, 0x18
jb 0x1400044c8
mov dword [rsi + 0x3e0], 0
mov ebx, edi
cmp edi, r13d
mov rdi, qword [rsp + 0x48]
je 0x1400044e2
mov r8, rdi
mov edx, r15d
mov rcx, rsi
call fcn.1400137e0
xor cl, cl
test byte [r14 + 0x1b38], 1
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x42], cl
mov byte [rbp + 0x80], cl
je 0x140004561
mov r8d, dword [r14 + 0x1b3c]
mov eax, r8d
and eax, dword [rsi + 0xac]
setne cl
mov byte [rsp + 0x40], cl
test eax, eax
je 0x140004552
lea rcx, [r14 + 0x1b50]
call fcn.14000a150
comiss xmm0, dword [0x1400713c4]
jbe 0x140004552
movsd xmm0, qword [r14 + 0x1b48]
movsd qword [rsi + 0xb8], xmm0
movsd xmm1, qword [rcx]
movsd qword [rsi + 0xc0], xmm1
and dword [rsi + 0xac], 0xfffffff1
jmp 0x140004561
lea rdx, [r14 + 0x1b48]
mov rcx, rsi
call fcn.140011830
test byte [r14 + 0x1b38], 2
xorps xmm7, xmm7
je 0x1400045ca
mov r8d, dword [r14 + 0x1b40]
mov eax, r8d
and eax, dword [rsi + 0xb0]
je 0x140004595
movss xmm0, dword [r14 + 0x1b58]
comiss xmm0, xmm7
jbe 0x140004595
mov byte [rsp + 0x42], 1
jmp 0x14000459f
xor cl, cl
mov byte [rsp + 0x42], cl
test eax, eax
je 0x1400045b4
movss xmm0, dword [r14 + 0x1b5c]
comiss xmm0, xmm7
mov byte [rbp + 0x80], 1
ja 0x1400045bb
mov byte [rbp + 0x80], 0
lea rdx, [r14 + 0x1b58]
mov rcx, rsi
call fcn.140011900
test byte [r14 + 0x1b38], 0x80
je 0x140004608
movss xmm0, dword [r14 + 0x1b68]
comiss xmm0, xmm7
jb 0x1400045ee
movss dword [rsi + 0x64], xmm0
mov dword [rsi + 0x6c], 0
movss xmm0, dword [r14 + 0x1b6c]
comiss xmm0, xmm7
jb 0x140004608
movss dword [rsi + 0x68], xmm0
mov dword [rsi + 0x70], 0
test byte [r14 + 0x1b38], 4
je 0x140004622
movsd xmm0, qword [r14 + 0x1b60]
movsd qword [rsi + 0x30], xmm0
jmp 0x14000464a
cmp ebx, r13d
je 0x14000464a
xorps xmm2, xmm2
lea rcx, [rsp + 0x50]
xorps xmm1, xmm1
call fcn.1400036f0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x30], xmm0
movss dword [rsi + 0x34], xmm1
test byte [r14 + 0x1b38], 8
je 0x14000466b
mov r8d, dword [r14 + 0x1b44]
mov rcx, rsi
movzx edx, byte [r14 + 0x1b70]
call fcn.1400117d0
test byte [r14 + 0x1b38], 0x20
je 0x14000467d
mov rcx, rsi
call fcn.140008cf0
cmp byte [rsi + 0x8c], 0
je 0x140004695
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 8]
call fcn.1400117f0
cmp ebx, r13d
je 0x140005ab7
movss xmm1, dword [0x140071484]
lea rcx, [rsp + 0x60]
movaps xmmword [rsp + 0x110], xmm6
mov eax, r15d
and eax, 0x3000000
movaps xmmword [rsp + 0xf0], xmm8
cmp qword [rbp + 0x78], 0
movaps xmm2, xmm1
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
movss xmm11, dword [0x140071478]
mov dword [rsp + 0x78], eax
movaps xmm3, xmm11
setne al
mov byte [rsi + 0x86], 1
mov byte [rsi + 0x8f], al
movss dword [rsp + 0x20], xmm11
call fcn.140003730
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140003620
movups xmm0, xmmword [rbp - 0x50]
mov r13d, 1
lea rcx, [rsi + 0xc8]
mov edx, r13d
movups xmmword [rsi + 0x270], xmm0
call fcn.140014900
mov rcx, qword [rsi + 0x2d0]
call fcn.14001c630
cmp byte [rsi + 0x408], 0
je 0x14000475d
mov rcx, rsi
call fcn.140008ef0
cmp qword [r14 + 0x1d50], 0
je 0x1400047ca
test dword [rsi + 0xc], 0x80000
jne 0x1400047ca
test r12, r12
je 0x1400047ca
mov r10, qword [rbp + 0x70]
mov rcx, qword [rsi]
mov rax, r10
mov r9, rcx
sub r9, r10
nop word [rax + rax]
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x1400047a5
inc rax
test edx, edx
jne 0x140004790
test r8d, r8d
je 0x1400047ca
movsxd rax, dword [rsi + 0x48]
lea rdx, [rsp + 0x50]
mov r8, r10
mov qword [rsp + 0x50], rax
call fcn.14000a360
mov qword [rsi], rax
mov eax, dword [rsp + 0x50]
mov dword [rsi + 0x48], eax
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140006990
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x28], xmm0
movss dword [rsi + 0x2c], xmm1
mov eax, dword [rsi + 0xa4]
test eax, eax
jle 0x1400047fc
dec eax
mov dword [rsi + 0xa4], eax
mov eax, dword [rsi + 0xa8]
test eax, eax
jle 0x14000480e
dec eax
mov dword [rsi + 0xa8], eax
movzx ebx, byte [rsp + 0x42]
test r12, r12
jne 0x14000482c
test bl, bl
je 0x140004825
cmp byte [rbp + 0x80], r12b
jne 0x14000482c
mov dword [rsi + 0xa8], r13d
cmp byte [rbp + 0x88], 0
je 0x14000488f
test r15d, 0x6000000
je 0x14000488f
mov dword [rsi + 0xa8], r13d
test r15b, 0x40
je 0x14000488f
xor eax, eax
test bl, bl
jne 0x140004857
mov dword [rsi + 0x20], eax
mov dword [rsi + 0x18], eax
movzx r13d, byte [rbp + 0x80]
test r13b, r13b
jne 0x14000486a
mov dword [rsi + 0x24], eax
mov dword [rsi + 0x1c], eax
movaps xmm2, xmm7
lea rcx, [rsp + 0x50]
movaps xmm1, xmm7
call fcn.1400036f0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x28], xmm0
movss dword [rsi + 0x2c], xmm1
jmp 0x140004897
movzx r13d, byte [rbp + 0x80]
mov rcx, rsi
call fcn.1400112e0
mov ecx, r15d
and ecx, 0x1000000
je 0x1400048b6
mov eax, dword [r14 + 0x1594]
mov dword [rsi + 0x44], eax
jmp 0x1400048df
test r15d, 0x6000000
je 0x1400048d1
bt r15d, 0x1b
jb 0x1400048d1
movss xmm0, dword [r14 + 0x159c]
jmp 0x1400048da
movss xmm0, dword [r14 + 0x1578]
movss dword [rsi + 0x44], xmm0
movsd xmm0, qword [r14 + 0x156c]
movsd qword [rsi + 0x38], xmm0
test ecx, ecx
je 0x14000493b
test r15d, 0x4010000
jne 0x14000493b
movss xmm0, dword [rsi + 0x44]
ucomiss xmm0, xmm7
jp 0x14000493b
jne 0x14000493b
bt r15d, 0xa
jae 0x140004918
movss xmm2, dword [r14 + 0x1570]
jmp 0x14000491b
movaps xmm2, xmm7
movaps xmm1, xmm7
lea rcx, [rsp + 0x50]
call fcn.1400036f0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x38], xmm0
movss dword [rsi + 0x3c], xmm1
movss xmm1, dword [r14 + 0x15b0]
movss xmm0, dword [rsi + 0x38]
call fcn.140001c30
movss xmm1, dword [r14 + 0x1b9c]
call fcn.140001c30
movss dword [rsi + 0x158], xmm0
mov eax, dword [r14 + 0x1ba0]
mov dword [rsi + 0x15c], eax
test r15b, 0x21
jne 0x1400049f3
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.140011d90
cmp qword [r14 + 0x1a98], rsi
jne 0x1400049c8
cmp dword [r14 + 0x1acc], 0
jne 0x1400049c8
cmp dword [r14 + 0x1ad0], 0
jne 0x1400049c8
mov r8b, 1
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x60]
call fcn.14000add0
test al, al
je 0x1400049c8
cmp byte [r14 + 0x42d], 0
je 0x1400049c8
mov byte [rsi + 0x8a], 1
cmp byte [rsi + 0x8a], 0
je 0x1400049fa
cmp byte [rsi + 0x89], 0
mov rcx, rsi
sete al
mov byte [rsi + 0x89], al
call fcn.14000baa0
mov rcx, rsi
call fcn.140008cf0
jmp 0x1400049fa
mov byte [rsi + 0x89], 0
lea r8, [rsi + 0x28]
mov byte [rsi + 0x8a], 0
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.1400067a0
movzx ecx, byte [rsp + 0x41]
mov byte [rbp + 0x80], cl
test r15b, 0x40
je 0x140004a60
cmp byte [rsi + 0x89], 0
jne 0x140004a60
test bl, bl
jne 0x140004a40
movss xmm0, dword [rsp + 0x48]
movss dword [rsi + 0x20], xmm0
mov byte [rsp + 0x41], 1
test r13b, r13b
jne 0x140004af2
movss xmm0, dword [rsp + 0x4c]
movss dword [rsi + 0x24], xmm0
mov byte [rbp + 0x80], 1
jmp 0x140004af2
movzx eax, byte [rsi + 0x9c]
test al, al
jg 0x140004a74
cmp byte [rsi + 0x9d], 0
jle 0x140004af2
test bl, bl
jne 0x140004aa6
test al, al
jle 0x140004aa6
cmp byte [rsi + 0x9f], bl
je 0x140004a96
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsi + 0x20]
call fcn.140001c30
jmp 0x140004a9c
movss xmm0, dword [rsp + 0x48]
movss dword [rsi + 0x20], xmm0
mov byte [rsp + 0x41], 1
test r13b, r13b
jne 0x140004ae1
cmp byte [rsi + 0x9d], r13b
jle 0x140004ae1
cmp byte [rsi + 0x9f], r13b
je 0x140004acf
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsi + 0x24]
call fcn.140001c30
jmp 0x140004ad5
movss xmm0, dword [rsp + 0x4c]
movss dword [rsi + 0x24], xmm0
mov byte [rbp + 0x80], 1
cmp byte [rsi + 0x89], 0
jne 0x140004af2
mov rcx, rsi
call fcn.14000baa0
mov r8, qword [rsi + 0x20]
lea rcx, [rsp + 0x50]
mov rdx, rsi
call fcn.140006a80
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x20], xmm0
movss dword [rsi + 0x24], xmm1
cmp byte [rsi + 0x89], 0
je 0x140004b41
bt r15d, 0x18
jb 0x140004b41
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.140011d90
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.1400099d0
jmp 0x140004b51
movsd xmm0, qword [rsi + 0x20]
lea rax, [rsp + 0x50]
movsd qword [rsp + 0x50], xmm0
movsd xmm0, qword [rax]
mov rcx, rsi
movsd qword [rsi + 0x18], xmm0
call fcn.14000bb50
mov rcx, rsi
movaps xmm9, xmm0
call fcn.140011d50
cmp byte [rbp + 0x88], 0
addss xmm9, xmm0
movzx r13d, byte [rsp + 0x40]
je 0x140004bbf
mov dword [rsi + 0xa0], 0xffffffff
bt r15d, 0x1a
jae 0x140004bbf
bt r15d, 0x1b
jb 0x140004bbf
test r13b, r13b
jne 0x140004bbf
lea rcx, [r14 + 0x1c00]
call fcn.140013ea0
movss xmm0, dword [rax + 0x20]
movss xmm1, dword [rax + 0x24]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
bt r15d, 0x18
jae 0x140004c06
lea rcx, [rdi + 0x190]
movzx eax, word [rcx]
lea rdx, [rbp - 0x78]
mov word [rsi + 0x94], ax
call fcn.140014240
mov eax, dword [rsp + 0x78]
bt r15d, 0x1a
jb 0x140004c0a
test r13b, r13b
jne 0x140004c0a
cmp eax, 0x3000000
je 0x140004c0a
movsd xmm0, qword [rdi + 0xd8]
movsd qword [rsi + 0x10], xmm0
jmp 0x140004c0a
mov eax, dword [rsp + 0x78]
movss xmm0, dword [rsi + 0xb8]
ucomiss xmm0, xmm11
jp 0x140004c1a
je 0x140004c5b
cmp dword [rsi + 0xa8], 0
jne 0x140004c5b
lea r8, [rsi + 0xc0]
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x50]
call fcn.140003bc0
mov r8, rax
lea rdx, [rsi + 0xb8]
lea rcx, [rbp - 0x80]
call fcn.140003c20
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.140011830
jmp 0x140004ca8
bt r15d, 0x1c
jb 0x140004c88
bt r15d, 0x1a
jae 0x140004c75
test r13b, r13b
jne 0x140004c75
cmp dword [rsp + 0x70], 0
jg 0x140004c88
bt r15d, 0x19
jae 0x140004ca8
test r13b, r13b
jne 0x140004ca8
cmp eax, 0x3000000
je 0x140004ca8
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140008090
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
lea rcx, [rbp - 0x70]
call fcn.140009ad0
lea r8, [r14 + 0x160c]
lea rdx, [r14 + 0x1604]
lea rcx, [rsp + 0x50]
call fcn.14000a1b0
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x80]
call fcn.140003c20
lea r8, [rsp + 0x50]
mov rbx, rax
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x78]
call fcn.140003c50
mov r8, rbx
lea rcx, [rsp + 0x60]
mov rdx, rax
call fcn.140003600
test r13b, r13b
jne 0x140004d47
bt r15d, 0x18
jb 0x140004d47
cmp byte [rsi + 0x9c], r13b
jg 0x140004d47
cmp byte [rsi + 0x9d], r13b
jg 0x140004d47
lea rcx, [rbp - 0x70]
call fcn.140009b60
comiss xmm0, xmm7
jbe 0x140004d47
lea rcx, [rbp - 0x70]
call fcn.1400093e0
comiss xmm0, xmm7
jbe 0x140004d47
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.140006d30
lea rdx, [rsi + 0x10]
lea rcx, [rsp + 0x50]
call fcn.140009f20
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
bt r15d, 0x18
jae 0x140004d7a
movss xmm2, dword [r14 + 0x1590]
jmp 0x140004d9d
mov eax, r15d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x140004d94
movss xmm2, dword [r14 + 0x1598]
jmp 0x140004d9d
movss xmm2, dword [r14 + 0x1574]
xor r13b, r13b
movss dword [rsi + 0x40], xmm2
cmp byte [rbp + 0x88], r13b
je 0x140004dd5
bt r15d, 0xc
jb 0x140004dd5
bt r15d, 0x1a
jae 0x140004dc1
mov r13b, 1
jmp 0x140004dd5
test r15d, 0x3000000
movzx r13d, r13b
mov edx, 1
cmove r13d, edx
movss xmm10, dword [0x140071418]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xor ecx, ecx
mov dword [rsp + 0x70], 0xffffffff
movss xmm0, dword [r14 + 0x1930]
addss xmm2, xmm10
cmp byte [r14 + 0xcb], cl
movaps xmm1, xmm0
mulss xmm1, dword [0x1400713e0]
setne cl
mulss xmm0, dword [0x140071420]
inc ecx
mov dword [rbp - 0x78], ecx
addss xmm1, xmm2
call fcn.140001c30
cmp byte [rsi + 0x89], 0
cvttss2si eax, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
jne 0x140004e72
lea rax, [rsp + 0x60]
mov r9d, ecx
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x70]
lea rax, [rbp - 0x50]
mov rcx, rsi
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.140012e40
test al, al
je 0x140004e72
mov bl, 1
mov byte [rsp + 0x41], bl
jmp 0x140004e79
movzx ebx, byte [rbp + 0x80]
movzx eax, byte [rsp + 0x70]
mov byte [rsi + 0x90], al
cmp byte [rsi + 0x89], 0
jne 0x140005004
movss xmm2, dword [rsi + 0x24]
lea rcx, [rsp + 0x50]
movss xmm1, dword [rsi + 0x20]
subss xmm2, xmm9
call fcn.1400036f0
lea rcx, [rsi + 0x230]
lea rdx, [rsp + 0x48]
call fcn.1400099d0
lea r8, [rsi + 0x7c]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140003c50
test r12, r12
jne 0x140004ee2
movaps xmm2, xmm7
lea rcx, [rsp + 0x48]
movaps xmm1, xmm7
call fcn.1400036f0
jmp 0x140004f09
movss xmm2, dword [0x140071424]
lea rdx, [rsi + 0x38]
lea rcx, [rsp + 0x70]
call fcn.140003bf0
lea rdx, [rsi + 0x28]
mov r8, rax
lea rcx, [rsp + 0x60]
call fcn.140003c50
cmp byte [rsp + 0x41], 0
movss xmm4, dword [rax]
movss xmm3, dword [rax + 4]
je 0x140004f21
movss xmm0, dword [rsp + 0x50]
jmp 0x140004f26
movss xmm0, dword [rbp - 0x80]
test bl, bl
je 0x140004f32
movss xmm1, dword [rsp + 0x54]
jmp 0x140004f37
movss xmm1, dword [rbp - 0x7c]
bt r15d, 0xe
jb 0x140004f4d
comiss xmm3, xmm1
jbe 0x140004f49
test r15b, 8
je 0x140004f4d
xor al, al
jmp 0x140004f4f
mov al, 1
mov byte [rsi + 0x85], al
bt r15d, 0xf
jb 0x140004f8f
test al, al
je 0x140004f6b
movss xmm2, dword [r14 + 0x15d0]
jmp 0x140004f6e
movaps xmm2, xmm7
subss xmm0, xmm2
comiss xmm4, xmm0
jbe 0x140004f86
mov eax, r15d
and eax, 0x808
cmp eax, 0x800
je 0x140004f8f
mov byte [rsi + 0x84], 0
jmp 0x140004fb6
mov byte [rsi + 0x84], 1
cmp byte [rsi + 0x85], 0
jne 0x140004fb6
comiss xmm3, xmm1
jbe 0x140004fae
test r15b, 8
jne 0x140004fae
mov al, 1
jmp 0x140004fb0
xor al, al
mov byte [rsi + 0x85], al
cmp byte [rsi + 0x84], 0
je 0x140004fca
movss xmm2, dword [r14 + 0x15d0]
jmp 0x140004fcd
movaps xmm2, xmm7
cmp byte [rsi + 0x85], 0
je 0x140004fe1
movss xmm1, dword [r14 + 0x15d0]
jmp 0x140004fe4
movaps xmm1, xmm7
lea rcx, [rsp + 0x60]
call fcn.1400036f0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x7c], xmm0
movss dword [rsi + 0x80], xmm1
mov r12d, dword [rsp + 0x78]
mov eax, r15d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x140005028
lea rax, [rdi + 0x270]
cmp r12d, 0x3000000
jne 0x14000502c
lea rax, [rbp - 0x70]
movups xmm0, xmmword [rax]
lea rdx, [rsp + 0x60]
mov rcx, rsi
movups xmmword [rsp + 0x50], xmm0
call fcn.14000f480
lea rdx, [rbp - 0x60]
mov rcx, rsi
call fcn.140011d90
movups xmm0, xmmword [rsp + 0x60]
lea rcx, [rsi + 0x220]
lea rdx, [rsp + 0x50]
movups xmmword [rcx], xmm0
call fcn.140007060
mov eax, dword [rsi + 0x10]
movaps xmm0, xmm9
mov dword [rsi + 0x230], eax
mov eax, r15d
addss xmm0, dword [rsi + 0x14]
and eax, 0x401
movss dword [rsi + 0x234], xmm0
movss xmm0, dword [rsi + 0x18]
addss xmm0, dword [rsi + 0x10]
subss xmm0, dword [rsi + 0x7c]
movss dword [rsi + 0x238], xmm0
movss xmm0, dword [rsi + 0x1c]
addss xmm0, dword [rsi + 0x14]
subss xmm0, dword [rsi + 0x80]
movss dword [rsi + 0x23c], xmm0
cmp eax, 1
jne 0x1400050c5
movss xmm4, dword [rsi + 0x44]
jmp 0x1400050ce
movss xmm4, dword [r14 + 0x15ac]
movss xmm0, dword [rsi + 0x38]
lea rcx, [rsi + 0x240]
movss xmm3, dword [0x1400713f0]
mulss xmm0, xmm3
call fcn.140009f50
movss xmm1, dword [rsi + 0x44]
call fcn.140001c30
movss xmm2, dword [rsi + 0x230]
addss xmm2, xmm3
addss xmm0, xmm2
call fcn.140009f50
movss dword [rcx], xmm0
movss xmm0, dword [rsi + 0x234]
addss xmm0, xmm3
addss xmm0, xmm4
call fcn.140009f50
movss dword [rsi + 0x244], xmm0
movss xmm0, dword [rsi + 0x38]
movss xmm2, dword [rsi + 0x238]
mulss xmm0, xmm3
addss xmm2, xmm3
call fcn.140009f50
movss xmm1, dword [rsi + 0x44]
call fcn.140001c30
subss xmm2, xmm0
movaps xmm0, xmm2
call fcn.140009f50
movss dword [rsi + 0x248], xmm0
movss xmm0, dword [rsi + 0x23c]
addss xmm0, xmm3
subss xmm0, dword [rsi + 0x44]
call fcn.140009f50
lea rdx, [rsp + 0x50]
movss dword [rsi + 0x24c], xmm0
call fcn.1400070b0
movss xmm0, dword [rsi + 0x18]
comiss xmm0, xmm7
jbe 0x1400051a8
test r15d, 0x2000040
jne 0x1400051a8
mulss xmm0, dword [0x1400713f8]
jmp 0x1400051b9
movss xmm0, dword [r14 + 0x1930]
mulss xmm0, dword [0x140071448]
call fcn.140009f50
movss dword [rsi + 0x2a0], xmm0
lea rcx, [rsi + 0x230]
movss xmm6, dword [rsi + 0x38]
addss xmm6, xmm6
addss xmm6, dword [rsi + 0x28]
call fcn.140009b60
subss xmm6, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm6
call fcn.140001c30
movss dword [rsi + 0x5c], xmm0
lea rcx, [rsi + 0x230]
movss xmm6, dword [rsi + 0x3c]
addss xmm6, xmm6
addss xmm6, dword [rsi + 0x2c]
call fcn.1400093e0
subss xmm6, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm6
call fcn.140001c30
mov rdx, rsi
movss dword [rsi + 0x60], xmm0
lea rcx, [rsp + 0x60]
call fcn.140006370
movaps xmm1, xmm11
lea rcx, [rsp + 0x60]
movss xmm2, dword [rax + 4]
movss xmm0, dword [rax]
movss dword [rsi + 0x54], xmm0
movss dword [rsi + 0x58], xmm2
movaps xmm2, xmm11
call fcn.1400036f0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x64], xmm0
movss dword [rsi + 0x68], xmm1
mov rax, qword [r14 + 0x1928]
mov rcx, qword [rsi + 0x2d0]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.14001ad50
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.14000f1e0
movaps xmm11, xmmword [rsp + 0xc0]
bt r15d, 0x1b
jae 0x1400052bb
call fcn.140009a60
cmp rsi, rax
jne 0x1400052bb
cmp dword [rsi + 0xa8], 0
jg 0x1400052bb
mov al, 1
jmp 0x1400052bd
xor al, al
mov rcx, qword [r14 + 0x1d48]
test rcx, rcx
je 0x1400052d6
cmp rsi, qword [rcx + 0x3c0]
jne 0x1400052d6
mov bl, 1
jmp 0x1400052d8
xor bl, bl
test al, al
jne 0x1400052e4
test bl, bl
je 0x1400053ab
movss xmm1, dword [r14 + 0x1de8]
movzx ecx, al
add ecx, 0x2e
call fcn.1400091a0
mov rcx, qword [rsi + 0x2d0]
lea r8, [rbp - 0x68]
mov r9d, eax
mov dword [rsp + 0x28], 0xf
lea rdx, [rbp - 0x70]
movss dword [rsp + 0x20], xmm7
call fcn.1400178c0
test bl, bl
je 0x1400053ab
cmp rsi, qword [r14 + 0x1d48]
jne 0x1400053ab
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.14000f480
movss xmm1, dword [r14 + 0x1930]
lea rcx, [rsp + 0x60]
call fcn.140008050
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x60]
call fcn.140007420
test al, al
jne 0x1400053ab
movss xmm1, dword [r14 + 0x1d5c]
mov ecx, 0x2d
mulss xmm1, dword [0x1400713e4]
call fcn.1400091a0
movss xmm0, dword [r14 + 0x1574]
lea r8, [rsp + 0x68]
mov rcx, qword [rsi + 0x2d0]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x28], 0xf
mov r9d, eax
movss dword [rsp + 0x20], xmm0
call fcn.1400178c0
mov eax, r15d
xor bl, bl
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1400053ed
cmp r12d, 0x3000000
je 0x1400053ed
mov rcx, qword [rsi + 0x2d0]
call fcn.140013e60
cmp dword [rax + 0x20], 0
jne 0x1400053ed
mov rax, qword [rdi + 0x2d0]
cmp dword [rax + 0x20], 0
jle 0x1400053ed
mov bl, 1
mov qword [rsi + 0x2d0], rax
mov rax, qword [r14 + 0x1d40]
test rax, rax
jne 0x140005400
mov rax, qword [r14 + 0x1c10]
test r13b, r13b
jne 0x14000541f
test rax, rax
je 0x14000541a
mov rax, qword [rax + 0x3c8]
cmp qword [rsi + 0x3c8], rax
je 0x14000541f
xor r8b, r8b
jmp 0x140005422
mov r8b, 1
mov r9d, dword [rbp - 0x78]
lea rax, [rbp - 0x50]
movss dword [rsp + 0x28], xmm8
lea rdx, [rbp - 0x60]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14000ff00
test bl, bl
je 0x140005454
lea rax, [rsi + 0x2d8]
mov qword [rsi + 0x2d0], rax
cmp qword [r14 + 0x1d48], rsi
jne 0x140005515
movss xmm1, dword [r14 + 0x1574]
movss xmm0, dword [rsi + 0x40]
call fcn.140001c30
lea rdx, [rsp + 0x60]
mov rcx, rsi
movaps xmm8, xmm0
call fcn.14000f480
movss xmm6, dword [r14 + 0x1930]
lea rcx, [rsp + 0x60]
movaps xmm1, xmm6
call fcn.140008050
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x60]
call fcn.140007420
test al, al
je 0x1400054cc
xorps xmm6, xmmword [0x1400714c0]
lea rcx, [rsp + 0x60]
subss xmm6, xmm10
movaps xmm1, xmm6
call fcn.140008050
movss xmm8, dword [rsi + 0x40]
movss xmm1, dword [r14 + 0x1d5c]
mov ecx, 0x2d
call fcn.1400091a0
movss xmm0, dword [0x14007142c]
lea r8, [rsp + 0x68]
mov rcx, qword [rsi + 0x2d0]
lea rdx, [rsp + 0x60]
movss dword [rsp + 0x30], xmm0
mov r9d, eax
mov dword [rsp + 0x28], 0xffffffff
movss dword [rsp + 0x20], xmm8
call fcn.140017770
movss xmm4, dword [rsi + 0x30]
mov ecx, r15d
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x110]
shr ecx, 3
not cl
and cl, 1
ucomiss xmm4, xmm7
jp 0x14000557e
jne 0x14000557e
movss xmm0, dword [rsi + 0x38]
mov eax, r15d
movss xmm1, dword [rsi + 0x18]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
subss xmm1, dword [rsi + 0x7c]
cmp eax, 0x800
jne 0x140005573
movss xmm0, dword [rsi + 0x28]
jmp 0x140005576
movaps xmm0, xmm7
call fcn.140001c30
movaps xmm4, xmm0
movss xmm3, dword [rsi + 0x34]
ucomiss xmm3, xmm7
jp 0x1400055bf
jne 0x1400055bf
movss xmm0, dword [rsi + 0x3c]
movss xmm1, dword [rsi + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, xmm9
subss xmm1, dword [rsi + 0x80]
test cl, cl
je 0x1400055b4
movss xmm0, dword [rsi + 0x2c]
jmp 0x1400055b7
movaps xmm0, xmm7
call fcn.140001c30
movaps xmm3, xmm0
movss xmm1, dword [rsi + 0x44]
movss xmm0, dword [rsi + 0x38]
call fcn.140001c30
movss xmm2, dword [rsi + 0x230]
subss xmm2, dword [rsi + 0x54]
addss xmm0, xmm2
call fcn.140009f50
movss dword [rsi + 0x250], xmm0
movss xmm1, dword [rsi + 0x44]
movss xmm0, dword [rsi + 0x3c]
call fcn.140001c30
movss xmm2, dword [rsi + 0x234]
subss xmm2, dword [rsi + 0x58]
addss xmm0, xmm2
call fcn.140009f50
movss dword [rsi + 0x254], xmm0
addss xmm4, dword [rsi + 0x250]
movss dword [rsi + 0x258], xmm4
addss xmm3, dword [rsi + 0x254]
movss dword [rsi + 0x25c], xmm3
movups xmm0, xmmword [rsi + 0x250]
movups xmmword [rsi + 0x260], xmm0
movss xmm0, dword [rsi + 0x10]
subss xmm0, dword [rsi + 0x54]
addss xmm0, dword [rsi + 0x38]
movss dword [rsi + 0x280], xmm0
movss xmm0, dword [rsi + 0x14]
subss xmm0, dword [rsi + 0x58]
addss xmm0, dword [rsi + 0x3c]
addss xmm0, xmm9
movss dword [rsi + 0x284], xmm0
movss xmm1, dword [rsi + 0x30]
ucomiss xmm1, xmm7
jp 0x14000569d
jne 0x14000569d
movss xmm0, dword [rsi + 0x38]
movss xmm1, dword [rsi + 0x18]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [rsi + 0x7c]
addss xmm1, dword [rsi + 0x280]
movss dword [rsi + 0x288], xmm1
movss xmm1, dword [rsi + 0x34]
ucomiss xmm1, xmm7
jp 0x1400056d8
jne 0x1400056d8
movss xmm0, dword [rsi + 0x3c]
movss xmm1, dword [rsi + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, xmm9
subss xmm1, dword [rsi + 0x80]
addss xmm1, dword [rsi + 0x284]
xor r12d, r12d
lea rcx, [rsp + 0x60]
movss dword [rsi + 0x28c], xmm1
movss xmm0, dword [rsi + 0x38]
addss xmm0, xmm7
subss xmm0, dword [rsi + 0x54]
movss dword [rsi + 0x110], xmm0
mov qword [rsi + 0x114], r12
addss xmm9, dword [rsi + 0x3c]
movss xmm1, dword [rsi + 0x110]
addss xmm1, xmm7
subss xmm9, dword [rsi + 0x58]
movaps xmm2, xmm9
call fcn.1400036f0
lea rdx, [rsi + 0x10]
mov r8, rax
lea rcx, [rsp + 0x50]
call fcn.140003c50
movaps xmm2, xmm7
lea rcx, [rsp + 0x60]
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
movaps xmm1, xmm7
movsd xmm0, qword [rsi + 0xe8]
movsd qword [rsi + 0xf0], xmm0
call fcn.1400036f0
movaps xmm9, xmmword [rsp + 0xe0]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rsi + 0x100], xmm0
movss dword [rsi + 0x104], xmm1
movss dword [rsi + 0xf8], xmm0
movss dword [rsi + 0xfc], xmm1
mov qword [rsi + 0x108], r12
mov dword [rsi + 0x144], r12d
mov eax, dword [rsi + 0x14c]
mov dword [rsi + 0x148], eax
mov dword [rsi + 0x14c], r12d
bt r15d, 0x18
jae 0x1400057fa
mov eax, dword [rdi + 0x150]
jmp 0x1400057fd
mov eax, r12d
movzx r9d, byte [rbp + 0x88]
lea rcx, [rsi + 0x160]
mov dword [rsi + 0x150], eax
mov edx, 3
mov byte [rsi + 0x154], r12b
movss xmm0, dword [rsi + 0x60]
comiss xmm0, xmm7
seta al
mov byte [rsi + 0x155], al
mov byte [rsi + 0x156], r12b
movss xmm2, dword [r14 + 0x15b0]
call fcn.140031ba0
lea rcx, [rsi + 0x190]
mov qword [rsi + 0x184], r12
xor edx, edx
call fcn.140014940
lea rax, [rsi + 0x2a8]
mov qword [rsi + 0x1a0], rax
mov eax, 1
mov qword [rsi + 0x1a8], r12
mov dword [rsi + 0x1b0], eax
test rdi, rdi
je 0x140005884
mov eax, dword [rdi + 0x1b0]
mov dword [rsi + 0x1b4], eax
lea rcx, [rsi + 0x1d0]
mov qword [rsi + 0x1b8], 0xffffffffffffffff
xor edx, edx
mov eax, dword [rsi + 0x2a0]
mov dword [rsi + 0x1c4], eax
mov dword [rsi + 0x1c8], 0xbf800000
call fcn.140014900
lea rcx, [rsi + 0x1e0]
xor edx, edx
call fcn.140014900
lea rcx, [rsi + 0x1f0]
xor edx, edx
call fcn.140014900
lea rcx, [rsi + 0x200]
xor edx, edx
call fcn.140014980
test rdi, rdi
je 0x140005905
mov eax, dword [rdi + 0x1c0]
lea rdx, [rsi + 0x1c0]
lea rcx, [rsi + 0x1d0]
mov dword [rdx], eax
call fcn.1400141f0
jmp 0x14000590c
mov dword [rsi + 0x1c0], r12d
movzx eax, byte [rsi + 0x9c]
test al, al
jle 0x14000591f
dec al
mov byte [rsi + 0x9c], al
movzx eax, byte [rsi + 0x9d]
test al, al
jle 0x140005932
dec al
mov byte [rsi + 0x9d], al
test r13b, r13b
je 0x140005949
mov rcx, rsi
call fcn.140008cf0
xor edx, edx
mov rcx, rsi
call fcn.14000c010
test r15b, 1
jne 0x140005963
mov r9, qword [rbp + 0x78]
lea rdx, [rbp - 0x60]
mov r8, qword [rbp + 0x70]
mov rcx, rsi
call fcn.1400107a0
xor r8d, r8d
mov dword [rsi + 0x290], r12d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x60]
call fcn.14000add0
mov edx, dword [rsi + 0x4c]
lea r9, [rbp - 0x60]
movzx r8d, al
mov rcx, rsi
call fcn.140011480
lea rdx, [rsi + 0x248]
mov r8b, 1
lea rcx, [rsi + 0x240]
call fcn.14000f1e0
mov byte [rsi + 0x88], r12b
lea rcx, [r14 + 0x1b38]
inc word [rsi + 0x92]
call fcn.140006ff0
bt r15d, 0x18
jae 0x140005a49
test r15b, 0x40
jne 0x140005a0f
cmp byte [rsi + 0x9c], r12b
jg 0x140005a0f
cmp byte [rsi + 0x9d], r12b
jg 0x140005a0f
movss xmm0, dword [rsi + 0x220]
comiss xmm0, dword [rsi + 0x228]
jae 0x140005a02
movss xmm0, dword [rsi + 0x224]
comiss xmm0, dword [rsi + 0x22c]
jb 0x140005a0f
mov eax, 1
mov dword [rsi + 0xa4], eax
jmp 0x140005a14
mov eax, 1
test rdi, rdi
je 0x140005a49
cmp byte [rdi + 0x89], r12b
jne 0x140005a2b
cmp dword [rdi + 0xa4], r12d
jle 0x140005a31
mov dword [rsi + 0xa4], eax
cmp byte [rdi + 0x89], r12b
jne 0x140005a43
cmp dword [rdi + 0xa8], r12d
jle 0x140005a49
mov dword [rsi + 0xa8], eax
comiss xmm7, dword [r14 + 0x1568]
mov edx, 1
jb 0x140005a5e
mov dword [rsi + 0xa4], edx
cmp dword [rsi + 0xa4], r12d
jg 0x140005a74
cmp dword [rsi + 0xa8], r12d
jg 0x140005a74
xor cl, cl
jmp 0x140005a76
mov cl, 1
xor al, al
mov byte [rsi + 0x8d], cl
cmp byte [rsi + 0x89], al
jne 0x140005a92
cmp byte [rsi + 0x86], al
je 0x140005a92
test cl, cl
je 0x140005aaf
cmp byte [rsi + 0x9c], al
jg 0x140005aaf
cmp byte [rsi + 0x9d], al
jg 0x140005aaf
cmp dword [rsi + 0xa8], r12d
movzx eax, al
cmovle eax, edx
mov byte [rsi + 0x8b], al
jmp 0x140005ae8
mov rcx, rsi
call fcn.1400112e0
lea rdx, [rsi + 0x248]
mov r8b, 1
lea rcx, [rsi + 0x240]
call fcn.14000f1e0
inc word [rsi + 0x92]
lea rcx, [r14 + 0x1b38]
call fcn.140006ff0
cmp byte [rsi + 0x8b], 0
movaps xmm7, xmmword [rsp + 0x100]
sete al
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret