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

Disassembly:
mov rax, rsp
push rbx
push r14
sub rsp, 0xc8
mov rbx, qword [0x1407dc0d0]
xor r14d, r14d
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x78], xmm11
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 0x18], rdi
movaps xmmword [rax - 0x68], xmm10
xorps xmm10, xmm10
mov byte [rbx + 0x39b], 0
mov qword [rbx + 0x1f08], r14
mov dword [rbx + 0x1f10], r14d
movzx ebp, byte [rbx + 8]
and bpl, 1
movaps xmmword [rsp + 0x50], xmm12
test byte [rbx + 8], 2
movaps xmmword [rsp + 0x40], xmm13
je 0x1400530ad
test byte [rbx + 0xc], 1
je 0x1400530ad
cmp dword [rbx + 0x1e1c], 3
lea rcx, [rbx + 0x1e1c]
mov dil, 1
je 0x1400530b7
movss xmm0, dword [rbx + 0x344]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x34c]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x348]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x350]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x354]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x358]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x35c]
comiss xmm0, xmm10
ja 0x1400530a1
movss xmm0, dword [rbx + 0x360]
lea rcx, [rbx + 0x1e1c]
comiss xmm0, xmm10
jbe 0x1400530b7
mov dword [rbx + 0x1e1c], 3
jmp 0x1400530b0
xor dil, dil
lea rcx, [rbx + 0x1e1c]
test bpl, bpl
je 0x1400531ed
movsxd rax, dword [rbx + 0x6c]
test eax, eax
js 0x1400530e2
cmp byte [rax + rbx + 0x144], r14b
je 0x1400530e2
mov dword [rbx + 0x344], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x70]
test eax, eax
js 0x140053104
cmp byte [rax + rbx + 0x144], r14b
je 0x140053104
mov dword [rbx + 0x34c], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x74]
test eax, eax
js 0x140053126
cmp byte [rax + rbx + 0x144], r14b
je 0x140053126
mov dword [rbx + 0x348], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x40]
test eax, eax
js 0x140053148
cmp byte [rax + rbx + 0x144], r14b
je 0x140053148
mov dword [rbx + 0x388], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x44]
test eax, eax
js 0x14005316a
cmp byte [rax + rbx + 0x144], r14b
je 0x14005316a
mov dword [rbx + 0x38c], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x48]
test eax, eax
js 0x14005318c
cmp byte [rax + rbx + 0x144], r14b
je 0x14005318c
mov dword [rbx + 0x390], 0x3f800000
mov dword [rcx], 2
movsxd rax, dword [rbx + 0x4c]
test eax, eax
js 0x1400531ae
cmp byte [rax + rbx + 0x144], r14b
je 0x1400531ae
mov dword [rbx + 0x394], 0x3f800000
mov dword [rcx], 2
movzx eax, byte [rbx + 0x140]
test al, al
je 0x1400531c3
mov dword [rbx + 0x37c], 0x3f800000
cmp byte [rbx + 0x141], r14b
je 0x1400531d6
mov dword [rbx + 0x380], 0x3f800000
cmp byte [rbx + 0x142], r14b
je 0x1400531ed
test al, al
jne 0x1400531ed
mov dword [rbx + 0x384], 0x3f800000
movups xmm0, xmmword [rbx + 0x14a0]
mov eax, dword [rbx + 0x14f0]
mov r9d, r14d
movups xmm1, xmmword [rbx + 0x14b0]
lea r8, [rbx + 0x18]
mov rcx, r14
movss xmm13, dword [0x14074bd7c]
movups xmmword [rbx + 0x14f4], xmm0
movups xmm0, xmmword [rbx + 0x14c0]
movups xmmword [rbx + 0x1504], xmm1
movups xmm1, xmmword [rbx + 0x14d0]
movups xmmword [rbx + 0x1514], xmm0
movups xmm0, xmmword [rbx + 0x14e0]
movups xmmword [rbx + 0x1524], xmm1
movups xmmword [rbx + 0x1534], xmm0
mov dword [rbx + 0x1544], eax
nop dword [rax]
nop word [rax + rax]
movss xmm0, dword [rbx + rcx*4 + 0x344]
comiss xmm0, xmm10
jbe 0x14005328f
movss xmm0, dword [rbx + rcx*4 + 0x14a0]
lea r8, [rbx + 0x18]
comiss xmm10, xmm0
jbe 0x140053288
movaps xmm0, xmm10
jmp 0x140053293
addss xmm0, dword [r8]
jmp 0x140053293
movaps xmm0, xmm13
mov edx, 0x526
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x348]
comiss xmm0, xmm10
jbe 0x1400532cf
movss xmm0, dword [rbx + rcx*4 + 0x14a4]
comiss xmm10, xmm0
jbe 0x1400532c8
movaps xmm0, xmm10
jmp 0x1400532d3
addss xmm0, dword [r8]
jmp 0x1400532d3
movaps xmm0, xmm13
mov edx, 0x527
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x34c]
comiss xmm0, xmm10
jbe 0x14005330f
movss xmm0, dword [rbx + rcx*4 + 0x14a8]
comiss xmm10, xmm0
jbe 0x140053308
movaps xmm0, xmm10
jmp 0x140053313
addss xmm0, dword [r8]
jmp 0x140053313
movaps xmm0, xmm13
mov edx, 0x528
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x350]
comiss xmm0, xmm10
jbe 0x14005334f
movss xmm0, dword [rbx + rcx*4 + 0x14ac]
comiss xmm10, xmm0
jbe 0x140053348
movaps xmm0, xmm10
jmp 0x140053353
addss xmm0, dword [r8]
jmp 0x140053353
movaps xmm0, xmm13
mov edx, 0x529
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x354]
comiss xmm0, xmm10
jbe 0x14005338f
movss xmm0, dword [rbx + rcx*4 + 0x14b0]
comiss xmm10, xmm0
jbe 0x140053388
movaps xmm0, xmm10
jmp 0x140053393
addss xmm0, dword [r8]
jmp 0x140053393
movaps xmm0, xmm13
mov edx, 0x52a
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x358]
comiss xmm0, xmm10
jbe 0x1400533cf
movss xmm0, dword [rbx + rcx*4 + 0x14b4]
comiss xmm10, xmm0
jbe 0x1400533c8
movaps xmm0, xmm10
jmp 0x1400533d3
addss xmm0, dword [r8]
jmp 0x1400533d3
movaps xmm0, xmm13
mov edx, 0x52b
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x35c]
comiss xmm0, xmm10
jbe 0x14005340f
movss xmm0, dword [rbx + rcx*4 + 0x14b8]
comiss xmm10, xmm0
jbe 0x140053408
movaps xmm0, xmm10
jmp 0x140053413
addss xmm0, dword [r8]
jmp 0x140053413
movaps xmm0, xmm13
mov edx, 0x52c
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x360]
comiss xmm0, xmm10
jbe 0x14005344f
movss xmm0, dword [rbx + rcx*4 + 0x14bc]
comiss xmm10, xmm0
jbe 0x140053448
movaps xmm0, xmm10
jmp 0x140053453
addss xmm0, dword [r8]
jmp 0x140053453
movaps xmm0, xmm13
mov edx, 0x52d
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x364]
comiss xmm0, xmm10
jbe 0x14005348f
movss xmm0, dword [rbx + rcx*4 + 0x14c0]
comiss xmm10, xmm0
jbe 0x140053488
movaps xmm0, xmm10
jmp 0x140053493
addss xmm0, dword [r8]
jmp 0x140053493
movaps xmm0, xmm13
mov edx, 0x52e
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x368]
comiss xmm0, xmm10
jbe 0x1400534cf
movss xmm0, dword [rbx + rcx*4 + 0x14c4]
comiss xmm10, xmm0
jbe 0x1400534c8
movaps xmm0, xmm10
jmp 0x1400534d3
addss xmm0, dword [r8]
jmp 0x1400534d3
movaps xmm0, xmm13
mov edx, 0x52f
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x36c]
comiss xmm0, xmm10
jbe 0x14005350f
movss xmm0, dword [rbx + rcx*4 + 0x14c8]
comiss xmm10, xmm0
jbe 0x140053508
movaps xmm0, xmm10
jmp 0x140053513
addss xmm0, dword [r8]
jmp 0x140053513
movaps xmm0, xmm13
mov edx, 0x530
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x370]
comiss xmm0, xmm10
jbe 0x14005354f
movss xmm0, dword [rbx + rcx*4 + 0x14cc]
comiss xmm10, xmm0
jbe 0x140053548
movaps xmm0, xmm10
jmp 0x140053553
addss xmm0, dword [r8]
jmp 0x140053553
movaps xmm0, xmm13
mov edx, 0x531
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x374]
comiss xmm0, xmm10
jbe 0x14005358f
movss xmm0, dword [rbx + rcx*4 + 0x14d0]
comiss xmm10, xmm0
jbe 0x140053588
movaps xmm0, xmm10
jmp 0x140053593
addss xmm0, dword [r8]
jmp 0x140053593
movaps xmm0, xmm13
mov edx, 0x532
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x378]
comiss xmm0, xmm10
jbe 0x1400535cf
movss xmm0, dword [rbx + rcx*4 + 0x14d4]
comiss xmm10, xmm0
jbe 0x1400535c8
movaps xmm0, xmm10
jmp 0x1400535d3
addss xmm0, dword [r8]
jmp 0x1400535d3
movaps xmm0, xmm13
mov edx, 0x533
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x37c]
comiss xmm0, xmm10
jbe 0x14005360f
movss xmm0, dword [rbx + rcx*4 + 0x14d8]
comiss xmm10, xmm0
jbe 0x140053608
movaps xmm0, xmm10
jmp 0x140053613
addss xmm0, dword [r8]
jmp 0x140053613
movaps xmm0, xmm13
mov edx, 0x534
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x380]
comiss xmm0, xmm10
jbe 0x14005364f
movss xmm0, dword [rbx + rcx*4 + 0x14dc]
comiss xmm10, xmm0
jbe 0x140053648
movaps xmm0, xmm10
jmp 0x140053653
addss xmm0, dword [r8]
jmp 0x140053653
movaps xmm0, xmm13
mov edx, 0x535
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x384]
comiss xmm0, xmm10
jbe 0x14005368f
movss xmm0, dword [rbx + rcx*4 + 0x14e0]
comiss xmm10, xmm0
jbe 0x140053688
movaps xmm0, xmm10
jmp 0x140053693
addss xmm0, dword [r8]
jmp 0x140053693
movaps xmm0, xmm13
mov edx, 0x536
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x388]
comiss xmm0, xmm10
jbe 0x1400536cf
movss xmm0, dword [rbx + rcx*4 + 0x14e4]
comiss xmm10, xmm0
jbe 0x1400536c8
movaps xmm0, xmm10
jmp 0x1400536d3
addss xmm0, dword [r8]
jmp 0x1400536d3
movaps xmm0, xmm13
mov edx, 0x537
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x38c]
comiss xmm0, xmm10
jbe 0x14005370f
movss xmm0, dword [rbx + rcx*4 + 0x14e8]
comiss xmm10, xmm0
jbe 0x140053708
movaps xmm0, xmm10
jmp 0x140053713
addss xmm0, dword [r8]
jmp 0x140053713
movaps xmm0, xmm13
mov edx, 0x538
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x390]
comiss xmm0, xmm10
jbe 0x14005374f
movss xmm0, dword [rbx + rcx*4 + 0x14ec]
comiss xmm10, xmm0
jbe 0x140053748
movaps xmm0, xmm10
jmp 0x140053753
addss xmm0, dword [r8]
jmp 0x140053753
movaps xmm0, xmm13
mov edx, 0x539
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x394]
comiss xmm0, xmm10
jbe 0x14005378f
movss xmm0, dword [rbx + rcx*4 + 0x14f0]
comiss xmm10, xmm0
jbe 0x140053788
movaps xmm0, xmm10
jmp 0x140053793
addss xmm0, dword [r8]
jmp 0x140053797
movaps xmm0, xmm13
lea r8, [rbx + 0x18]
mov rax, rcx
mov edx, 0x53a
add rax, rdx
add r9d, 0x15
add rcx, 0x15
movss dword [rbx + rax*4 + 8], xmm0
cmp r9d, 0x15
jl 0x140053260
mov edx, dword [rbx + 0x1e44]
test edx, edx
je 0x140053827
mov r8, qword [rbx + 0x1de8]
test r8, r8
je 0x140053827
movsxd rax, dword [rbx + 0x1e34]
mov dword [rbx + 0x1e34], eax
mov rcx, rax
mov dword [rbx + 0x1df0], edx
add rcx, rcx
mov dword [rbx + 0x1df4], r14d
mov dword [r8 + rax*4 + 0x3c0], edx
mov rax, qword [rbx + 0x1de8]
movups xmm0, xmmword [rbx + 0x1e48]
movups xmmword [rax + rcx*8 + 0x3c8], xmm0
cmp byte [rbx + 0x1e42], r14b
je 0x140053827
mov word [rbx + 0x1e3d], 1
mov byte [rbx + 0x1e3f], 1
mov word [rbx + 0x1e41], r14w
mov dword [rbx + 0x1e44], r14d
mov dword [rbx + 0x1e0c], r14d
cmp byte [rbx + 0x1e58], r14b
je 0x14005384b
call fcn.1400544e0
cmp dword [rbx + 0x1e60], 2
jne 0x140053874
cmp dword [rbx + 0x1e80], r14d
jne 0x14005386d
cmp dword [rbx + 0x1ee0], r14d
jne 0x14005386d
mov byte [rbx + 0x1e3e], r14b
mov dword [rbx + 0x1e60], r14d
cmp byte [rbx + 0x1e3d], r14b
je 0x1400538f1
cmp byte [rbx + 0x1e3c], r14b
je 0x1400538f1
test byte [rbx + 8], 4
je 0x1400538ea
test byte [rbx + 0xc], 4
je 0x1400538ea
cmp byte [rbx + 0x1e3e], r14b
jne 0x1400538ea
cmp byte [rbx + 0x1e3f], r14b
je 0x1400538ea
cmp qword [rbx + 0x1de8], r14
je 0x1400538ea
lea rcx, [rsp + 0xe0]
call fcn.140052aa0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x3c4], xmm0
movss dword [rbx + 0x3c8], xmm1
movss dword [rbx + 0x128], xmm0
movss dword [rbx + 0x12c], xmm1
mov byte [rbx + 0x39b], 1
mov byte [rbx + 0x1e3d], r14b
mov rcx, qword [rbx + 0x1de8]
mov byte [rbx + 0x1e3c], r14b
mov dword [rbx + 0x1e08], r14d
test rcx, rcx
je 0x14005393c
mov rax, rcx
nop
cmp qword [rax + 0x3a0], rax
je 0x140053930
test dword [rax + 0x1c], 0x14000000
jne 0x140053930
mov rax, qword [rax + 0x398]
test rax, rax
jne 0x140053910
jmp 0x14005393c
cmp rax, rcx
je 0x14005393c
mov qword [rax + 0x3b8], rcx
mov rax, qword [rbx + 0x1de8]
test rax, rax
je 0x140053961
cmp qword [rax + 0x3b8], r14
je 0x140053961
cmp dword [rbx + 0x1e34], r14d
jne 0x140053961
mov qword [rax + 0x3b8], r14
call fcn.140055050
test bpl, bpl
jne 0x140053974
test dil, dil
je 0x140053a6c
mov rax, qword [rbx + 0x1de8]
test rax, rax
je 0x140053a6c
test dword [rax + 0x1c], 0x40000
jne 0x140053a6c
mov byte [rbx + 0x39d], 1
cmp dword [rbx + 0x1df0], r14d
je 0x140053a73
cmp byte [rbx + 0x1e3e], r14b
jne 0x140053a73
mov al, 1
mov edx, 1
movaps xmmword [rsp + 0xb0], xmm6
mov ecx, edx
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x80], xmm9
mov byte [rbx + 0x39e], al
call fcn.140052c10
comiss xmm0, xmm10
jbe 0x140053c57
cmp dword [rbx + 0x1c78], r14d
je 0x140053a87
mov rdi, qword [0x1407dc0d0]
mov eax, dword [rdi + 0x1c90]
shr eax, 1
test dl, al
jne 0x140053c5e
mov ecx, dword [rdi + 0x1c78]
test ecx, ecx
setne al
mov byte [rdi + 0x1c84], al
test ecx, ecx
je 0x140053a3b
mov dword [rdi + 0x1c80], r14d
mov word [rdi + 0x1c87], r14w
mov dword [rdi + 0x1cb4], 0xffffffff
mov dword [rdi + 0x1c78], r14d
mov word [rdi + 0x1c85], r14w
mov qword [rdi + 0x1ca8], r14
mov word [rdi + 0x1c89], r14w
mov qword [rdi + 0x1c8c], r14
mov qword [rdi + 0x1c98], r14
jmp 0x140053c5e
mov byte [rbx + 0x39d], r14b
cmp qword [rbx + 0x1f18], r14
jne 0x1400539b2
xor al, al
jmp 0x1400539b4
mov rdi, qword [rbx + 0x1de8]
test rdi, rdi
je 0x140053b6d
cmp rdi, qword [rdi + 0x3a0]
je 0x140053b6d
test dword [rdi + 0x1c], 0x4000000
jne 0x140053b6d
mov rsi, qword [rdi + 0x398]
test rsi, rsi
je 0x140053b6d
movss xmm9, dword [rdi + 0x20]
mov rcx, rsi
movss xmm8, dword [rdi + 0x24]
movss xmm6, dword [rdi + 0x28]
movss xmm7, dword [rdi + 0x2c]
call fcn.14004f630
mov ecx, dword [rdi + 0x68]
movaps xmm3, xmm9
subss xmm9, dword [rsi + 0x20]
mov rdi, qword [0x1407dc0d0]
addss xmm3, xmm6
movaps xmm2, xmm8
subss xmm8, dword [rsi + 0x24]
addss xmm2, xmm7
mov rax, qword [rdi + 0x1de8]
subss xmm3, dword [rsi + 0x20]
shufps xmm9, xmm9, 0xe1
movss xmm9, xmm8
subss xmm2, dword [rsi + 0x24]
shufps xmm9, xmm9, 0xc6
movss xmm9, xmm3
mov dword [rdi + 0x1df0], ecx
mov dword [rdi + 0x1e34], r14d
mov dword [rdi + 0x1df4], r14d
shufps xmm9, xmm9, 0x27
mov dword [rax + 0x3c0], ecx
movss xmm9, xmm2
mov rax, qword [rdi + 0x1de8]
shufps xmm9, xmm9, 0x39
movups xmmword [rsp + 0x30], xmm9
movups xmmword [rax + 0x3c8], xmm9
jmp 0x140053c5e
movsxd rdx, dword [rbx + 0x1db8]
test edx, edx
jle 0x140053ba7
mov rax, qword [rbx + 0x1dc0]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rcx, qword [rax + rcx*8 - 0x28]
test dword [rcx + 0x1c], 0x8000000
jne 0x140053c57
lea ecx, [rdx - 1]
mov dl, 1
call fcn.140051570
jmp 0x140053c57
cmp dword [rbx + 0x1e34], r14d
je 0x140053c35
mov rdi, qword [0x1407dc0d0]
mov rax, qword [rdi + 0x1de8]
mov rcx, qword [rax + 0x3b8]
test rcx, rcx
je 0x140053bd7
cmp byte [rcx + 0x9f], r14b
jne 0x140053bda
mov rcx, rax
mov qword [rdi + 0x1de8], rcx
mov eax, dword [rcx + 0x3c0]
mov dword [rdi + 0x1e34], r14d
test eax, eax
je 0x140053c2c
mov dword [rdi + 0x1df0], eax
mov dword [rdi + 0x1df4], r14d
mov dword [rcx + 0x3c0], eax
movups xmm0, xmmword [rcx + 0x3c8]
mov rax, qword [rdi + 0x1de8]
movups xmmword [rax + 0x3c8], xmm0
mov word [rdi + 0x1e3d], 1
mov byte [rdi + 0x1e3f], 1
jmp 0x140053c5e
mov dl, 1
call fcn.1400529d0
jmp 0x140053c5e
test rdi, rdi
je 0x140053c50
mov eax, dword [rdi + 0x1c]
bt eax, 0x1a
jb 0x140053c49
bt eax, 0x18
jb 0x140053c50
mov dword [rdi + 0x3c0], r14d
mov qword [rbx + 0x1df0], r14
mov rdi, qword [0x1407dc0d0]
mov r9d, dword [rbx + 0x1df0]
mov qword [rbx + 0x1e00], r14
mov qword [rbx + 0x1df8], r14
test r9d, r9d
je 0x140053d50
cmp byte [rbx + 0x1e3e], r14b
jne 0x140053d50
cmp qword [rbx + 0x1f18], r14
jne 0x140053d50
mov rax, qword [rbx + 0x1de8]
test rax, rax
je 0x140053d50
test dword [rax + 0x1c], 0x40000
jne 0x140053d50
movss xmm0, dword [rdi + 0x344]
comiss xmm0, xmm10
seta r10b
test r10b, r10b
je 0x140053cda
mov edx, 1
xor ecx, ecx
call fcn.140052c10
comiss xmm0, xmm10
ja 0x140053cdc
xor dl, dl
mov ecx, dword [rbx + 0x1c78]
test ecx, ecx
jne 0x140053cf3
test dl, dl
je 0x140053cf8
mov dword [rbx + 0x1df8], r9d
jmp 0x140053cf8
cmp ecx, r9d
jne 0x140053d0d
test r10b, r10b
je 0x140053d09
mov eax, dword [rbx + 0x1df0]
mov dword [rbx + 0x1dfc], eax
test ecx, ecx
je 0x140053d15
cmp ecx, dword [rbx + 0x1df0]
jne 0x140053d50
test dl, dl
je 0x140053d25
mov eax, dword [rbx + 0x1df0]
mov dword [rbx + 0x1e00], eax
test ecx, ecx
je 0x140053d31
cmp ecx, dword [rbx + 0x1df0]
jne 0x140053d50
mov edx, 1
lea ecx, [rdx + 1]
call fcn.140052c10
comiss xmm0, xmm10
jbe 0x140053d50
mov eax, dword [rbx + 0x1df0]
mov dword [rbx + 0x1e04], eax
mov rcx, qword [rbx + 0x1de8]
test rcx, rcx
je 0x140053d6c
test dword [rcx + 0x1c], 0x40000
je 0x140053d6c
mov byte [rbx + 0x1e3e], 1
mov eax, dword [rbx + 0x1e18]
mov byte [rbx + 0x1e58], r14b
test eax, eax
je 0x140053d95
mov dword [rbx + 0x1e04], eax
mov dword [rbx + 0x1e00], eax
mov dword [rbx + 0x1dfc], eax
mov dword [rbx + 0x1df8], eax
mov dword [rbx + 0x1e18], r14d
cmp dword [rbx + 0x1e60], r14d
jne 0x140053ed8
mov dword [rbx + 0x1e68], 0xffffffff
mov r9d, 0xffffffff
mov dword [rbx + 0x1e5c], r14d
test rcx, rcx
je 0x140053ecf
cmp qword [rbx + 0x1f18], r14
jne 0x140053ecf
test dword [rcx + 0x1c], 0x40000
jne 0x140053ecf
test byte [rdi + 0x1c8c], 1
jne 0x140053e16
lea edx, [r9 + 4]
lea ecx, [rdx + 1]
call fcn.140052c10
comiss xmm0, xmm10
ja 0x140053e0c
lea ecx, [rdx + 0xe]
call fcn.140052c10
comiss xmm0, xmm10
jbe 0x140053e16
mov dword [rbx + 0x1e68], r14d
mov r9d, r14d
mov eax, dword [rdi + 0x1c8c]
shr eax, 1
test al, 1
jne 0x140053e53
mov edx, 3
lea ecx, [rdx + 2]
call fcn.140052c10
comiss xmm0, xmm10
ja 0x140053e43
lea ecx, [rdx + 0xf]
call fcn.140052c10
comiss xmm0, xmm10
jbe 0x140053e53
mov dword [rbx + 0x1e68], 1
mov r9d, 1
mov eax, dword [rdi + 0x1c8c]
shr eax, 2
test al, 1
jne 0x140053e91
mov edx, 3
lea ecx, [rdx + 3]
call fcn.140052c10
comiss xmm0, xmm10
ja 0x140053e81
lea ecx, [rdx + 0x10]
call fcn.140052c10
comiss xmm0, xmm10
jbe 0x140053e91
mov dword [rbx + 0x1e68], 2
mov r9d, 2
mov eax, dword [rdi + 0x1c8c]
shr eax, 3
test al, 1
jne 0x140053ecf
mov edx, 3
lea ecx, [rdx + 4]
call fcn.140052c10
comiss xmm0, xmm10
ja 0x140053ebf
lea ecx, [rdx + 0x11]
call fcn.140052c10
comiss xmm0, xmm10
jbe 0x140053ecf
mov dword [rbx + 0x1e68], 3
mov r9d, 3
mov dword [rbx + 0x1e70], r9d
jmp 0x140053ee2
mov dword [rbx + 0x1e60], 2
test bpl, bpl
movaps xmm11, xmm10
mov rbp, qword [rsp + 0xe8]
je 0x140053efc
call fcn.140054780
movaps xmm11, xmm0
mov ecx, dword [rbx + 0x1e68]
cmp ecx, 0xffffffff
je 0x140053f20
mov byte [rbx + 0x1e58], 1
mov eax, dword [rbx + 0x3c0]
mov dword [rbx + 0x1e64], eax
mov dword [rbx + 0x1e6c], ecx
cmp byte [rbx + 0x1e58], r14b
je 0x140053f49
cmp dword [rbx + 0x1df0], r14d
jne 0x140053f49
mov word [rbx + 0x1e41], 0x101
mov dword [rbx + 0x1e44], r14d
mov byte [rbx + 0x1e3e], r14b
cmp byte [rdi + 0x1e58], r14b
jne 0x140053f5f
cmp byte [rdi + 0x1e41], r14b
jne 0x140053f5f
xor al, al
jmp 0x140053f61
mov al, 1
movss xmm12, dword [0x14074ba8c]
movss xmm8, dword [0x14074bb64]
mov byte [rdi + 0x1e40], al
mov rsi, qword [rbx + 0x1de8]
test rsi, rsi
je 0x140054132
test dword [rsi + 0x1c], 0x40000
jne 0x140054132
cmp qword [rbx + 0x1f18], r14
jne 0x140054132
mov rax, qword [rsi + 0x398]
movss xmm0, dword [rdi + 0x19a4]
mulss xmm0, dword [rsi + 0x2c0]
test rax, rax
je 0x140053fc7
mulss xmm0, dword [rax + 0x2c0]
mulss xmm0, dword [0x14074bc90]
mulss xmm0, dword [rbx + 0x18]
addss xmm0, xmm12
cvttss2si eax, xmm0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cmp dword [rsi + 0x160], r14d
jne 0x14005408c
cmp byte [rsi + 0x16d], r14b
je 0x14005408c
cmp byte [rbx + 0x1e58], r14b
je 0x14005408c
mov eax, dword [rbx + 0x1e68]
test eax, eax
je 0x140054020
cmp eax, 1
jne 0x14005404b
movaps xmm0, xmm8
jmp 0x140054024
movaps xmm0, xmm13
mulss xmm0, xmm6
mov dword [rsi + 0x84], r14d
mov dword [rsi + 0x8c], r14d
addss xmm0, dword [rsi + 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x7c], xmm0
mov eax, dword [rbx + 0x1e68]
cmp eax, 2
je 0x14005405f
cmp eax, 3
jne 0x14005408c
movaps xmm13, xmm8
mulss xmm13, xmm6
mov dword [rsi + 0x88], r14d
mov dword [rsi + 0x90], r14d
addss xmm13, dword [rsi + 0x70]
cvttss2si eax, xmm13
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x80], xmm0
movss xmm0, dword [0x14074bc38]
lea rcx, [rsp + 0xe0]
movss xmm3, dword [0x14074ba04]
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
lea edx, [r8 + 4]
call fcn.140052d90
movss xmm0, dword [rsp + 0xe0]
ucomiss xmm0, xmm10
jp 0x1400540c7
je 0x1400540f7
cmp byte [rsi + 0x9c], r14b
je 0x1400540f7
mulss xmm0, xmm6
mov dword [rsi + 0x84], r14d
mov dword [rsi + 0x8c], r14d
addss xmm0, dword [rsi + 0x6c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x7c], xmm0
movss xmm0, dword [rsp + 0xe4]
ucomiss xmm0, xmm10
jp 0x140054108
je 0x140054132
mulss xmm0, xmm6
mov dword [rsi + 0x88], r14d
mov dword [rsi + 0x90], r14d
addss xmm0, dword [rsi + 0x70]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x80], xmm0
mov qword [rbx + 0x1e78], r14
mov qword [rbx + 0x1e80], r14
mov dword [rbx + 0x1e90], 0x7f7fffff
mov dword [rbx + 0x1e8c], 0x7f7fffff
mov dword [rbx + 0x1e88], 0x7f7fffff
mov qword [rbx + 0x1e94], r14
mov qword [rbx + 0x1e9c], r14
mov qword [rbx + 0x1ea8], r14
mov qword [rbx + 0x1eb0], r14
mov dword [rbx + 0x1ec0], 0x7f7fffff
mov dword [rbx + 0x1ebc], 0x7f7fffff
mov dword [rbx + 0x1eb8], 0x7f7fffff
mov qword [rbx + 0x1ec4], r14
mov qword [rbx + 0x1ecc], r14
mov qword [rbx + 0x1ed8], r14
mov qword [rbx + 0x1ee0], r14
mov dword [rbx + 0x1ef0], 0x7f7fffff
mov dword [rbx + 0x1eec], 0x7f7fffff
mov dword [rbx + 0x1ee8], 0x7f7fffff
mov qword [rbx + 0x1ef4], r14
mov qword [rbx + 0x1efc], r14
movaps xmm13, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x70]
mov rsi, qword [rsp + 0xf0]
cmp byte [rbx + 0x1e58], r14b
je 0x140054383
cmp dword [rbx + 0x1e1c], 3
jne 0x140054383
movsxd rdx, dword [rbx + 0x1e34]
test edx, edx
jne 0x140054383
mov rax, qword [rbx + 0x1de8]
movss xmm3, dword [rax + 0x228]
subss xmm3, dword [rax + 0x20]
movss xmm6, dword [rax + 0x230]
movss xmm5, dword [rax + 0x234]
movss xmm4, dword [rax + 0x22c]
subss xmm6, dword [rax + 0x20]
subss xmm5, dword [rax + 0x24]
subss xmm4, dword [rax + 0x24]
movss xmm9, dword [rax + 0x3c8]
subss xmm3, xmm8
addss xmm6, xmm8
addss xmm5, xmm8
subss xmm4, xmm8
comiss xmm9, xmm3
jb 0x14005429e
movss xmm0, dword [rax + 0x3cc]
comiss xmm0, xmm4
jb 0x14005429e
comiss xmm6, dword [rax + 0x3d0]
jb 0x14005429e
comiss xmm5, dword [rax + 0x3d4]
jae 0x140054383
mov rcx, qword [rax + 0x398]
movss xmm7, dword [rdi + 0x19a4]
mulss xmm7, dword [rax + 0x2c0]
test rcx, rcx
je 0x1400542c2
mulss xmm7, dword [rcx + 0x2c0]
movaps xmm2, xmm5
mulss xmm7, xmm12
mov rcx, rdx
subss xmm2, xmm4
movaps xmm1, xmm6
subss xmm1, xmm3
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3cc]
minss xmm2, xmm7
minss xmm1, xmm7
xorps xmm2, xmmword [0x14074bf60]
xorps xmm1, xmmword [0x14074bf60]
subss xmm4, xmm2
subss xmm3, xmm1
addss xmm6, xmm1
addss xmm5, xmm2
comiss xmm4, xmm0
jbe 0x140054314
movaps xmm1, xmm4
jmp 0x14005431b
movaps xmm1, xmm5
minss xmm1, xmm0
comiss xmm3, xmm9
jbe 0x140054326
movaps xmm0, xmm3
jmp 0x14005432e
movaps xmm0, xmm6
minss xmm0, xmm9
movss dword [rax + rcx*8 + 0x3c8], xmm0
movss dword [rax + rcx*8 + 0x3cc], xmm1
movss xmm0, dword [rax + rcx*8 + 0x3d4]
comiss xmm4, xmm0
ja 0x140054355
movaps xmm4, xmm5
minss xmm4, xmm0
movss xmm0, dword [rax + rcx*8 + 0x3d0]
comiss xmm3, xmm0
ja 0x14005436a
movaps xmm3, xmm6
minss xmm3, xmm0
movss dword [rax + rcx*8 + 0x3d0], xmm3
movss dword [rax + rcx*8 + 0x3d4], xmm4
mov qword [rbx + 0x1df0], r14
mov rax, qword [rbx + 0x1de8]
movaps xmm12, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc0]
test rax, rax
je 0x1400543fd
movsxd rcx, dword [rbx + 0x1e34]
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3c8]
comiss xmm0, dword [rax + rcx*8 + 0x3d0]
ja 0x1400543fd
movss xmm0, dword [rax + rcx*8 + 0x3cc]
comiss xmm0, dword [rax + rcx*8 + 0x3d4]
ja 0x1400543fd
movups xmm0, xmmword [rax + rcx*8 + 0x3c8]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rcx]
jmp 0x140054412
lea rcx, [rsp + 0x30]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rcx]
test rax, rax
je 0x140054455
movaps xmm4, xmm5
movaps xmm3, xmm5
shufps xmm4, xmm5, 0xaa
movaps xmm0, xmm5
addss xmm4, dword [rax + 0x20]
addss xmm0, dword [rax + 0x20]
shufps xmm3, xmm5, 0xff
addss xmm3, dword [rax + 0x24]
shufps xmm5, xmm5, 0x55
addss xmm5, dword [rax + 0x24]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x3c], xmm3
movss dword [rsp + 0x34], xmm5
jmp 0x14005445a
movups xmmword [rsp + 0x30], xmm0
movaps xmm1, xmm11
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x1e20], xmm0
addss xmm11, dword [rbx + 0x1e2c]
addss xmm1, dword [rbx + 0x1e24]
movss dword [rbx + 0x1e2c], xmm11
movaps xmm11, xmmword [rsp + 0x60]
movss dword [rbx + 0x1e24], xmm1
movss xmm0, dword [rbx + 0x1e20]
addss xmm0, xmm8
mov dword [rbx + 0x1e30], r14d
movaps xmm8, xmmword [rsp + 0x90]
minss xmm0, dword [rbx + 0x1e28]
movss dword [rbx + 0x1e20], xmm0
movss dword [rbx + 0x1e28], xmm0
add rsp, 0xc8
pop r14
pop rbx
ret