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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm12
movaps xmmword [rsp + 0x1e0], xmm11
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1c0], xmm9
movaps xmmword [rsp + 0x1b0], xmm8
movaps xmmword [rsp + 0x1a0], xmm7
movapd xmmword [rsp + 0x190], xmm6
mov r14d, r8d
mov qword [rsp + 0x80], rdx
mov rbx, rcx
mov rax, qword [0x180127a40]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov rdi, qword [0x180128540]
call fcn.180055910
mov r13, rax
mov rsi, rax
test rax, rax
sete al
mov dword [rsp + 0x44], eax
jne 0x180051bdd
mov rcx, rbx
mov edx, r14d
call fcn.1800562b0
mov rsi, rax
mov qword [rsp + 0x70], rbx
mov eax, r14d
not eax
mov ebp, r14d
or ebp, 6
test eax, 0x30200
cmovne ebp, r14d
mov r15d, dword [rdi + 0x3f60]
cmp dword [rdi + 0x3fd8], 0
je 0x180051c0a
xor eax, eax
jmp 0x180051c11
movzx eax, byte [rdi + 0x3f6d]
mov r14d, dword [rsi + 0x270]
mov byte [rsi + 0xc6], al
lea eax, [r15 - 1]
test ebp, 0x4000000
jne 0x180051c52
lea rbx, [rsi + 0xc4]
cmp r14d, eax
setl byte [rsi + 0xc4]
jl 0x180051c97
mov dword [rsp + 0x54], 0
cmp r14d, r15d
jne 0x180051cb2
mov ebp, dword [rsi + 0x14]
jmp 0x180051d14
cmp r14d, eax
setl al
movsxd rcx, dword [rdi + 0x4ab0]
mov rdx, qword [rdi + 0x4aa8]
imul rcx, rcx, 0x38
mov r8d, dword [rsi + 0xd8]
cmp r8d, dword [rdx + rcx]
setne r8b
cmp rsi, qword [rdx + rcx + 8]
setne cl
or cl, r8b
or cl, al
lea rbx, [rsi + 0xc4]
mov byte [rsi + 0xc4], cl
test cl, cl
je 0x180051c3d
mov al, 1
mov dword [rsp + 0x54], eax
mov rcx, rsi
mov edx, 8
mov r8b, 1
call fcn.1800563f0
cmp r14d, r15d
je 0x180051c4a
test r13, r13
sete dl
mov rcx, rsi
mov r8d, ebp
call fcn.180056470
mov dword [rsi + 0x14], ebp
xor eax, eax
test byte [rdi + 0x49c9], 1
je 0x180051cd7
mov eax, dword [rdi + 0x4a00]
mov dword [rsi + 0x18], eax
mov dword [rsi + 0x270], r15d
movsd xmm0, qword [rdi + 0x3f58]
cvtsd2ss xmm0, xmm0
movss dword [rsi + 0x274], xmm0
mov word [rsi + 0xd0], 0
mov eax, dword [rdi + 0x3ff8]
lea ecx, [rax + 1]
mov dword [rdi + 0x3ff8], ecx
mov word [rsi + 0xd2], ax
movsxd r12, dword [rdi + 0x3fd8]
test r12, r12
mov qword [rsp + 0x68], rbx
je 0x180051d43
mov rax, qword [rdi + 0x3fe0]
imul rcx, r12, 0x68
mov rbx, qword [rcx + rax - 0x68]
cmp r14d, r15d
jne 0x180051d4a
mov rax, qword [rsi + 0x378]
jmp 0x180051d56
xor ebx, ebx
cmp r14d, r15d
je 0x180051d3a
xor eax, eax
test ebp, 0x5000000
cmovne rax, rbx
mov qword [rsp + 0x58], rax
cmp dword [rsi + 0x100], 0
mov dword [rsp + 0x64], r14d
jne 0x180051de2
cmp dword [rsi + 0x104], 0
je 0x180051d7d
mov r14, qword [rsi + 0x108]
xor eax, eax
jmp 0x180051dcc
mov ecx, 0x20
call fcn.180045410
mov r14, rax
mov rdx, qword [rsi + 0x108]
test rdx, rdx
je 0x180051db5
movsxd r8, dword [rsi + 0x100]
shl r8, 2
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x108]
call fcn.1800454e0
mov qword [rsi + 0x108], r14
mov dword [rsi + 0x104], 8
mov eax, dword [rsi + 0x100]
cdqe
mov ecx, dword [rsi + 0x10]
mov dword [r14 + rax*4], ecx
inc dword [rsi + 0x100]
mov r12d, dword [rdi + 0x3fd8]
mov qword [rdi + 0x4008], rsi
mov qword [rsp + 0x108], rsi
lea rcx, [rsp + 0x15c]
xorps xmm0, xmm0
movups xmmword [rsp + 0x15c], xmm0
mov word [rsp + 0x16c], 0
movups xmm0, xmmword [rdi + 0x4978]
movups xmm1, xmmword [rdi + 0x4988]
movups xmm2, xmmword [rdi + 0x4998]
movups xmm3, xmmword [rdi + 0x49a8]
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x120], xmm1
movups xmmword [rsp + 0x130], xmm2
movups xmmword [rsp + 0x140], xmm3
movups xmm0, xmmword [rdi + 0x49b4]
movups xmmword [rsp + 0x14c], xmm0
mov rdx, rdi
call fcn.180056620
cmp r12d, dword [rdi + 0x3fdc]
mov qword [rsp + 0x88], r15
jne 0x180051e8f
mov r15, r13
lea r13d, [r12 + 1]
test r12d, r12d
je 0x180051e98
mov eax, r12d
shr eax, 0x1f
add eax, r12d
sar eax, 1
add eax, r12d
jmp 0x180051e9d
mov r14, qword [rdi + 0x3fe0]
jmp 0x180051efe
mov eax, 8
cmp eax, r13d
cmovg r13d, eax
movsxd rax, r13d
imul rcx, rax, 0x68
call fcn.180045410
mov r14, rax
mov rdx, qword [rdi + 0x3fe0]
test rdx, rdx
je 0x180051ede
movsxd rax, dword [rdi + 0x3fd8]
imul r8, rax, 0x68
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x3fe0]
call fcn.1800454e0
mov qword [rdi + 0x3fe0], r14
mov dword [rdi + 0x3fdc], r13d
mov r12d, dword [rdi + 0x3fd8]
mov r13, r15
mov r15, qword [rsp + 0x88]
movsxd rax, r12d
imul rax, rax, 0x68
mov rcx, qword [rsp + 0x168]
mov qword [r14 + rax + 0x60], rcx
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [r14 + rax + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [r14 + rax + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x108]
movups xmm1, xmmword [rsp + 0x118]
movups xmm2, xmmword [rsp + 0x128]
movupd xmm3, xmmword [rsp + 0x138]
movupd xmmword [r14 + rax + 0x30], xmm3
movups xmmword [r14 + rax + 0x20], xmm2
movups xmmword [r14 + rax + 0x10], xmm1
movups xmmword [r14 + rax], xmm0
inc dword [rdi + 0x3fd8]
test ebp, 0x10000000
je 0x180051f7b
inc dword [rdi + 0x4ad0]
mov r14d, dword [rsp + 0x64]
cmp r14d, r15d
je 0x180051f9b
mov rcx, rsi
mov edx, ebp
mov r8, qword [rsp + 0x58]
call fcn.180056170
mov qword [rsi + 0x380], rbx
test ebp, 0x800000
jne 0x180051fab
mov ecx, dword [rsi + 0x10]
call fcn.180056690
mov eax, dword [rdi + 0x494c]
mov dword [rsi + 0x3e8], eax
mov qword [rdi + 0x4008], 0
test ebp, 0x4000000
je 0x1800520bc
movsxd rax, dword [rdi + 0x4ab0]
mov rcx, qword [rdi + 0x4aa8]
imul rax, rax, 0x38
lea r12, [rcx + rax]
mov qword [rcx + rax + 8], rsi
mov edx, dword [rbx + 0x168]
mov dword [rcx + rax + 0x18], edx
mov eax, dword [rdi + 0x4ab0]
cmp eax, dword [rdi + 0x4ab4]
jne 0x180052015
lea ebx, [rax + 1]
test eax, eax
je 0x18005201e
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x180052023
mov r14, qword [rdi + 0x4ab8]
jmp 0x180052075
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
movsxd rax, ebx
imul rcx, rax, 0x38
call fcn.180045410
mov r14, rax
mov rdx, qword [rdi + 0x4ab8]
test rdx, rdx
je 0x180052062
movsxd rax, dword [rdi + 0x4ab0]
imul r8, rax, 0x38
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x4ab8]
call fcn.1800454e0
mov qword [rdi + 0x4ab8], r14
mov dword [rdi + 0x4ab4], ebx
mov eax, dword [rdi + 0x4ab0]
cdqe
imul rax, rax, 0x38
mov rcx, qword [r12 + 0x30]
mov qword [r14 + rax + 0x30], rcx
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [r14 + rax + 0x20], xmm2
movups xmmword [r14 + rax + 0x10], xmm1
movups xmmword [r14 + rax], xmm0
inc dword [rdi + 0x4ab0]
mov eax, dword [r12]
mov dword [rsi + 0xd8], eax
mov r14d, dword [rsp + 0x64]
test byte [rdi + 0x49c8], 1
jne 0x1800520ca
xor r12d, r12d
jmp 0x180052141
mov eax, dword [rsi + 0xe8]
movsx ecx, al
mov r8d, dword [rdi + 0x49cc]
test ecx, r8d
setne r12b
je 0x180052132
movss xmm0, dword [rdi + 0x49e0]
movss xmm1, dword [rdi + 0x49e4]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x1800f0118]
jbe 0x180052132
mov rcx, qword [rdi + 0x49d8]
mov qword [rsi + 0xec], rcx
mov rcx, qword [rdi + 0x49e0]
mov qword [rsi + 0xf4], rcx
and eax, 0xfffffff1
mov dword [rsi + 0xe8], eax
mov r12b, 1
jmp 0x180052141
lea rdx, [rdi + 0x49d8]
mov rcx, rsi
call fcn.18004e220
mov eax, dword [rdi + 0x49c8]
test al, 2
jne 0x180052162
mov dword [rsp + 0x48], 0
xor ebx, ebx
test al, al
js 0x180052200
jmp 0x180052241
mov eax, dword [rsi + 0xe8]
mov ecx, eax
shr ecx, 8
movsx ecx, cl
mov r8d, dword [rdi + 0x49d0]
test ecx, r8d
je 0x1800521a1
movss xmm0, dword [rdi + 0x49e8]
movss xmm1, dword [rdi + 0x49ec]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
seta bl
ucomiss xmm1, xmm2
seta cl
mov dword [rsp + 0x48], ecx
jmp 0x1800521ab
xor ebx, ebx
mov dword [rsp + 0x48], 0
mov ecx, dword [rsi + 0x18]
test eax, 0x400
jne 0x1800521cc
mov eax, ecx
and eax, 4
je 0x1800521cc
movss xmm0, dword [rsi + 0x38]
movss dword [rdi + 0x49e8], xmm0
mov ecx, dword [rsi + 0x18]
test cl, 8
je 0x1800521e7
test byte [rsi + 0xe9], 4
jne 0x1800521e7
movss xmm0, dword [rsi + 0x3c]
movss dword [rdi + 0x49ec], xmm0
lea rdx, [rdi + 0x49e8]
mov rcx, rsi
call fcn.180056740
mov eax, dword [rdi + 0x49c8]
test al, al
jns 0x180052241
movss xmm1, dword [rdi + 0x49f8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jb 0x180052222
movss dword [rsi + 0x9c], xmm1
mov dword [rsi + 0xa4], 0
movss xmm1, dword [rdi + 0x49fc]
ucomiss xmm1, xmm0
jb 0x180052241
movss dword [rsi + 0xa0], xmm1
mov dword [rsi + 0xa8], 0
test byte [rdi + 0x49c8], 4
jne 0x180052259
cmp r14d, r15d
je 0x180052264
mov qword [rsi + 0x50], 0
jmp 0x180052264
mov rax, qword [rdi + 0x49f0]
mov qword [rsi + 0x50], rax
mov eax, dword [rdi + 0x49c8]
test al, 8
je 0x18005228a
mov r8d, dword [rdi + 0x49d4]
movzx edx, byte [rdi + 0x4a04]
mov rcx, rsi
call fcn.180056830
mov eax, dword [rdi + 0x49c8]
test al, 0x20
je 0x180052298
mov rcx, rsi
xor edx, edx
call fcn.18004df10
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
je 0x1800522b2
mov rcx, rsi
mov edx, 8
xor r8d, r8d
call fcn.1800563f0
cmp r14d, r15d
jne 0x1800522c4
mov rcx, rsi
call fcn.180056870
jmp 0x1800538bb
movzx eax, byte [rsi + 0xe5]
mov byte [rsp + 0x53], al
mov byte [rsi + 0xbe], 1
cmp qword [rsp + 0x80], 0
setne byte [rsi + 0xc8]
movaps xmm0, xmmword [0x1800f0120]
movups xmmword [rsi + 0x248], xmm0
mov eax, dword [rsi + 0x104]
test eax, eax
jg 0x180052368
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
test eax, eax
mov r15d, 8
cmovne r15d, ecx
lea rcx, [r15*4]
call fcn.180045410
mov r14, rax
mov rdx, qword [rsi + 0x108]
test rdx, rdx
je 0x18005235a
movsxd r8, dword [rsi + 0x100]
shl r8, 2
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x108]
call fcn.1800454e0
mov qword [rsi + 0x108], r14
mov dword [rsi + 0x104], r15d
mov dword [rsi + 0x100], 1
mov rcx, qword [rsi + 0x2a8]
call fcn.18008b4f0
mov dword [rsi + 0x1c0], 0xffffffff
cmp byte [rsi + 0x3f4], 0
je 0x180052399
mov rcx, rsi
call fcn.18004d2b0
cmp qword [rdi + 0x4cd8], 0
je 0x1800523fc
test r13, r13
je 0x1800523fc
mov eax, 0x20000
and eax, dword [rsi + 0x14]
jne 0x1800523fc
mov r14, qword [rsi + 8]
mov rcx, qword [rsp + 0x70]
mov rdx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x1800523fc
movsxd rax, dword [rsi + 0x80]
mov qword [rsp + 0xf8], rax
lea rdx, [rsp + 0xf8]
mov rcx, r14
mov r8, qword [rsp + 0x70]
call fcn.180045460
mov qword [rsi + 8], rax
mov eax, dword [rsp + 0xf8]
mov dword [rsi + 0x80], eax
lea r15, [rsi + 0x48]
lea rdx, [rsi + 0x40]
mov rcx, rsi
mov qword [rsp + 0x78], rdx
mov r8, r15
call fcn.1800559b0
movzx eax, byte [rsi + 0xe4]
test al, al
jle 0x180052427
dec al
mov byte [rsi + 0xe4], al
movzx eax, byte [rsi + 0xe5]
test al, al
mov r14d, dword [rsp + 0x54]
jle 0x18005243f
dec al
mov byte [rsi + 0xe5], al
movzx eax, byte [rsi + 0xe6]
test al, al
jle 0x180052452
dec al
mov byte [rsi + 0xe6], al
test r13, r13
jne 0x180052466
mov eax, ebx
and al, byte [rsp + 0x48]
jne 0x180052466
mov byte [rsi + 0xe5], 1
test ebp, 0x6000000
setne al
and al, r14b
cmp al, 1
jne 0x1800524b5
mov byte [rsi + 0xe5], 1
test bpl, 0x40
je 0x1800524b5
test bl, bl
jne 0x180052495
mov dword [rsi + 0x38], 0
mov dword [rsi + 0x30], 0
cmp byte [rsp + 0x48], 0
jne 0x1800524aa
mov dword [rsi + 0x3c], 0
mov dword [rsi + 0x34], 0
xorps xmm0, xmm0
mov rax, qword [rsp + 0x78]
movups xmmword [rax], xmm0
call fcn.180054120
mov rcx, rsi
mov qword [rsp + 0x90], rax
mov rdx, rax
call fcn.180056860
mov rcx, rsi
call fcn.180056870
test ebp, 0x1000000
je 0x180052541
movss xmm1, dword [rdi + 0x3920]
movss dword [rsi + 0x64], xmm1
mov rax, qword [rdi + 0x38f8]
mov qword [rsi + 0x58], rax
mov ecx, ebp
and ecx, 0x5000000
movd xmm0, eax
mov al, 1
cmp ecx, 0x1000000
jne 0x18005257a
xor eax, eax
test byte [rsi + 0x18], 2
jne 0x18005257a
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jne 0x18005257a
jp 0x18005257a
test ebp, 0x400
je 0x18005252d
movss xmm2, dword [rdi + 0x38fc]
mov dword [rsi + 0x58], 0
movss dword [rsi + 0x5c], xmm2
pxor xmm0, xmm0
xor eax, eax
jmp 0x18005257a
test ebp, 0x8000000
mov eax, 0x3928
mov ecx, 0x3904
cmovne rax, rcx
test ebp, 0x6000000
cmove rax, rcx
movss xmm0, dword [rdi + rax]
movss dword [rsi + 0x64], xmm0
mov rax, qword [rdi + 0x38f8]
mov qword [rsi + 0x58], rax
movd xmm0, eax
mov al, 1
movss xmm1, dword [rdi + 0x4a2c]
movss xmm2, dword [rdi + 0x393c]
movaps xmm3, xmm2
cmpless xmm3, xmm0
andps xmm0, xmm3
andnps xmm3, xmm2
orps xmm3, xmm0
movaps xmm0, xmm1
cmpless xmm0, xmm3
movaps xmm2, xmm0
andps xmm2, xmm3
andnps xmm0, xmm1
orps xmm0, xmm2
movss dword [rsi + 0x174], xmm0
movss xmm0, dword [rdi + 0x4a30]
movss dword [rsi + 0x178], xmm0
test bpl, 0x21
mov dword [rsp + 0x68], eax
je 0x1800525e5
mov byte [rsi + 0xc1], 0
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x4c], eax
jmp 0x1800526db
movss xmm0, dword [rsi + 0x2c]
xorps xmm2, xmm2
test byte [rsi + 0x14], 1
jne 0x18005262a
mov rax, qword [rsi]
movss xmm1, dword [rax + 0x3d44]
mulss xmm1, dword [rsi + 0x2a0]
mov rcx, qword [rsi + 0x378]
test rcx, rcx
je 0x18005261a
mulss xmm1, dword [rcx + 0x2a0]
movss xmm2, dword [rax + 0x3930]
addss xmm2, xmm2
addss xmm2, xmm1
mov rax, qword [rsi + 0x28]
movss xmm1, dword [rsi + 0x28]
unpcklps xmm1, xmm0
movss xmm0, dword [rsi + 0x38]
unpcklps xmm0, xmm2
addps xmm0, xmm1
mov qword [rsp + 0xf8], rax
movlps qword [rsp + 0x100], xmm0
cmp qword [rdi + 0x4010], rsi
jne 0x180052699
cmp dword [rdi + 0x4058], 0
jne 0x180052699
cmp dword [rdi + 0x405c], 0
jne 0x180052699
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xf8]
mov r8b, 1
call fcn.18004da50
test al, al
je 0x180052699
cmp word [rdi + 0x3872], 2
jne 0x180052699
mov byte [rsi + 0xc2], 1
cmp byte [rsi + 0xc2], 0
mov edx, dword [rsp + 0x44]
mov eax, edx
mov dword [rsp + 0x4c], eax
je 0x1800526db
movzx eax, byte [rsi + 0xc1]
mov ecx, eax
xor cl, 1
mov byte [rsi + 0xc1], cl
test al, al
mov eax, 0
mov al, dl
mov ecx, 1
cmove ecx, eax
mov dword [rsp + 0x4c], ecx
mov rcx, rsi
call fcn.180056900
mov byte [rsi + 0xc2], 0
movss xmm7, dword [rsi + 0xb4]
movss xmm6, dword [rsi + 0xb8]
mov dword [rsi + 0x68], 0
mov dword [rsi + 0x70], 0
mov eax, dword [rsi + 0x14]
xorps xmm1, xmm1
xorps xmm0, xmm0
test al, 1
jne 0x180052744
mov rcx, qword [rsi]
movss xmm2, dword [rcx + 0x3d44]
mulss xmm2, dword [rsi + 0x2a0]
mov rdx, qword [rsi + 0x378]
test rdx, rdx
je 0x180052734
mulss xmm2, dword [rdx + 0x2a0]
movss xmm0, dword [rcx + 0x3930]
addss xmm0, xmm0
addss xmm0, xmm2
test eax, 0x400
je 0x18005278e
mov rax, qword [rsi]
movss xmm2, dword [rsi + 0x178]
movss xmm1, dword [rax + 0x3d44]
mulss xmm1, dword [rsi + 0x2a0]
mov rcx, qword [rsi + 0x378]
test rcx, rcx
je 0x18005277a
mulss xmm1, dword [rcx + 0x2a0]
addss xmm2, xmm1
movss xmm1, dword [rax + 0x3930]
addss xmm1, xmm1
addss xmm1, xmm2
addss xmm0, xmm1
movss dword [rsi + 0x6c], xmm0
mov dword [rsi + 0x74], 0
mov qword [rsi + 0xb4], 0
lea rcx, [rsp + 0xf0]
mov rdx, rsi
mov r8, r15
call fcn.180055af0
test bpl, 0x40
mov qword [rsp + 0x98], r13
je 0x1800527d7
cmp byte [rsi + 0xc1], 0
je 0x180052890
cmp byte [rsi + 0xdc], 0
jle 0x180052821
test bl, bl
mov r15, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x44]
jne 0x180052837
cmp byte [rsi + 0xde], 0
movss xmm0, dword [rsp + 0xf0]
je 0x180052818
movss xmm1, dword [rsi + 0x38]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [rsi + 0x38], xmm0
mov bl, 1
jmp 0x180052837
cmp byte [rsi + 0xdd], 0
mov r15, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x44]
jle 0x1800528c8
cmp byte [rsp + 0x48], 0
jne 0x18005287d
cmp byte [rsi + 0xdd], 0
jle 0x18005287d
cmp byte [rsi + 0xde], 0
movss xmm0, dword [rsp + 0xf4]
je 0x180052872
movss xmm1, dword [rsi + 0x3c]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [rsi + 0x3c], xmm0
mov al, 1
mov dword [rsp + 0x4c], eax
cmp byte [rsi + 0xc1], 0
jne 0x1800528c8
mov rcx, rsi
call fcn.180056900
jmp 0x1800528c8
test bl, bl
mov ebx, dword [rsp + 0x44]
jne 0x1800528a8
movss xmm0, dword [rsp + 0xf0]
movss dword [rsi + 0x38], xmm0
mov bl, 1
cmp byte [rsp + 0x48], 0
mov r15, qword [rsp + 0x58]
jne 0x1800528c8
movss xmm0, dword [rsp + 0xf4]
movss dword [rsi + 0x3c], xmm0
mov al, 1
mov dword [rsp + 0x4c], eax
mov r13d, ebp
shr r13d, 0x1a
lea r8, [rsi + 0x38]
lea rcx, [rsp + 0xf8]
mov rdx, rsi
call fcn.180055e40
mov rax, qword [rsp + 0xf8]
mov qword [rsi + 0x38], rax
cmp byte [rsi + 0xc1], 0
movd xmm0, eax
je 0x18005295f
mov ecx, ebp
and ecx, 0x1000000
jne 0x18005295f
movss xmm1, dword [rsi + 0x2c]
xorps xmm3, xmm3
test byte [rsi + 0x14], 1
jne 0x18005294b
mov rax, qword [rsi]
movss xmm2, dword [rax + 0x3d44]
mulss xmm2, dword [rsi + 0x2a0]
mov rcx, qword [rsi + 0x378]
test rcx, rcx
je 0x18005293b
mulss xmm2, dword [rcx + 0x2a0]
movss xmm3, dword [rax + 0x3930]
addss xmm3, xmm3
addss xmm3, xmm2
movss xmm2, dword [rsi + 0x28]
unpcklps xmm2, xmm1
punpckldq xmm0, xmm3
addps xmm0, xmm2
subps xmm0, xmm2
jmp 0x18005296b
shr rax, 0x20
movd xmm1, eax
punpckldq xmm0, xmm1
mov dword [rsp + 0x44], ebx
and r13d, 1
movlps qword [rsi + 0x30], xmm0
test r14b, r14b
je 0x1800529b5
mov dword [rsi + 0xe0], 0xffffffff
mov eax, ebp
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, r12b
jne 0x1800529b5
mov rax, qword [rdi + 0x4ab8]
movsxd rcx, dword [rdi + 0x4ab0]
imul rcx, rcx, 0x38
mov rax, qword [rcx + rax - 0x14]
mov qword [rsi + 0x28], rax
mov ebx, ebp
and ebx, 0x3000000
test ebp, 0x1000000
je 0x180052a9d
movzx eax, word [r15 + 0x1a0]
mov word [rsi + 0xd0], ax
mov eax, dword [r15 + 0x1a0]
cmp eax, dword [r15 + 0x1a4]
jne 0x180052a02
mov dword [rsp + 0x48], r12d
lea r12d, [rax + 1]
test eax, eax
je 0x180052a0b
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x180052a10
mov r14, qword [r15 + 0x1a8]
jmp 0x180052a70
mov ecx, 8
cmp ecx, r12d
cmovg r12d, ecx
movsxd rcx, r12d
shl rcx, 3
call fcn.180045410
mov r14, rax
mov r15, qword [rsp + 0x58]
mov rdx, qword [r15 + 0x1a8]
test rdx, rdx
je 0x180052a56
movsxd r8, dword [r15 + 0x1a0]
shl r8, 3
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r15 + 0x1a8]
call fcn.1800454e0
mov qword [r15 + 0x1a8], r14
mov dword [r15 + 0x1a4], r12d
mov eax, dword [r15 + 0x1a0]
mov r12d, dword [rsp + 0x48]
cdqe
mov qword [r14 + rax*8], rsi
inc dword [r15 + 0x1a0]
mov eax, r12d
or al, r13b
mov r14d, dword [rsp + 0x54]
jne 0x180052a9d
cmp ebx, 0x3000000
je 0x180052a9d
mov rax, qword [r15 + 0x110]
mov qword [rsi + 0x28], rax
movss xmm0, dword [rsi + 0xec]
ucomiss xmm0, dword [0x1800eaa34]
jne 0x180052ab0
jnp 0x180052ab9
cmp byte [rsi + 0xe5], 0
je 0x180052b0a
test ebp, 0x10000000
jne 0x180052aec
test ebp, 0x4000000
sete al
or al, r12b
jne 0x180052ad6
cmp byte [rsp + 0x53], 0
jg 0x180052aec
test ebp, 0x2000000
sete al
or al, r12b
jne 0x180052b43
cmp ebx, 0x3000000
je 0x180052b43
lea rcx, [rsp + 0xf8]
mov rdx, rsi
call fcn.180056930
mov rax, qword [rsp + 0xf8]
mov qword [rsi + 0x28], rax
jmp 0x180052b43
movsd xmm1, qword [rsi + 0x30]
movsd xmm2, qword [rsi + 0xf4]
mulps xmm2, xmm1
movss xmm1, dword [rsi + 0xf0]
unpcklps xmm0, xmm1
subps xmm0, xmm2
movlps qword [rsp + 0xf8], xmm0
lea rdx, [rsp + 0xf8]
mov rcx, rsi
xor r8d, r8d
call fcn.18004e220
mov eax, ebp
shr eax, 0x18
and eax, 1
mov rcx, qword [rsp + 0x90]
movsd xmm2, qword [rcx + 4]
movsd xmm1, qword [rcx + 0xc]
addps xmm1, xmm2
movaps xmm0, xmm2
movlhps xmm0, xmm1
movups xmmword [rsp + 0xf8], xmm0
movsd xmm3, qword [rcx + 0x14]
movsd xmm0, qword [rdi + 0x39b4]
movsd xmm4, qword [rdi + 0x39bc]
movaps xmm5, xmm4
cmpleps xmm5, xmm0
andps xmm0, xmm5
andnps xmm5, xmm4
orps xmm5, xmm0
movaps xmm0, xmm3
addps xmm0, xmm5
movlps qword [rsp + 0xe0], xmm0
movsd xmm4, qword [rcx + 0x1c]
addps xmm4, xmm3
subps xmm4, xmm5
movlps qword [rsp + 0xe8], xmm4
or r12b, al
cmp r12b, 1
je 0x180052c67
subps xmm1, xmm2
xorps xmm2, xmm2
cmpltps xmm2, xmm1
unpcklps xmm2, xmm2
movmskpd eax, xmm2
test al, 1
je 0x180052c67
shr al, 1
je 0x180052c67
mov rax, qword [0x180128540]
movss xmm1, dword [rsi + 0x30]
movss xmm2, dword [rsi + 0x34]
cmp byte [rax + 0x5f], 0
je 0x180052c36
test byte [rsi + 0x14], 1
jne 0x180052c36
mov rax, qword [rsi]
movss xmm3, dword [rax + 0x3d44]
mulss xmm3, dword [rsi + 0x2a0]
mov rcx, qword [rsi + 0x378]
test rcx, rcx
je 0x180052c26
mulss xmm3, dword [rcx + 0x2a0]
movss xmm2, dword [rax + 0x3930]
addss xmm2, xmm2
addss xmm2, xmm3
unpcklps xmm1, xmm2
subps xmm0, xmm1
movsd xmm1, qword [rsp + 0xe8]
movsd xmm2, qword [rsi + 0x28]
minps xmm1, xmm2
cmpltps xmm2, xmm0
andps xmm0, xmm2
andnps xmm2, xmm1
orps xmm2, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movlps qword [rsi + 0x28], xmm0
jmp 0x180052c88
movsd xmm0, qword [rsi + 0x28]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [rsi + 0x28], xmm0
test ebp, 0x1000000
je 0x180052c88
lea rax, [rdi + 0x391c]
jmp 0x180052ca6
mov eax, ebp
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x180052c9f
lea rax, [rdi + 0x3924]
jmp 0x180052ca6
lea rax, [rdi + 0x3900]
mov ecx, ebp
shr ecx, 0xc
and ecx, 1
mov edx, r14d
xor dl, 1
or dl, cl
mov ecx, edx
xor cl, 1
xor r12d, r12d
test ebx, ebx
sete r12b
test r13b, r13b
movzx ecx, cl
cmovne r12d, ecx
movss xmm0, dword [rax]
test dl, dl
cmovne r12d, ecx
movss dword [rsi + 0x60], xmm0
mov dword [rsp + 0xdc], 0xffffffff
mov dword [rsp + 0xd8], 0xffffffff
xorps xmm1, xmm1
movaps xmmword [rsp + 0x170], xmm1
xor r14d, r14d
test byte [rsi + 0x17], 1
jne 0x180052d15
cmp byte [rdi + 0x5e], 1
mov r14d, 2
sbb r14d, 0
addss xmm0, dword [0x1800d5260]
movss xmm8, dword [rdi + 0x3d40]
movss xmm9, dword [0x1800f0130]
mulss xmm9, xmm8
addss xmm9, xmm0
mulss xmm8, dword [0x1800f0134]
movaps xmm10, xmm9
cmpless xmm10, xmm8
cmp byte [rsi + 0xc1], 0
mov r13, qword [rsp + 0x98]
jne 0x180052dc6
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0xdc]
lea r9, [rsp + 0xd8]
mov rcx, rsi
call fcn.180056b70
test eax, eax
je 0x180052dc6
test al, 1
mov edx, dword [rsp + 0x44]
movzx edx, dl
mov ecx, 1
cmovne edx, ecx
mov dword [rsp + 0x44], edx
cmp eax, 1
mov eax, dword [rsp + 0x4c]
movzx eax, al
cmovne eax, ecx
mov dword [rsp + 0x4c], eax
movaps xmm0, xmm10
andnps xmm0, xmm9
andps xmm8, xmm10
movzx eax, byte [rsp + 0xdc]
mov byte [rsi + 0xc9], al
movzx eax, byte [rsp + 0xd8]
mov byte [rsi + 0xca], al
cmp byte [rsi + 0xc1], 0
jne 0x180052f8c
test r13, r13
je 0x180052e1e
movsd xmm1, qword [rsi + 0x40]
movsd xmm2, qword [rsi + 0x58]
addps xmm2, xmm2
addps xmm2, xmm1
cmp byte [rsp + 0x44], 0
je 0x180052e28
movss xmm7, dword [rsi + 0x38]
jmp 0x180052e3c
xorps xmm2, xmm2
cmp byte [rsp + 0x44], 0
jne 0x180052e17
movss xmm1, dword [rsi + 0x210]
subss xmm1, dword [rsi + 0x208]
addss xmm7, xmm1
movss xmm1, dword [rsi + 0x74]
cmp byte [rsp + 0x4c], 0
je 0x180052e77
movss xmm6, dword [rsi + 0x3c]
movss xmm3, dword [rsi + 0x6c]
addss xmm3, xmm1
subss xmm6, xmm3
test ebp, 0x4000
je 0x180052e93
mov byte [rsi + 0xbd], 1
test bp, bp
js 0x180052ecb
lea rcx, [rsi + 0xbd]
jmp 0x180052ebf
movss xmm3, dword [rsi + 0x214]
subss xmm3, dword [rsi + 0x20c]
addss xmm6, xmm3
test ebp, 0x4000
jne 0x180052e62
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
ucomiss xmm3, xmm6
seta cl
test bpl, 8
sete al
and al, cl
lea rcx, [rsi + 0xbd]
mov byte [rsi + 0xbd], al
test bp, bp
js 0x180052ed6
test al, al
je 0x180052ee3
movss xmm3, dword [rdi + 0x3964]
mov al, 1
jmp 0x180052ee8
mov byte [rsi + 0xbc], 1
mov al, 1
jmp 0x180052f43
mov byte [rsi + 0xbc], 1
test al, al
je 0x180052f1a
jmp 0x180052f43
xorps xmm3, xmm3
xor eax, eax
subss xmm7, xmm3
ucomiss xmm2, xmm7
jbe 0x180052f54
mov edx, ebp
and edx, 8
jne 0x180052f54
mov r8d, ebp
and r8d, 0x800
mov edx, r8d
shr edx, 0xb
mov byte [rsi + 0xbc], dl
xorps xmm3, xmm3
test r8d, r8d
je 0x180052f5e
test al, al
jne 0x180052f3b
lea rdx, [rsi + 0xbc]
shufps xmm2, xmm2, 0x55
ucomiss xmm2, xmm6
seta r8b
test bpl, 8
sete al
and al, r8b
mov byte [rcx], al
movzx edx, byte [rdx]
test dl, dl
je 0x180053b2b
movss xmm3, dword [rdi + 0x3964]
test al, al
jne 0x180052f62
xorps xmm2, xmm2
jmp 0x180052f6a
mov byte [rsi + 0xbc], 0
xorps xmm3, xmm3
test al, al
je 0x180052f4f
movss xmm2, dword [rdi + 0x3964]
movss dword [rsi + 0xb4], xmm2
movss dword [rsi + 0xb8], xmm3
unpcklps xmm2, xmm3
movss xmm3, dword [rsi + 0x70]
unpcklps xmm3, xmm1
addps xmm3, xmm2
movlps qword [rsi + 0x70], xmm3
cmp ebx, 0x3000000
sete al
lea rcx, [r15 + 0x248]
mov edx, dword [rsp + 0x68]
or dl, al
mov dword [rsp + 0x68], edx
lea rax, [rsp + 0xf8]
cmovne rcx, rax
orps xmm0, xmm8
movups xmm1, xmmword [rcx]
movaps xmmword [rsp + 0xc0], xmm1
movss xmm3, dword [rsi + 0x28]
movss xmm5, dword [rsi + 0x2c]
movsd xmm2, qword [rsi + 0x30]
movsd xmm4, qword [rsi + 0x28]
movaps xmm1, xmm4
addps xmm1, xmm2
xorps xmm6, xmm6
test byte [rsi + 0x14], 1
jne 0x18005301b
mov rax, qword [rsi]
movss xmm7, dword [rax + 0x3d44]
mulss xmm7, dword [rsi + 0x2a0]
mov rcx, qword [rsi + 0x378]
test rcx, rcx
je 0x18005300b
mulss xmm7, dword [rcx + 0x2a0]
movss xmm6, dword [rax + 0x3930]
addss xmm6, xmm6
addss xmm6, xmm7
cvttps2dq xmm0, xmm0
mov ecx, ebp
and ecx, 0x401
lea rax, [rdi + 0x3938]
lea rdx, [rsi + 0x64]
cmp ecx, 1
cmove rax, rdx
mov rcx, qword [rsi + 0x28]
movss xmm7, dword [rsi + 0x38]
unpcklps xmm7, xmm6
mov qword [rsp + 0xb0], rcx
addps xmm4, xmm7
movlps qword [rsp + 0xb8], xmm4
lea r15, [rsp + 0xc8]
movaps xmm4, xmmword [rsp + 0xc0]
unpcklps xmm3, xmm5
movlhps xmm3, xmm1
movaps xmm6, xmm4
cmpleps xmm6, xmm3
movaps xmm7, xmm3
cmpltps xmm7, xmm4
movsd xmm7, xmm6
andps xmm3, xmm7
andnps xmm7, xmm4
orps xmm7, xmm3
movups xmmword [rsi + 0x1f8], xmm7
movd xmm3, ecx
movaps xmm6, xmm2
addss xmm6, xmm3
movsd xmm7, qword [rsi + 0x68]
unpcklps xmm3, xmm5
addps xmm3, xmm7
movsd xmm5, qword [rsi + 0x70]
movss xmm1, xmm6
subps xmm1, xmm5
movaps xmm5, xmm3
movlhps xmm5, xmm1
movups xmmword [rsi + 0x208], xmm5
movss xmm6, dword [rsi + 0x58]
movss xmm7, dword [rsi + 0x64]
mulss xmm6, dword [0x1800d52b0]
cvttps2dq xmm6, xmm6
cvtdq2ps xmm6, xmm6
movaps xmm8, xmm7
cmpless xmm8, xmm6
andps xmm6, xmm8
andnps xmm8, xmm7
orps xmm8, xmm6
addps xmm5, xmmword [0x1800f0140]
movss xmm6, dword [rax]
unpcklps xmm8, xmm6
movss xmm6, dword [rsi + 0x64]
movaps xmm7, xmm5
addps xmm7, xmm8
shufps xmm8, xmm6, 0x24
shufps xmm8, xmm8, 0xc4
subps xmm5, xmm8
movsd xmm5, xmm7
cvttps2dq xmm5, xmm5
cvtdq2ps xmm5, xmm5
movsd xmm6, qword [rsp + 0xc8]
movlhps xmm6, xmm6
movlhps xmm4, xmm4
minps xmm6, xmm5
cmpltps xmm5, xmm4
andps xmm4, xmm5
andnps xmm5, xmm6
orps xmm5, xmm4
movups xmmword [rsi + 0x218], xmm5
test bpl, 0x40
jne 0x180053169
xorps xmm4, xmm4
ucomiss xmm2, xmm4
jbe 0x180053169
mov eax, ebp
and eax, 0x2000000
jne 0x180053169
mulss xmm2, dword [0x1800f0150]
jmp 0x180053179
movss xmm2, dword [rdi + 0x3d40]
mulss xmm2, dword [0x1800ea834]
cvtdq2ps xmm6, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x278], xmm0
subps xmm1, xmm3
movsd xmm0, qword [rsi + 0x40]
movsd xmm2, qword [rsi + 0x58]
addps xmm2, xmm2
addps xmm2, xmm0
subps xmm2, xmm1
xorps xmm7, xmm7
movaps xmm0, xmm2
cmpnleps xmm0, xmm7
andps xmm0, xmm2
movlps qword [rsi + 0x94], xmm0
lea rcx, [rsp + 0xa0]
mov rdx, rsi
call fcn.180057880
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x8c], rax
movabs rax, 0x7f7fffff7f7fffff
mov qword [rsi + 0x9c], rax
movlps qword [rsi + 0x78], xmm7
mov rcx, qword [rsi + 0x2a8]
mov rax, qword [rdi + 0x3d38]
mov rax, qword [rax + 0x40]
mov rdx, qword [rax + 8]
call fcn.18008c580
xor ebx, ebx
lea rcx, [rsp + 0xc0]
mov rdx, r15
xor r8d, r8d
call fcn.180053b50
cmp byte [rsp + 0x68], 0
mov r15, qword [rsp + 0x58]
jne 0x1800532c8
mov eax, dword [r15 + 0x1a0]
cmp eax, 2
jl 0x180053291
add eax, 0xfffffffe
mov rcx, qword [r15 + 0x1a8]
mov rcx, qword [rcx + rax*8]
test rcx, rcx
je 0x180053291
movss xmm0, dword [rcx + 0x2c]
movss xmm2, dword [rcx + 0x34]
addss xmm2, xmm0
movss xmm1, dword [rsi + 0x2c]
xor eax, eax
ucomiss xmm2, xmm1
jbe 0x180053293
addss xmm1, dword [rsi + 0x34]
ucomiss xmm1, xmm0
jbe 0x180053293
movss xmm0, dword [rcx + 0x28]
movss xmm2, dword [rcx + 0x30]
addss xmm2, xmm0
movss xmm1, dword [rsi + 0x28]
ucomiss xmm2, xmm1
jbe 0x180053293
addss xmm1, dword [rsi + 0x30]
ucomiss xmm1, xmm0
seta al
jmp 0x180053293
xor eax, eax
mov rcx, qword [rsi + 0x2a8]
mov rdx, qword [rcx + 8]
movsxd rcx, dword [rcx]
imul rcx, rcx, 0x38
xor ebx, ebx
cmp dword [rcx + rdx - 0x18], 0
jne 0x1800532c8
mov rcx, qword [r15 + 0x2a8]
cmp dword [rcx + 0x20], 0
je 0x1800532c8
test al, al
jne 0x1800532c8
mov qword [rsi + 0x2a8], rcx
mov bl, 1
mov rax, qword [rdi + 0x4cc8]
test rax, rax
jne 0x1800532db
mov rax, qword [rdi + 0x4ae8]
mov r8b, 1
test r12b, 1
jne 0x180053300
test rax, rax
je 0x1800532fd
mov rcx, qword [rsi + 0x398]
cmp rcx, qword [rax + 0x398]
sete r8b
jmp 0x180053300
xor r8d, r8d
movss dword [rsp + 0x28], xmm6
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0xb0]
mov rcx, rsi
mov r9d, r14d
call fcn.180057a60
test bl, bl
je 0x180053338
lea rax, [rsi + 0x2b0]
mov qword [rsi + 0x2a8], rax
movss xmm0, dword [rsi + 0x50]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movaps xmm6, xmm0
mov r8d, dword [rsp + 0x54]
jne 0x180053397
jp 0x180053397
mov eax, ebp
and eax, 0x808
movss xmm2, dword [rsi + 0x30]
movss xmm3, dword [rsi + 0x58]
addss xmm3, xmm3
subss xmm2, xmm3
movss xmm3, dword [rsi + 0x68]
addss xmm3, dword [rsi + 0x70]
subss xmm2, xmm3
cmp eax, 0x800
jne 0x180053386
mov rax, qword [rsp + 0x78]
movss xmm1, dword [rax]
movaps xmm6, xmm2
cmpless xmm6, xmm1
andps xmm1, xmm6
andnps xmm6, xmm2
orps xmm6, xmm1
movss xmm3, dword [rsi + 0x54]
movss xmm2, dword [rsi + 0x5c]
xorps xmm4, xmm4
ucomiss xmm3, xmm4
movss xmm1, dword [rsi + 0x6c]
movaps xmm7, xmm3
jne 0x1800533ec
jp 0x1800533ec
movss xmm5, dword [rsi + 0x34]
movaps xmm7, xmm2
addss xmm7, xmm2
subss xmm5, xmm7
movss xmm7, dword [rsi + 0x74]
addss xmm7, xmm1
subss xmm5, xmm7
test bpl, 8
jne 0x1800533db
movss xmm4, dword [rsi + 0x44]
movaps xmm7, xmm5
cmpless xmm7, xmm4
andps xmm4, xmm7
andnps xmm7, xmm5
orps xmm7, xmm4
unpcklps xmm6, xmm7
xorps xmm9, xmm9
ucomiss xmm0, xmm9
movss xmm5, dword [rsi + 0x58]
movsd xmm7, qword [rsi + 0x208]
movsd xmm4, qword [rsi + 0x8c]
movaps xmm12, xmm4
shufps xmm12, xmm4, 0x55
subps xmm7, xmm4
movaps xmm8, xmm5
unpcklps xmm8, xmm2
movss xmm10, dword [rsi + 0x64]
shufps xmm10, xmm10, 0
maxps xmm8, xmm10
addps xmm8, xmm7
cvttps2dq xmm7, xmm8
cvtdq2ps xmm7, xmm7
addps xmm6, xmm7
movlhps xmm7, xmm6
movups xmmword [rsi + 0x228], xmm7
movups xmm6, xmmword [rsi + 0x228]
movups xmmword [rsi + 0x238], xmm6
movss xmm8, dword [rsi + 0x28]
movss xmm6, dword [rsi + 0x2c]
movaps xmm11, xmm8
subss xmm11, xmm4
addss xmm11, xmm5
movss xmm7, dword [rsi + 0x68]
addss xmm11, xmm7
movss dword [rsi + 0x258], xmm11
movaps xmm10, xmm6
subss xmm10, xmm12
addss xmm10, xmm2
addss xmm10, xmm1
movss dword [rsi + 0x25c], xmm10
jne 0x1800534c5
jp 0x1800534c5
movss xmm0, dword [rsi + 0x30]
movaps xmm12, xmm5
addss xmm12, xmm5
subss xmm0, xmm12
movss xmm12, dword [rsi + 0x70]
addss xmm12, xmm7
subss xmm0, xmm12
ucomiss xmm3, xmm9
addss xmm11, xmm0
movss dword [rsi + 0x260], xmm11
jne 0x1800534f8
jp 0x1800534f8
movss xmm3, dword [rsi + 0x34]
movaps xmm0, xmm2
addss xmm0, xmm2
subss xmm3, xmm0
movss xmm0, dword [rsi + 0x74]
addss xmm0, xmm1
subss xmm3, xmm0
addss xmm10, xmm3
movss dword [rsi + 0x264], xmm10
xorps xmm3, xmm3
cvtss2sd xmm3, xmm5
addss xmm5, xmm7
subss xmm5, xmm4
movss dword [rsi + 0x154], xmm5
xorps xmm0, xmm0
xorps xmm5, xmm5
cvtss2sd xmm5, xmm8
movlhps xmm2, xmm4
shufps xmm2, xmm4, 0xe2
cvtps2pd xmm2, xmm2
addsd xmm5, xmm3
movss xmm4, xmm7
cvtps2pd xmm3, xmm4
xorps xmm4, xmm4
cvtss2sd xmm4, xmm6
cvtss2sd xmm1, xmm1
movapd xmm6, xmm5
unpcklpd xmm6, xmm4
subpd xmm5, xmm2
addpd xmm6, xmm2
addpd xmm5, xmm3
subpd xmm6, xmm3
movsd xmm6, xmm5
xorpd xmm2, xmm2
unpcklpd xmm2, xmm1
addpd xmm2, xmm6
cvtpd2ps xmm1, xmm2
cvtps2pd xmm3, xmm1
subpd xmm2, xmm3
cvtpd2ps xmm2, xmm2
xorpd xmm3, xmm3
unpcklpd xmm3, xmm2
movupd xmmword [rsi + 0x158], xmm3
movss dword [rsi + 0x120], xmm1
shufps xmm1, xmm1, 0x55
movss dword [rsi + 0x124], xmm1
mov rax, qword [rsi + 0x120]
mov qword [rsi + 0x110], rax
mov qword [rsi + 0x118], rax
mov qword [rsi + 0x128], rax
mov qword [rsi + 0x130], rax
mov dword [rsi + 0x168], 0
movups xmmword [rsi + 0x138], xmm0
movups xmmword [rsi + 0x142], xmm0
movzx eax, word [rsi + 0x16e]
mov word [rsi + 0x16c], ax
mov dword [rsi + 0x16e], 0x10000
movss xmm0, dword [rsi + 0x98]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
seta byte [rsi + 0x172]
mov byte [rsi + 0x173], 0
lea rcx, [rsi + 0x17c]
movss xmm1, dword [rdi + 0x393c]
call fcn.1800c7690
mov qword [rsi + 0x198], 0
cmp dword [rsi + 0x1a4], 0
jns 0x180053680
xor ecx, ecx
call fcn.180045410
mov r14, rax
mov rdx, qword [rsi + 0x1a8]
test rdx, rdx
je 0x18005366f
movsxd r8, dword [rsi + 0x1a0]
shl r8, 3
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x1a8]
call fcn.1800454e0
mov qword [rsi + 0x1a8], r14
mov dword [rsi + 0x1a4], 0
mov dword [rsi + 0x1a0], 0
lea rax, [rsi + 0x280]
mov qword [rsi + 0x1b0], rax
mov qword [rsi + 0x1b8], 0
mov dword [rsi + 0x1c4], 1
test r15, r15
je 0x1800536bb
mov eax, dword [r15 + 0x1c4]
jmp 0x1800536c0
mov eax, 1
mov dword [rsi + 0x1c8], eax
movss xmm0, dword [rsi + 0x278]
movss dword [rsi + 0x1cc], xmm0
mov dword [rsi + 0x1d0], 0xbf800000
cmp dword [rsi + 0x1dc], 0
jns 0x18005372f
xor ecx, ecx
call fcn.180045410
mov r14, rax
mov rdx, qword [rsi + 0x1e0]
test rdx, rdx
je 0x18005371e
movsxd r8, dword [rsi + 0x1d8]
shl r8, 2
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x1e0]
call fcn.1800454e0
mov qword [rsi + 0x1e0], r14
mov dword [rsi + 0x1dc], 0
mov dword [rsi + 0x1d8], 0
cmp dword [rsi + 0x1ec], 0
jns 0x180053788
xor ecx, ecx
call fcn.180045410
mov r14, rax
mov rdx, qword [rsi + 0x1f0]
test rdx, rdx
je 0x180053777
movsxd r8, dword [rsi + 0x1e8]
shl r8, 2
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0x1f0]
call fcn.1800454e0
mov qword [rsi + 0x1f0], r14
mov dword [rsi + 0x1ec], 0
mov dword [rsi + 0x1e8], 0
movzx eax, byte [rsi + 0xdc]
test al, al
jle 0x1800537a5
dec al
mov byte [rsi + 0xdc], al
movzx eax, byte [rsi + 0xdd]
test al, al
jle 0x1800537b8
dec al
mov byte [rsi + 0xdd], al
test r12b, 1
je 0x1800537de
mov rcx, rsi
mov edx, 2
call fcn.18004df10
cmp rsi, qword [rdi + 0x4ae8]
jne 0x1800537de
mov rcx, rsi
xor edx, edx
call fcn.180055320
lea r14, [rsp + 0xb8]
test bpl, 1
jne 0x18005385a
movss xmm0, dword [rsp + 0xbc]
movss xmm1, dword [rsp + 0xb4]
movss xmm2, dword [rsp + 0xb8]
movss xmm3, dword [rsi + 0x64]
subss xmm2, xmm3
addss xmm3, dword [rsp + 0xb0]
movss dword [rsp + 0xa0], xmm3
movss dword [rsp + 0xa4], xmm1
movss dword [rsp + 0xa8], xmm2
movss dword [rsp + 0xac], xmm0
lea rdx, [rsp + 0xa0]
mov rcx, rsi
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x80]
call fcn.1800581b0
mov dword [rsi + 0x268], 0
lea r15, [rsp + 0xb0]
mov rcx, r15
mov rdx, r14
xor r8d, r8d
call fcn.18004da50
movzx r8d, al
mov edx, dword [rdi + 0x4950]
mov ecx, dword [rsi + 0x84]
mov r9, r15
call fcn.18004db80
mov eax, dword [rdi + 0x4954]
test eax, eax
je 0x1800538ae
cmp dword [rsi + 0x10], eax
je 0x1800538a9
cmp dword [rsi + 0x84], eax
jne 0x1800538ae
call fcn.180058660
mov r15, qword [rsp + 0x88]
mov r14d, dword [rsp + 0x64]
lea rcx, [rsi + 0x218]
lea rdx, [rsi + 0x220]
mov r8b, 1
call fcn.180053b50
inc word [rsi + 0xcc]
mov byte [rsi + 0xc0], 0
mov dword [rdi + 0x49c8], 0
cmp r14d, r15d
je 0x180053a5b
mov eax, ebp
and eax, 0x11000000
cmp eax, 0x1000000
mov rcx, qword [rsp + 0x58]
jne 0x1800539c7
test ebp, 0x800000
je 0x180053942
cmp byte [rdi + 0x4b34], 0
je 0x180053942
mov rax, qword [rdi + 0x4ae8]
test rax, rax
je 0x180053942
mov rax, qword [rax + 0x3a0]
cmp rax, qword [rsi + 0x3a0]
sete al
cmp byte [rdi + 0x5fa8], 0
je 0x18005394d
jmp 0x180053990
xor eax, eax
cmp byte [rdi + 0x5fa8], 0
jne 0x180053990
test al, al
jne 0x180053990
movss xmm0, dword [rsi + 0x1f8]
ucomiss xmm0, dword [rsi + 0x200]
jae 0x180053973
movss xmm0, dword [rsi + 0x1fc]
ucomiss xmm0, dword [rsi + 0x204]
jb 0x180053990
cmp byte [rsi + 0xdc], 0
jg 0x180053989
cmp byte [rsi + 0xdd], 0
jle 0x180053b3b
mov byte [rsi + 0xe5], 1
test rcx, rcx
je 0x1800539c7
cmp byte [rcx + 0xc1], 0
jne 0x1800539a7
cmp byte [rcx + 0xe4], 0
jle 0x1800539b7
mov byte [rsi + 0xe4], 1
cmp byte [rcx + 0xc1], 0
jne 0x1800539c0
cmp byte [rcx + 0xe5], 0
jle 0x1800539c7
mov byte [rsi + 0xe5], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [rdi + 0x38f0]
jae 0x1800539f9
mov al, 1
cmp byte [rsi + 0xe4], 0
mov cl, 1
jg 0x180053a04
mov al, 1
cmp byte [rsi + 0xe5], 0
jg 0x180053a04
cmp byte [rsi + 0xe6], 0
setg cl
xor eax, eax
jmp 0x180053a04
mov byte [rsi + 0xe4], 1
mov al, 1
mov cl, 1
mov byte [rsi + 0xc5], cl
movzx ecx, byte [rsi + 0xe7]
test cl, cl
jle 0x180053a24
dec cl
mov byte [rsi + 0xe7], cl
or dword [rsi + 0x14], 0x30200
cmp byte [rsi + 0xc1], 0
jne 0x180053a3d
cmp byte [rsi + 0xbe], 0
setne cl
not al
test al, cl
jne 0x180053a53
cmp byte [rsi + 0xdc], 0
jg 0x180053a53
cmp byte [rsi + 0xdd], 0
jle 0x180053b1c
xor eax, eax
mov byte [rsi + 0xc3], al
cmp byte [rsi + 0xc6], 0
je 0x180053a71
cmp byte [rsi + 0xc3], 0
sete sil
jmp 0x180053ab9
test r13, r13
jne 0x180053a7c
cmp byte [rdi + 0x78], 0
jne 0x180053a91
cmp byte [rdi + 0x79], 0
je 0x180053a64
movsx eax, byte [rdi + 0x601a]
cmp dword [rdi + 0x3fd8], eax
jne 0x180053a64
movzx eax, byte [rsi + 0xdc]
test al, al
jle 0x180053aa4
inc al
mov byte [rsi + 0xdc], al
movzx eax, byte [rsi + 0xdd]
test al, al
jle 0x180053ab7
inc al
mov byte [rsi + 0xdd], al
xor esi, esi
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.1800cf260
mov eax, esi
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm11, xmmword [rsp + 0x1e0]
movaps xmm12, xmmword [rsp + 0x1f0]
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rsi + 0xe5], 0
setle al
jmp 0x180053a55
xorps xmm3, xmm3
test al, al
jne 0x180052f62
jmp 0x180052f4f
mov byte [rsi + 0xe4], 1
test rcx, rcx
jne 0x180053995
jmp 0x1800539c7