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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ccee6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x58
push esi
push edi
mov eax, dword [0x623ec0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
cmp dword [edi + 0x1d4], 0
jne 0x56506b
mov ecx, dword [0x9c25b4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
cmp dword [edi + 0x75c], 0
lea esi, [edi + 0x75c]
mov edx, eax
mov dword [ebp - 0x18], edx
je 0x563b6e
mov eax, dword [edi + 0x218]
cmp eax, 0x24
je 0x563afb
cmp eax, 0x25
je 0x563afb
cmp byte [edi + 0xa3e], 1
jne 0x563b6e
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov edx, dword [esi]
test edx, edx
je 0x563b5b
mov eax, dword [ecx*4 + 0x601ce0]
lea eax, [eax + eax*2]
movq xmm0, qword [edi + eax*4 + 0x64]
movq qword [edx + 0x74], xmm0
mov eax, dword [edi + eax*4 + 0x6c]
mov dword [edx + 0x7c], eax
cmp ecx, 3
jb 0x563b4f
mov eax, dword [esi]
movss xmm0, dword [edi + 0x38]
cmp ecx, 5
jae 0x563b3d
mulss xmm0, dword [0x604ccc]
jmp 0x563b45
mulss xmm0, dword [0x604d04]
addss xmm0, dword [eax + 0x78]
movss dword [eax + 0x78], xmm0
mov ecx, dword [esi]
push 0
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebp - 0x20]
inc ecx
add esi, 4
mov dword [ebp - 0x20], ecx
cmp ecx, 7
jl 0x563b00
mov eax, edi
jmp 0x564ef2
mov ecx, dword [edi + 0x218]
cmp ecx, 0x20
jne 0x563b88
push edx
mov ecx, edi
call fcn.00556940
mov eax, edi
jmp 0x564ef2
cmp byte [edi + 0xa3f], 1
jne 0x563c3d
lea eax, [edi + 0x64]
mov edx, 6
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x563be0
movq xmm0, qword [eax]
movq qword [ecx + 0x74], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x7c], eax
movss xmm0, dword [edi + 0x38]
mov eax, dword [esi]
mulss xmm0, dword [0x604d2c]
push 0
addss xmm0, dword [eax + 0x78]
movss dword [eax + 0x78], xmm0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add eax, 0xc
add esi, 4
sub edx, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
jne 0x563ba3
mov ecx, dword [edi + 0x778]
test ecx, ecx
je 0x564eef
movss xmm1, dword [edi + 0x30]
addss xmm1, dword [0x604ec0]
movss xmm2, dword [edi + 0x28]
movss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x30]
unpcklps xmm2, xmm1
movq qword [ecx + 0x74], xmm2
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x778]
push 0
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x22
je 0x564eaa
cmp ecx, 0x17
je 0x564eaa
lea eax, [edi + 0x172]
cmp ecx, 0x15
jne 0x563e20
cmp word [eax], 0xa
je 0x564eaa
cmp ecx, 0x1e
jne 0x564246
movzx eax, word [eax]
mov esi, eax
test ax, ax
je 0x564114
cmp si, 1
je 0x564114
cmp si, 2
je 0x564114
cmp word [edi + 0x172], 4
je 0x56426a
cmp ecx, 0x1c
jne 0x564412
cmp word [edi + 0x172], 2
jne 0x564897
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x3e8
jbe 0x564eef
movss xmm2, dword [edi + 0x30]
lea esi, [ecx - 0x17]
addss xmm2, dword [0x604dc4]
movss xmm0, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
mov eax, dword [edi + 0x6c]
movss dword [ebp - 0x58], xmm0
movq xmm0, qword [edi + 0x64]
movss dword [ebp - 0x60], xmm1
movss dword [ebp - 0x5c], xmm2
movq qword [ebp - 0x54], xmm0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0x5dc
call fcn.0046c00b
cdq
idiv esi
push 0x184
mov esi, edx
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
mov dword [ebp - 4], 5
push 0x184
push 0
push edi
call fcn.00468b40
mov eax, dword [ebp - 0x14]
add esp, 0xc
movd xmm3, esi
mov ecx, edi
cvtdq2ps xmm3, xmm3
push 0x50
push 1
sub esp, 0xc
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x604ce8]
mulss xmm3, dword [0x604ccc]
mov dword [esp + 8], 0x3a83126f
addss xmm3, xmm0
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push dword [ebp - 0x20]
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x563df1
mov ecx, dword [ebp - 0x1c]
and ecx, 1
mov dword [esi + 0x6c], 0
push 0xff00ff00
mov dword [esi + 0x140], 0xbf800000
lea eax, [ecx + ecx*2]
mov ecx, esi
movq xmm0, qword [ebp + eax*4 - 0x60]
mov eax, dword [ebp + eax*4 - 0x58]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x563df1
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x20]
mov esi, 5
inc dword [ebp - 0x1c]
add eax, 0x190
mov dword [ebp - 0x20], eax
cmp eax, 0xf3c
jl 0x563d12
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x838], ecx
jmp 0x564ef2
cmp ecx, 0x10
jne 0x563c68
cmp word [eax], 6
jne 0x563f86
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x12c
jbe 0x564eef
lea eax, [edi + 0x74]
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x1c], eax
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 0
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [edi + 0x38]
add esp, 0xc
mulss xmm3, dword [0x604e14]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0x9c4
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x563f6a
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax - 4]
movaps xmmword [ebp - 0x60], xmm0
movss xmm0, dword [eax]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
mov ecx, esi
movaps xmm1, xmmword [ebp - 0x60]
sub edx, 5
push 0xff00aa66
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax + 4]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x563f6a
mov dword [eax + 8], esi
add dword [ebp - 0x1c], 0xc
sub dword [ebp - 0x20], 1
jne 0x563e53
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
jmp 0x564eef
cmp word [eax], 0
jne 0x564246
cmp word [edi + 0x174], 1
jne 0x564246
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x12c
jbe 0x5640cb
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 1
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [edi + 0x38]
add esp, 0xc
mulss xmm3, dword [0x604ccc]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0x9c4
push 0
call fcn.004eb060
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x5640c2
call fcn.0046c00b
cdq
mov esi, 0xa
idiv esi
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 0x64]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
idiv esi
mov esi, dword [ebp - 0x20]
mov ecx, esi
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
push 0xffaaaaaa
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 0x6c]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5640c2
mov dword [eax + 8], esi
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
mov eax, 2
lea esi, [edi + 0x77c]
add edi, 0xc4
mov dword [ebp - 0x20], eax
nop
mov ecx, dword [esi]
test ecx, ecx
je 0x564101
movq xmm0, qword [edi]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + 8]
mov dword [ecx + 0x7c], eax
mov ecx, dword [esi]
push 0
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [ebp - 0x20]
add esi, 4
add edi, 0xc
sub eax, 1
mov dword [ebp - 0x20], eax
jne 0x5640e0
jmp 0x564eef
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x12c
jbe 0x564eef
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 2
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [edi + 0x38]
add esp, 0xc
mulss xmm3, dword [0x604c80]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0x9c4
push 0
call fcn.004eb060
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x564238
call fcn.0046c00b
cdq
mov esi, 0xa
idiv esi
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 0x64]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
idiv esi
mov esi, dword [ebp - 0x20]
mov ecx, esi
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
push 0xffaaaaaa
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 0x6c]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x564238
mov dword [eax + 8], esi
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
jmp 0x564eef
cmp ecx, 0x26
jne 0x5643d0
cmp word [edi + 0x17a], 0xe
jne 0x563ca1
cmp byte [edi + 0xa5a], 0
jne 0x563ca1
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x64
jbe 0x564eef
cmp ecx, 0x26
mov eax, 0x80
mov edx, 0x74
cmovne eax, edx
add eax, edi
mov edi, 0x5dc
mov dword [ebp - 0x1c], eax
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 3
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ccc]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push edi
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x5643a7
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax - 4]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [eax]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
mov ecx, esi
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
push 0xffff6666
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax + 4]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5643a7
mov dword [eax + 8], esi
add dword [ebp - 0x1c], 0xc
add edi, 0x190
cmp edi, 0x8fc
jl 0x564295
mov edi, dword [ebp - 0x14]
mov eax, edi
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
jmp 0x564ef2
cmp ecx, 0x19
jne 0x563ca1
cmp word [edi + 0x172], 3
jne 0x5643f5
cmp word [edi + 0x174], 8
je 0x564403
cmp ecx, ecx
jne 0x563ca1
cmp word [edi + 0x172], 0xc
jne 0x563ca1
push edx
mov ecx, edi
call fcn.00557200
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x16
je 0x564d2c
cmp ecx, 0x1b
je 0x564d2c
cmp ecx, 0x12
jne 0x564572
cmp dword [edi + 0x9d8], 5
jne 0x564897
lea eax, [edi + 0x68]
mov edi, 0x5dc
mov dword [ebp - 0x1c], eax
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 7
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ccc]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push edi
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x564557
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax - 4]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [eax]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
mov ecx, esi
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
push 0xffff6666
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax + 4]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x564557
mov dword [eax + 8], esi
add dword [ebp - 0x1c], 0xc
add edi, 0x190
cmp edi, 0x8fc
jl 0x564445
jmp 0x564eef
cmp ecx, 0x19
jne 0x564593
cmp word [edi + 0x172], 3
jne 0x564709
movss xmm0, dword [edi + 0x38]
comiss xmm0, dword [0x604dd8]
ja 0x56459c
cmp ecx, 0x1e
jne 0x564709
cmp ecx, 0x1e
mov eax, 0xff66ff66
mov esi, 0xffff6666
cmovne eax, esi
mov dword [ebp - 0x20], eax
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x64
jbe 0x564eef
lea eax, [edi + 0x74]
mov edi, 0x5dc
mov dword [ebp - 0x1c], eax
nop dword [eax + eax]
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov dword [ebp - 4], 8
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ccc]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push edi
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x5646e0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax - 4]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [eax]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x1c]
mov ecx, esi
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
push dword [ebp - 0x20]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [eax + 4]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5646e0
mov dword [eax + 8], esi
add dword [ebp - 0x1c], 0xc
add edi, 0x190
cmp edi, 0x8fc
jl 0x5645d0
mov edi, dword [ebp - 0x14]
mov eax, edi
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
jmp 0x564ef2
cmp ecx, 0x15
jne 0x564897
cmp word [edi + 0x172], 4
jne 0x5648d8
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x64
jbe 0x564eef
lea eax, [edi + 0x74]
mov dword [ebp - 0x20], 0x5dc
mov dword [ebp - 0x28], eax
nop
mov edi, eax
mov dword [ebp - 0x1c], 2
nop dword [eax]
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 9
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ccc]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push dword [ebp - 0x20]
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x56485e
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi - 4]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [edi]
movss dword [ebp - 0x24], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
mov ecx, esi
push 0xffffaa66
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 4]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x56485e
mov dword [eax + 8], esi
add edi, 0xc
sub dword [ebp - 0x1c], 1
jne 0x564750
mov eax, dword [ebp - 0x20]
add eax, 0x190
mov dword [ebp - 0x20], eax
cmp eax, 0x8fc
mov eax, dword [ebp - 0x28]
jl 0x564740
mov edi, dword [ebp - 0x14]
mov eax, edi
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
jmp 0x564ef2
cmp ecx, 0x1d
jne 0x5648d8
cmp word [edi + 0x172], 1
jne 0x5648d8
mov ecx, dword [edi + 0x75c]
test ecx, ecx
je 0x564eef
movq xmm0, qword [edi + 0x64]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + 0x6c]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x75c]
push 0
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x26
jne 0x564934
cmp byte [edi + 0xa5a], 0
jle 0x564b3b
mov eax, 6
lea esi, [edi + 0x760]
add edi, 0x70
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x564921
movq xmm0, qword [edi]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + 8]
mov dword [ecx + 0x7c], eax
mov ecx, dword [esi]
push 0
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [ebp - 0x20]
add esi, 4
add edi, 0xc
sub eax, 1
mov dword [ebp - 0x20], eax
jne 0x564900
jmp 0x564eef
cmp ecx, 0x21
jne 0x5649cc
cmp word [edi + 0x172], 1
jne 0x5649cc
cmp dword [0x9c2574], 2
jne 0x5649cc
lea eax, [edi + 0x64]
mov edx, 7
lea esi, [edi + 0x75c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [esi]
test ecx, ecx
je 0x5649b4
mov eax, dword [ecx]
push 0xffff5500
call dword [eax + 0x3c]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x20]
push 0
movq xmm0, qword [eax]
movq qword [ecx + 0x74], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x7c], eax
movss xmm0, dword [edi + 0x38]
mov eax, dword [esi]
mulss xmm0, dword [0x604d04]
addss xmm0, dword [eax + 0x78]
movss dword [eax + 0x78], xmm0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add eax, 0xc
add esi, 4
sub edx, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
jne 0x564968
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x10
jne 0x564b3b
cmp word [edi + 0x172], 7
jne 0x564b3b
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x64
jbe 0x564eef
mov dword [ebp - 0x20], 0x5dc
nop dword [eax + eax]
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xa
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ccc]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3a83126f
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push dword [ebp - 0x20]
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x564b17
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 0x28]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ce8]
movss dword [ebp - 0x28], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
mov ecx, esi
push 0xffff8800
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cb8]
addss xmm0, dword [edi + 0x2c]
mov dword [esi + 0x6c], 1
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [esi + 0x74], xmm1
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x564b17
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x20]
add eax, 0x190
mov dword [ebp - 0x20], eax
cmp eax, 0x8fc
jl 0x564a00
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x838], ecx
jmp 0x564eef
cmp ecx, 0x27
jne 0x564b91
lea ecx, [edi + 0x75c]
mov esi, 0x601d40
mov dword [ebp - 0x20], ecx
nop
mov edx, dword [ecx]
test edx, edx
je 0x564b79
mov eax, dword [esi]
push 0
lea eax, [eax + eax*2]
movq xmm0, qword [edi + eax*4 + 0x64]
movq qword [edx + 0x74], xmm0
mov eax, dword [edi + eax*4 + 0x6c]
mov dword [edx + 0x7c], eax
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebp - 0x20]
add esi, 4
add ecx, 4
mov dword [ebp - 0x20], ecx
cmp esi, str.1_:_1
jl 0x564b50
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x38
jne 0x564baf
cmp word [edi + 0x172], 0
jne 0x564be0
push ecx
mov ecx, edi
call fcn.00558630
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x42
jne 0x564bcc
cmp byte [edi + 0xa25], 0
jne 0x564be0
push ecx
mov ecx, edi
call fcn.00557ab0
mov eax, edi
jmp 0x564ef2
cmp ecx, 0x43
jne 0x564be0
push edx
mov ecx, edi
call fcn.00558260
mov eax, edi
jmp 0x564ef2
movzx eax, word [edi + 0xa60]
mov esi, 0x1041
mov ecx, eax
cmp ax, si
je 0x564c33
mov eax, 0x1042
cmp cx, ax
je 0x564c33
mov eax, dword [edi + 0x12c]
test eax, eax
je 0x564eef
cmp dword [eax], 0x1f
jne 0x564eef
cmp word [eax + 0x248], 8
jne 0x564eef
mov dword [eax + 0x358], 1
mov eax, edi
jmp 0x564ef2
mov eax, edx
sub eax, dword [edi + 0x838]
cmp eax, 0x320
jbe 0x564eef
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xb
push 0x184
push 0
push esi
call fcn.00468b40
movss xmm3, dword [0x604ccc]
add esp, 0xc
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3dcccccd
mov dword [esp], 0x3dcccccd
push 0xc8
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x564238
mov edx, dword [esi]
mov ecx, esi
push 0xffff5500
mov dword [esi + 0x104], 0
call dword [edx + 0x3c]
mov dword [esi + 0x6c], 1
movss xmm2, dword [edi + 0xdc]
movss xmm1, dword [edi + 0xe0]
movss xmm0, dword [edi + 0xe4]
unpcklps xmm2, xmm1
movq qword [esi + 0x74], xmm2
movss dword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [esi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0xc], eax
mov dword [ecx + 0x10], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x564238
mov ecx, dword [ebp - 0x18]
mov dword [eax + 8], esi
mov dword [edi + 0x838], ecx
jmp 0x564eef
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push 0x184
mov esi, edx
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x2c], edi
mov dword [ebp - 4], 6
push 0x184
push 0
push edi
call fcn.00468b40
movss xmm0, dword [0x604c94]
add esp, 0xc
movd xmm1, esi
mov ecx, edi
cvtdq2ps xmm1, xmm1
push 0x50
push 1
sub esp, 0xc
movaps xmm3, xmm1
mulss xmm1, dword [0x604ca8]
mulss xmm3, xmm0
mov dword [esp + 8], 0x38d1b717
addss xmm1, xmm0
addss xmm3, xmm0
movss dword [esp + 4], xmm3
movss dword [esp], xmm1
push 0x5dc
push 0
call fcn.004eb060
mov edi, eax
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x564eef
call fcn.0046c00b
cdq
mov esi, 0xa
idiv esi
mov eax, dword [ebp - 0x14]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ca4]
addss xmm0, dword [eax + 0x64]
movups xmmword [ebp - 0x60], xmm0
movss xmm0, dword [eax + 0x68]
movss dword [ebp - 0x28], xmm0
call fcn.0046c00b
cdq
mov ecx, edi
idiv esi
mov eax, dword [ebp - 0x14]
movups xmm1, xmmword [ebp - 0x60]
sub edx, 5
push 0xffffffffffffffcc
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ca4]
addss xmm0, dword [eax + 0x6c]
mov dword [edi + 0x6c], 1
mov dword [edi + 0x100], 0
mov dword [edi + 0x148], 1
mov dword [edi + 0x140], 0xbf800000
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
unpcklps xmm1, xmm0
movq qword [edi + 0x74], xmm1
movq qword [edi + 0x14c], xmm1
mov dword [edi + 0x7c], eax
mov dword [edi + 0x154], eax
mov eax, dword [edi]
call dword [eax + 0x3c]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x218], 0x1b
jne 0x564e8a
mov eax, dword [edi]
mov ecx, edi
push 0xffffdd88
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x2c]
mov dword [edi + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [edi + 0xc], eax
mov dword [ecx + 0x10], edi
mov eax, dword [edi + 0xc]
test eax, eax
je 0x564eef
mov dword [eax + 8], edi
jmp 0x564eef
mov eax, 2
lea esi, [edi + 0x75c]
add edi, 0x64
mov dword [ebp - 0x20], eax
nop dword [eax + eax]
mov ecx, dword [esi]
test ecx, ecx
je 0x564ee1
movq xmm0, qword [edi]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + 8]
mov dword [ecx + 0x7c], eax
mov ecx, dword [esi]
push 0
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [ebp - 0x20]
add esi, 4
add edi, 0xc
sub eax, 1
mov dword [ebp - 0x20], eax
jne 0x564ec0
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0xa28], 0
lea esi, [eax + 0x60]
mov eax, dword [esi]
je 0x564fa6
mov ecx, dword [eax + 0x2f8]
test ecx, ecx
je 0x564f46
mov ecx, dword [ecx + 0x88]
test ecx, ecx
je 0x564f46
mov eax, dword [ebp - 0x14]
push 0
movq xmm0, qword [eax + 0xac]
movq qword [ecx + 0x74], xmm0
mov eax, dword [eax + 0xb4]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x2f8]
mov ecx, dword [eax + 0x88]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [esi]
mov ecx, dword [eax + 0x2fc]
test ecx, ecx
je 0x56506b
mov ecx, dword [ecx + 0x88]
test ecx, ecx
je 0x56506b
mov eax, dword [ebp - 0x14]
push 0
movq xmm0, qword [eax + 0xb8]
movq qword [ecx + 0x74], xmm0
mov eax, dword [eax + 0xc0]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x2fc]
mov ecx, dword [eax + 0x88]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [eax + 0x2f8]
mov ecx, esi
mov edi, dword [0x9c25ac]
test edx, edx
je 0x56500b
mov edx, dword [edx + 0x88]
test edx, edx
je 0x56500b
mov eax, dword [0x9c25b0]
mov byte [edx + 0x14], 1
mov dword [edi + 0x21a7c], 1
mov eax, dword [eax + 0x10]
test eax, eax
je 0x564ff9
nop dword [eax]
cmp dword [eax + 0x1c], edx
jne 0x564fec
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x564fe0
mov ecx, dword [ebp - 0x14]
add ecx, 0x60
mov eax, dword [ecx]
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x88], 0
mov eax, dword [ecx]
mov edx, dword [eax + 0x2fc]
test edx, edx
je 0x56506b
mov edx, dword [edx + 0x88]
test edx, edx
je 0x56506b
mov eax, dword [0x9c25b0]
mov byte [edx + 0x14], 1
mov dword [edi + 0x21a7c], 1
mov eax, dword [eax + 0x10]
test eax, eax
je 0x565059
nop dword [eax + eax]
cmp dword [eax + 0x1c], edx
jne 0x56504c
mov dword [eax + 0x1c], 0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x565040
mov ecx, dword [ebp - 0x14]
add ecx, 0x60
mov eax, dword [ecx]
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x88], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret