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

Disassembly:
push rsi
push rdi
sub rsp, 0x168
mov rax, qword [0x140145af0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x4ec0]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0x236]
test eax, eax
jne 0x140053c71
mov rcx, qword [rsp + 0x20]
call fcn.14005aa70
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x188]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x180]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0x237]
test eax, eax
je 0x140053cc7
mov rcx, qword [rsp + 0x20]
call fcn.1400564f0
mov eax, dword [rsp + 0x50]
and eax, 0x20
test eax, eax
je 0x140053d13
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x20a]
cmp eax, 0xffffffff
je 0x140053d13
call fcn.140019590
movzx eax, al
test eax, eax
jne 0x140053d13
mov ecx, 1
call fcn.14001a6d0
movzx eax, al
test eax, eax
je 0x140053d13
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x20a]
mov ecx, eax
call fcn.140058560
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x20]
call fcn.14002b760
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x60]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x148], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x68]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x140], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x70]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x130], rax
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x80]
movss dword [rsp + 0x54], xmm0
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
je 0x140053da3
mov rax, qword [rsp + 0x28]
movss xmm0, dword [rsp + 0x54]
movss dword [rax + 0x134], xmm0
jmp 0x140053dfd
mov eax, dword [rsp + 0x50]
and eax, 0x20000
test eax, eax
jne 0x140053dfd
movss xmm1, dword [rsp + 0x54]
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xfc]
call fcn.1400021d0
movss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rsp + 0xa0]
movss dword [rax + 0x10c], xmm0
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rsp + 0xa0]
movss dword [rax + 0xfc], xmm0
mov rax, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xfc]
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x11c]
call fcn.1400021d0
mov rax, qword [rsp + 0x20]
movss dword [rax + 0x11c], xmm0
mov rax, qword [rsp + 0x20]
add rax, 0xf0
mov rcx, rax
call fcn.140015860
mov rax, qword [rsp + 0xd8]
movss dword [rax + 4], xmm0
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x1000000
test eax, eax
je 0x140053f81
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x400
test eax, eax
je 0x140053e7f
movss xmm0, dword [0x1400e6ecc]
movss dword [rsp + 0x74], xmm0
jmp 0x140053e88
xorps xmm0, xmm0
movss dword [rsp + 0x74], xmm0
movss xmm0, dword [rsp + 0x74]
movss dword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x188]
movss xmm0, dword [rax + 0x130]
movss dword [rsp + 0x4c], xmm0
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x21e]
cmp eax, 0xffffffff
je 0x140053f2a
mov rax, qword [rsp + 0x20]
add rax, 0x18
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x21e]
mov edx, eax
mov rcx, qword [rsp + 0xf0]
call fcn.140006510
mov rcx, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x3c]
addss xmm0, dword [rcx + 0xc0]
mov rax, qword [rsp + 0x20]
addss xmm0, dword [rax + 0xbc]
subss xmm0, dword [rsp + 0xc0]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x4c]
call fcn.1400021d0
movss dword [rsp + 0x4c], xmm0
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x212]
cmp eax, 0xffffffff
je 0x140053f59
mov rax, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xe0]
movss xmm0, dword [rsp + 0x4c]
call fcn.1400021d0
movss dword [rsp + 0x4c], xmm0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x10]
movss xmm0, dword [rsp + 0x4c]
addss xmm0, dword [rax + 8]
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x188]
movss dword [rax + 0x130], xmm0
mov eax, dword [rsp + 0x50]
and eax, 0x100000
test eax, eax
jne 0x140053f9f
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x2b0]
call fcn.14003dc30
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x2b0]
add rax, 0x98
mov rcx, rax
call fcn.140032190
mov rdx, rax
lea rcx, [rsp + 0x148]
call fcn.1400058f0
mov rax, qword [rsp + 0x28]
lea rcx, [rsp + 0x148]
lea rdi, [rax + 0x250]
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov eax, dword [rsp + 0x50]
and eax, 0x780
test eax, eax
je 0x140053ffe
mov rcx, qword [rsp + 0x20]
call fcn.1400556c0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x1a0]
mov qword [rsp + 0xd0], rax
xor r8d, r8d
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x2b0]
mov rcx, qword [rsp + 0xd0]
call fcn.14003fce0
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x100000
test eax, eax
jne 0x140054049
mov rcx, qword [rsp + 0x20]
call fcn.140057a00
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x2b0]
mov rcx, qword [rsp + 0xd0]
call fcn.14003cca0
xorps xmm0, xmm0
movss dword [rsp + 0x68], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x6c], xmm0
mov dword [rsp + 0x48], 0
jmp 0x140054091
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x6c]
cmp dword [rsp + 0x48], eax
jge 0x1400541ea
mov eax, dword [rsp + 0x48]
sar eax, 5
cdqe
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x50]
mov qword [rsp + 0xf8], rcx
mov edx, dword [rsp + 0x48]
and edx, 0x1f
mov edi, 1
movzx ecx, dl
mov edx, edi
shl edx, cl
mov ecx, edx
mov rdx, qword [rsp + 0xf8]
mov eax, dword [rdx + rax*4]
and eax, ecx
test eax, eax
je 0x1400541e5
mov rax, qword [rsp + 0x20]
add rax, 0x18
mov qword [rsp + 0x100], rax
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x100]
call fcn.140006510
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 0x10
test eax, eax
je 0x14005413c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 0x20
test eax, eax
jne 0x14005413c
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x10]
movss dword [rsp + 0x78], xmm0
jmp 0x140054151
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x20]
call fcn.1400578e0
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [rsp + 0x78]
movss dword [rsp + 0x64], xmm0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 0x10
test eax, eax
je 0x14005417f
movss xmm0, dword [rsp + 0x68]
addss xmm0, dword [rsp + 0x64]
movss dword [rsp + 0x68], xmm0
jmp 0x140054191
movss xmm0, dword [rsp + 0x70]
addss xmm0, dword [rsp + 0x64]
movss dword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 8
test eax, eax
je 0x1400541e5
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 0x20
test eax, eax
je 0x1400541e5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x20]
movss xmm0, dword [rax + 0x1c]
divss xmm0, dword [rcx + 0xd8]
movss xmm1, dword [rsp + 0x64]
divss xmm1, xmm0
movaps xmm0, xmm1
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x6c]
call fcn.1400021d0
movss dword [rsp + 0x6c], xmm0
jmp 0x140054087
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xbc]
mulss xmm0, dword [0x1400e6edc]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xc4]
addss xmm1, dword [rcx + 0xc8]
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x202]
dec eax
cvtsi2ss xmm2, eax
mulss xmm1, xmm2
addss xmm0, xmm1
movss dword [rsp + 0xbc], xmm0
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xc0]
mulss xmm0, dword [0x1400e6edc]
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x202]
cvtsi2ss xmm1, eax
mulss xmm0, xmm1
movss xmm1, dword [rsp + 0xbc]
addss xmm1, xmm0
movaps xmm0, xmm1
addss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0xb8], xmm0
movss xmm1, dword [rsp + 0x6c]
movss xmm0, dword [rsp + 0x70]
call fcn.1400021d0
movss xmm1, dword [rsp + 0xb8]
addss xmm1, xmm0
movaps xmm0, xmm1
mov rax, qword [rsp + 0x20]
movss dword [rax + 0xd4], xmm0
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x1000000
test eax, eax
jne 0x1400542e4
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
je 0x1400542e4
mov rax, qword [rsp + 0x28]
xorps xmm0, xmm0
movss dword [rax + 0x98], xmm0
jmp 0x14005443b
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x214]
cmp eax, 0xffffffff
je 0x14005443b
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x212]
cmp eax, 0xffffffff
jne 0x14005443b
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x14005443b
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x7a]
mov rcx, qword [rsp + 0x20]
movsx ecx, word [rcx + 0x78]
cmp eax, ecx
jne 0x14005443b
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xc0]
mulss xmm0, dword [0x1400e6edc]
mov rax, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xb8]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x7c], xmm0
mov rax, qword [rsp + 0x20]
add rax, 0x18
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x214]
mov edx, eax
mov rcx, qword [rsp + 0x108]
call fcn.140006510
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0xb0]
movss xmm0, dword [rax + 0x120]
comiss xmm0, dword [rcx + 0xc]
jbe 0x1400543ee
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x28]
movss xmm0, dword [rax + 0xc]
subss xmm0, dword [rcx + 0x28]
subss xmm0, dword [rsp + 0x7c]
movss xmm2, dword [0x1400e6ecc]
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x28]
call fcn.14002a370
jmp 0x14005443b
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xc]
comiss xmm0, dword [rcx + 0x128]
jbe 0x14005443b
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x28]
movss xmm0, dword [rax + 0xc]
subss xmm0, dword [rcx + 0x28]
addss xmm0, dword [rsp + 0x7c]
movss xmm2, dword [0x1400e6ecc]
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x28]
call fcn.14002a370
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x212]
cmp eax, 0xffffffff
je 0x140054557
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x78]
mov rcx, qword [rsp + 0x20]
movsx ecx, word [rcx + 0x7a]
cmp eax, ecx
jne 0x140054557
mov rax, qword [rsp + 0x20]
add rax, 0x18
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x212]
mov edx, eax
mov rcx, qword [rsp + 0x110]
call fcn.140006510
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
movss xmm0, dword [rax + 0xe0]
subss xmm0, dword [rcx + 0x412c]
movss dword [rsp + 0xcc], xmm0
mov rax, qword [rsp + 0x38]
movss xmm1, dword [0x1400e6eec]
mulss xmm1, dword [rax + 0x3dc4]
movaps xmm0, xmm1
call fcn.140018ea0
movss xmm1, dword [rsp + 0xcc]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xc4], xmm0
mov rax, qword [rsp + 0x118]
movss xmm0, dword [rsp + 0xc4]
subss xmm0, dword [rax + 8]
mov rax, qword [rsp + 0x20]
subss xmm0, dword [rax + 0xc4]
mov rax, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xc0]
mulss xmm1, dword [0x1400e6edc]
subss xmm0, xmm1
call fcn.140018ea0
movss dword [rsp + 0xc8], xmm0
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rsp + 0xc8]
movss dword [rax + 0xdc], xmm0
mov rax, qword [rsp + 0x38]
cmp dword [rax + 0x4118], 0
je 0x140054582
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0x244]
test eax, eax
jne 0x140054582
mov dword [rsp + 0x80], 1
jmp 0x14005458d
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x20]
movzx ecx, byte [rsp + 0x80]
mov byte [rax + 0x245], cl
mov rax, qword [rsp + 0x28]
add rax, 0x108
mov rcx, rax
call fcn.1400320d0
mov rcx, qword [rsp + 0xd8]
mov ecx, dword [rcx]
cmp dword [rax], ecx
je 0x1400545d0
lea rcx, str.Mismatching_PushID_PopID_
call fcn.1400125d0
movzx eax, al
xor eax, eax
test eax, eax
jne 0x1400545a0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x80]
cmp dword [rax + 0x1e0], ecx
jge 0x1400545fd
lea rcx, str.Too_many_PopItemWidth_
call fcn.1400125d0
movzx eax, al
xor eax, eax
test eax, eax
jne 0x1400545d6
mov rax, qword [rsp + 0x20]
movsx eax, word [rax + 0x78]
test eax, eax
jle 0x140054615
call fcn.140023d70
call fcn.140023d70
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x130]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
lea rdi, [rax + 0x230]
lea rsi, [rcx + 0x40]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
lea rdi, [rax + 0x240]
lea rsi, [rcx + 0x50]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
movzx ecx, byte [rcx + 0x249]
mov byte [rax + 0xcf], cl
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0xf0]
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x118], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x7c]
movss dword [rax + 0x1d8], xmm0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x80]
mov dword [rax + 0x1e0], ecx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x78]
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 0x160], eax
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
je 0x140054746
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x174]
mov word [rsp + 0x60], ax
mov rax, qword [rsp + 0x28]
movsx eax, word [rax + 0x174]
or eax, 1
mov rcx, qword [rsp + 0x28]
mov word [rcx + 0x174], ax
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x4ec0], 0
call fcn.140011460
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x20]
mov qword [rax + 0x4ec0], rcx
mov rax, qword [rsp + 0x28]
movzx ecx, word [rsp + 0x60]
mov word [rax + 0x174], cx
jmp 0x140054799
mov rax, qword [rsp + 0x20]
add rax, 0xf0
mov qword [rsp + 0x120], rax
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x120]
call fcn.140016910
movss xmm1, dword [0x1400e6f50]
mov rcx, rax
call fcn.14001b700
mov rax, qword [rsp + 0x20]
add rax, 0xf0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.14001aea0
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x10000
test eax, eax
je 0x1400547e7
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xf0]
addss xmm0, dword [rcx + 0xd4]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0xa8]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x130], xmm0
jmp 0x14005491e
mov rax, qword [rsp + 0x40]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0x20]
jb 0x1400548f6
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xf0]
addss xmm0, dword [rcx + 0xd4]
movss dword [rsp + 0x88], xmm0
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x2000000
test eax, eax
je 0x140054845
mov rax, qword [rsp + 0x28]
movss xmm0, dword [rax + 0xc0]
movss dword [rsp + 0x84], xmm0
jmp 0x140054851
xorps xmm0, xmm0
movss dword [rsp + 0x84], xmm0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x10]
movss xmm0, dword [rax + 8]
addss xmm0, dword [rsp + 0x84]
movss dword [rsp + 0x8c], xmm0
movss xmm0, dword [rsp + 0x88]
addss xmm0, dword [rsp + 0x8c]
mov rax, qword [rsp + 0x40]
subss xmm0, dword [rax + 0x20]
movaps xmm1, xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x138]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x138], xmm0
movss xmm0, dword [rsp + 0x88]
addss xmm0, dword [rsp + 0x8c]
movaps xmm1, xmm0
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xf8]
call fcn.140002240
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0xa8]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x130], xmm0
jmp 0x14005491e
mov rax, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xf8]
movss xmm0, dword [rsp + 0xa8]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x130], xmm0
mov rax, qword [rsp + 0x40]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0x24]
jb 0x1400549f6
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 4]
and eax, 0x1000000
test eax, eax
je 0x140054959
mov rax, qword [rsp + 0x28]
movss xmm0, dword [rax + 0xc4]
movss dword [rsp + 0x90], xmm0
jmp 0x140054965
xorps xmm0, xmm0
movss dword [rsp + 0x90], xmm0
movss xmm0, dword [rsp + 0x90]
movss dword [rsp + 0x94], xmm0
movss xmm0, dword [rsp + 0x54]
addss xmm0, dword [rsp + 0x94]
mov rax, qword [rsp + 0x40]
subss xmm0, dword [rax + 0x24]
movaps xmm1, xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x13c]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x13c], xmm0
movss xmm0, dword [rsp + 0x54]
addss xmm0, dword [rsp + 0x94]
movaps xmm1, xmm0
mov rax, qword [rsp + 0x20]
movss xmm0, dword [rax + 0xfc]
call fcn.140002240
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0xac]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x134], xmm0
jmp 0x140054a1e
mov rax, qword [rsp + 0x20]
movss xmm1, dword [rax + 0xfc]
movss xmm0, dword [rsp + 0xac]
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x134], xmm0
mov rax, qword [rsp + 0x20]
movzx eax, byte [rax + 0x23e]
test eax, eax
je 0x140054a38
mov rcx, qword [rsp + 0x20]
call fcn.140058790
mov rax, qword [rsp + 0x20]
mov byte [rax + 0x238], 0
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x4ecc]
dec eax
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x9c]
mov dword [rax + 0x4ecc], ecx
cmp dword [rsp + 0x9c], 0
jle 0x140054aad
mov rax, qword [rsp + 0x38]
add rax, 0x4ed0
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x4ecc]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x128]
call fcn.140053690
mov qword [rsp + 0xe0], rax
jmp 0x140054ab9
mov qword [rsp + 0xe0], 0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x140054aff
mov rax, qword [rsp + 0x38]
add rax, 0x4ee0
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
mov rcx, qword [rsp + 0x130]
call fcn.1400151a0
mov qword [rsp + 0xe8], rax
jmp 0x140054b0b
mov qword [rsp + 0xe8], 0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xe8]
mov qword [rax + 0x4ec0], rcx
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x4ec0], 0
je 0x140054b5f
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x4ec0]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x10], rcx
mov rax, qword [rsp + 0x40]
add rax, 0x28
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + 0x4ec0]
mov qword [rcx + 0x1a0], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x4ec0], 0
je 0x140054ba3
mov rax, qword [rsp + 0x38]
add rax, 0x4ee0
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x4ec0]
mov rcx, qword [rsp + 0x138]
call fcn.140054ee0
mov dword [rsp + 0x98], eax
jmp 0x140054bae
mov dword [rsp + 0x98], 0xffffffff
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x98]
mov dword [rax + 0x1c8], ecx
call fcn.140020dd0
add rsp, 0x168
pop rdi
pop rsi
ret