Function at 0x55cb30
Capabilities:
Encode data using base64
Parse pe header
Resolve function by parsing pe exports
Validate payment card number using luhn algorithm

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 0x5ccdf1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x198
mov eax, dword [0x623ec0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xa4], edi
cmp dword [edi + 0x1d4], 0
jne 0x563a33
cmp byte [edi + 0xa3d], 1
lea eax, [edi + 0xa25]
mov ecx, dword [0x9c25b0]
mov dword [ebp - 0x90], ecx
je 0x55cba6
cmp byte [eax], 1
jne 0x55cbc0
mov esi, eax
cmp dword [ecx + 0x4c], edi
je 0x55cbc0
push dword [edi + 0x750]
mov ecx, dword [0x9c25ac]
call fcn.004bb890
mov eax, esi
cmp byte [edi + 0xa3d], 1
je 0x56354e
cmp byte [eax], 1
je 0x56354e
cmp dword [0x1ff1f30], 1
je 0x55cbec
cmp dword [0x1ff1f2c], 1
jne 0x55cd90
mov eax, dword [edi + 0x71c]
test eax, eax
je 0x55cbfd
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x6f8]
test eax, eax
je 0x55cc0e
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x6fc]
test eax, eax
je 0x55cc1f
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x704]
test eax, eax
je 0x55cc30
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x740]
test eax, eax
je 0x55cc41
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x70c]
test eax, eax
je 0x55cc52
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x710]
test eax, eax
je 0x55cc63
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x720]
test eax, eax
je 0x55cc74
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x73c]
test eax, eax
je 0x55cc85
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x74c]
test eax, eax
je 0x55cc96
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x744]
test eax, eax
je 0x55cca7
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x748]
test eax, eax
je 0x55ccb8
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7b0]
test eax, eax
je 0x55ccc9
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7b4]
test eax, eax
je 0x55ccda
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7b8]
test eax, eax
je 0x55cceb
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7bc]
test eax, eax
je 0x55ccfc
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x55cd46
mov dword [eax + 0x2904], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28fe], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x28f8], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28fd], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x55cd90
mov dword [eax + 0x2904], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28fe], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x28f8], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28fd], 0
mov eax, dword [edi + 0x60]
movss xmm1, dword [0x604ccc]
test eax, eax
je 0x55d024
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x55cee2
movss xmm0, dword [edi + 0x870]
subss xmm0, xmm1
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f2], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f3], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f4], 0
cmp byte [edi + 0x1a8], 0x7e
jne 0x55ce44
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f2], 1
cmp dword [edi + 0xf4], 0x29
jne 0x55ce44
mov eax, dword [edi + 0x60]
movss xmm0, dword [edi + 0x870]
subss xmm0, xmm1
mov eax, dword [eax + 0x2fc]
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f2], 1
cmp byte [edi + 0x1a8], 0x7f
jne 0x55ce93
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f3], 1
cmp dword [edi + 0xf4], 0x29
jne 0x55ce93
mov eax, dword [edi + 0x60]
movss xmm0, dword [edi + 0x870]
subss xmm0, xmm1
mov eax, dword [eax + 0x2fc]
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f3], 1
cmp byte [edi + 0x1a8], 0x83
jne 0x55cee2
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f4], 1
cmp dword [edi + 0xf4], 0x29
jne 0x55cee2
mov eax, dword [edi + 0x60]
movss xmm0, dword [edi + 0x870]
subss xmm0, xmm1
mov eax, dword [eax + 0x2fc]
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f4], 1
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x55d024
movss xmm0, dword [edi + 0x874]
subss xmm0, xmm1
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f2], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f3], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f4], 0
cmp byte [edi + 0x1a9], 0x7e
jne 0x55cf86
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f2], 1
cmp dword [edi + 0xf4], 0x29
jne 0x55cf86
mov eax, dword [edi + 0x60]
movss xmm0, dword [edi + 0x874]
subss xmm0, xmm1
mov eax, dword [eax + 0x2f8]
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f2], 1
cmp byte [edi + 0x1a9], 0x7f
jne 0x55cfd5
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f3], 1
cmp dword [edi + 0xf4], 0x29
jne 0x55cfd5
mov eax, dword [edi + 0x60]
movss xmm0, dword [edi + 0x874]
subss xmm0, xmm1
mov eax, dword [eax + 0x2f8]
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f3], 1
cmp byte [edi + 0x1a9], 0x83
jne 0x55d024
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f4], 1
cmp dword [edi + 0xf4], 0x29
jne 0x55d024
mov eax, dword [edi + 0x60]
movss xmm0, dword [edi + 0x874]
subss xmm0, xmm1
mov eax, dword [eax + 0x2f8]
movss dword [eax + 0x28ec], xmm0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f4], 1
mov eax, dword [edi + 0x6a0]
mov esi, 5
mov dword [ebp - 0xb0], 0x3e8
mov dword [ebp - 0xc8], 0xa
test eax, eax
je 0x5608a8
mov esi, dword [ebx + 8]
cmp esi, eax
jbe 0x5608a3
movss xmm1, dword [edi + 0x6ac]
movss xmm0, dword [edi + 0x6a4]
subss xmm1, dword [edi + 0x2c]
subss xmm0, dword [edi + 0x28]
call fcn.0045e630
mov edx, dword [edi + 0x6b0]
test edx, edx
je 0x55d0ae
mov eax, dword [0x9c25b0]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x55d0ae
cvttss2si eax, dword [edx + 0x2c]
push eax
cvttss2si eax, dword [edx + 0x28]
cvttss2si edx, dword [ecx + 0x2c]
push eax
cvttss2si ecx, dword [ecx + 0x28]
call fcn.0049a800
add esp, 8
cmp eax, 0x14
jle 0x55d0b7
xor eax, eax
mov word [edi + 0x6b4], ax
movzx eax, word [edi + 0x6b4]
mov edx, 0xf8
mov ecx, eax
cmp ax, dx
jge 0x55d0f5
mov eax, dword [ebp - 0x90]
movsx edx, cx
mov ecx, dword [eax + edx*4 + 0x1aa454]
test ecx, ecx
je 0x55d0ee
cmp ecx, dword [edi + 0x6a0]
jae 0x55d0ee
mov dword [edi + 0x6a0], ecx
jmp 0x55d0f5
mov dword [eax + edx*4 + 0x1aa454], esi
movzx eax, word [edi + 0x6b4]
mov edx, 0x99
mov ecx, eax
test ax, ax
js 0x55d10e
cmp cx, 0x60
jl 0x55d12d
mov eax, 0x97
cmp cx, ax
jl 0x55d11d
cmp cx, dx
jle 0x55d12d
cmp cx, 0x68
je 0x55d12d
cmp cx, 0x69
jne 0x56084b
movss xmm2, dword [edi + 0x30]
lea ecx, [ebp - 0x2c]
addss xmm2, dword [0x604dc4]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
movss xmm3, dword [edi + 0x6ac]
lea ecx, [ebp - 0x44]
movss xmm2, dword [edi + 0x6a8]
movss xmm1, dword [edi + 0x6a4]
call fcn.00445a40
movzx eax, word [edi + 0x6b4]
mov ecx, eax
cmp ax, 0x10
jne 0x55d21d
mov ecx, dword [edi + 0x6b0]
movss xmm0, dword [edi + 0x28]
ucomiss xmm0, dword [ecx + 0x28]
lahf
test ah, 0x44
jp 0x560846
movss xmm0, dword [edi + 0x2c]
ucomiss xmm0, dword [ecx + 0x2c]
lahf
test ah, 0x44
jp 0x560846
push 0xac
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0
mov ecx, esi
push 0xac
call fcn.0045fa70
push dword [edi + 0x6b0]
movq xmm0, qword [ebp - 0x2c]
mov ecx, dword [ebp - 0x24]
push 0
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.005b01d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
jmp 0x560846
cmp cx, 3
jne 0x55d2cd
movq xmm0, qword [ebp - 0x44]
lea ecx, [ebp - 0x54]
movss xmm2, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x44]
mov edi, dword [ebp - 0x3c]
movq qword [ebp - 0x38], xmm0
call fcn.0045e130
mov ecx, dword [ebp - 0x90]
push dword [eax + 4]
push dword [eax]
call fcn.00592d40
push 0x90
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ccc]
movss dword [ebp - 0x34], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 1
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x38]
push 3
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], edi
mov ecx, esi
call fcn.005a8710
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov edi, dword [ebp - 0xa4]
jmp 0x560846
cmp cx, 0xd
jne 0x55d3dd
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 2
mov ecx, esi
push 0xcc
call fcn.0045e510
movss xmm3, dword [edi + 0x34]
mov ecx, esi
push 4
push 0xff999999
push 0xb16
call fcn.004f2590
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0xa4], 0x19d
lea ecx, [ebp - 0x38]
mov dword [esi + 0xb0], 0x1f4
mov dword [esi + 0xb8], 0x1f4
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [eax*8 + 0x629074]
mulss xmm2, dword [edi + 0x38]
mulss xmm2, dword [0x604d2c]
jne 0x55d37c
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
jmp 0x55d393
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
addss xmm2, dword [0x604d04]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x98], 0x40200000
mov dword [esi + 0x9c], 0x40200000
mov dword [esi + 0x6c], 1
mov byte [esi + 0xac], 0
mov ecx, dword [eax + 0x2c]
push esi
call fcn.005bcdc0
jmp 0x560846
cmp cx, 8
je 0x56081a
cmp cx, 0xa
je 0x56081a
cmp cx, 0x12
je 0x56081a
cmp cx, 0xb
jne 0x55d5fa
movq xmm0, qword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], eax
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push 0x184
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x94], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 3
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604e28]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0x3b03126f
mov dword [esp + 4], 0x3fcccccd
mov dword [esp], 0x3fcccccd
push 0x2bc
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xff990000
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
movss xmm0, dword [ebp - 0x34]
lea ecx, [ebp - 0x58]
addss xmm0, dword [0x604ce8]
movss xmm3, dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x38]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 1
movaps xmm2, xmm0
movss dword [ebp - 0x98], xmm0
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 4], 4
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm0, dword [ebp - 0x94]
mov ecx, esi
mulss xmm0, dword [0x604d04]
push 0x50
push 1
sub esp, 0xc
movaps xmm3, xmm0
addss xmm3, dword [0x604f30]
addss xmm0, dword [0x604ef8]
mov dword [esp + 8], 0x3a03126f
movss dword [esp + 4], xmm3
movss dword [esp], xmm0
push 0x4b0
push 0x3c
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xff994444
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
movss xmm0, dword [ebp - 0x94]
lea ecx, [ebp - 0x38]
mulss xmm0, dword [0x604fb8]
mov dword [esi + 0x6c], 1
movss xmm3, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x98]
divss xmm0, dword [0x604f80]
mov dword [esi + 0x104], 1
movss xmm1, dword [ebp - 0x38]
movss dword [esi + 0x114], xmm0
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov ecx, 0xa8
jmp 0x56083a
cmp cx, 9
jne 0x55d64a
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 5
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
push 0
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005b0d90
jmp 0x55d202
cmp cx, 0xf
jne 0x55d75a
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 6
mov ecx, esi
push 0xcc
call fcn.0045e510
movss xmm3, dword [edi + 0x34]
mov ecx, esi
push 4
push 0xff999999
push 0xb16
call fcn.004f2590
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0xa4], 0x19d
lea ecx, [ebp - 0x38]
mov dword [esi + 0xb0], 0x1f4
mov dword [esi + 0xb8], 0x1f4
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
mulss xmm2, dword [0x604d2c]
jne 0x55d6f9
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
jmp 0x55d710
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
addss xmm2, dword [0x604d04]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x98], 0x40200000
mov dword [esi + 0x9c], 0x40200000
mov dword [esi + 0x6c], 1
mov byte [esi + 0xac], 0
mov ecx, dword [eax + 0x2c]
push esi
call fcn.005bcdc0
jmp 0x560846
cmp cx, 2
je 0x56078c
cmp cx, 0xc
je 0x56078c
cmp cx, 0x1c
je 0x56078c
cmp cx, 0x11
jne 0x55d827
cmp dword [edi + 0x60], 0
je 0x55e876
push 0
xor edx, edx
mov ecx, 0x9b
call fcn.005bc750
add esp, 4
cmp dword [edi + 0x868], 1
jne 0x55d7ba
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x55d7ba
mov byte [eax + 0x28f0], 1
cmp dword [edi + 0x86c], 1
jne 0x55d7d7
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x55d7d7
mov byte [eax + 0x28f0], 1
cmp dword [edi + 0x868], 0
jne 0x560846
cmp dword [edi + 0x86c], 0
jne 0x560846
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x55d805
mov byte [eax + 0x28f0], 1
mov eax, dword [edi + 0x60]
mov edx, 0x99
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x56084b
mov byte [eax + 0x28f0], 1
jmp 0x56084b
cmp cx, 0x13
jne 0x55d8c8
cmp dword [edi + 0x60], 0
je 0x55eb8d
push 0
xor edx, edx
mov ecx, 0xa0
call fcn.005bc750
mov eax, dword [edi + 0x60]
add esp, 4
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x55d863
mov dword [eax + 0x2904], 4
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x55d87a
mov dword [eax + 0x2904], 4
push 0xb0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 8
mov ecx, esi
push 0xb0
call fcn.0045fb10
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push 0
push 0
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a8390
jmp 0x55d202
cmp cx, 0x14
jne 0x55db31
push 0
xor edx, edx
mov ecx, 0x99
call fcn.005bc750
mov eax, dword [edi + 0x6b0]
add esp, 4
test eax, eax
je 0x560846
mov eax, dword [eax + 0x218]
cmp eax, 4
je 0x55d90b
mov dword [ebp - 0x94], 0
cmp eax, 8
jne 0x55d915
mov dword [ebp - 0x94], 1
push 0x1c0
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov dword [ebp - 4], 9
mov ecx, edi
push 0x1c0
call fcn.0045f5a0
mov eax, dword [ebp - 0xa4]
xorps xmm3, xmm3
push 0
push 0
sub esp, 0xc
xorps xmm2, xmm2
mov ecx, dword [eax + 0x6b0]
xorps xmm1, xmm1
mov esi, dword [ecx + 0x5c]
mov ecx, esp
call fcn.00445a40
sub esp, 0xc
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
push esi
mov ecx, edi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xa4]
mov eax, dword [edi + 0x6b0]
test eax, eax
je 0x55da07
cmp byte [eax + 0xa44], 0
jle 0x55da07
cmp dword [eax + 0x12c], 0
je 0x55da07
mov eax, dword [eax + 0xa48]
mov dword [esi + 0x5c], eax
mov eax, dword [edi + 0x6b0]
movups xmm0, xmmword [eax + 0x132]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [eax + 0x142]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x6b0]
mov eax, dword [eax + 0x5c]
mov dword [esi + 0x1b4], eax
mov eax, dword [edi + 0x6b0]
movups xmm0, xmmword [eax + 0x172]
movups xmmword [esi + 0x190], xmm0
movups xmm0, xmmword [eax + 0x182]
movups xmmword [esi + 0x1a0], xmm0
jmp 0x55da23
movups xmm0, xmmword [eax + 0x172]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [eax + 0x182]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x94]
mov dword [esi + 0x138], 0x3f000000
mov dword [esi + 0x13c], 0x3f000000
mov dword [esi + 0x140], 0x3f000000
call dword [eax + 0x84]
mov eax, dword [esi]
sub esp, 0xc
mov dword [esi + 0x168], 1
mov ecx, esi
mov dword [esi + 0x128], 0xbb8
mov edx, dword [eax + 0x3c]
mov eax, dword [edi + 0x6b0]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call edx
cmp byte [edi + 0xa44], 0
jle 0x55dae6
cmp dword [edi + 0x12c], 0
je 0x55dae6
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x55daca
imul eax, dword [esi + 0x5c], 0x2a0
push dword [eax + 0x9b7940]
call fcn.005b85e0
mov ecx, dword [esi + 0x1b0]
test ecx, ecx
je 0x55dafb
imul eax, dword [esi + 0x1b4], 0x2a0
push dword [eax + 0x9b79a0]
jmp 0x55daf6
imul eax, dword [esi + 0x5c], 0x2a0
mov ecx, dword [esi + 0x60]
push dword [eax + 0x9b7940]
call fcn.005b85e0
mov eax, dword [edi + 0x6b0]
push esi
mov eax, dword [eax + 0x34]
mov dword [esi + 0x134], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x12c], 1
mov dword [esi + 0x130], 1
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x560846
cmp cx, 0x16
jne 0x55dba0
movss xmm3, dword [ebp - 0x40]
lea ecx, [ebp - 0x38]
addss xmm3, dword [0x604dc4]
movss xmm2, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x44]
call fcn.00445a40
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0xa
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
push 1
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a4940
jmp 0x55d202
cmp cx, 0x17
jne 0x55dc65
xor edi, edi
nop dword [eax]
mov eax, edi
movss xmm2, dword [ebp - 0x40]
and eax, 0xfffffffe
lea ecx, [ebp - 0x38]
movd xmm3, eax
mov eax, edi
and eax, 1
add eax, eax
cvtdq2ps xmm3, xmm3
movd xmm1, eax
addss xmm3, dword [ebp - 0x3c]
cvtdq2ps xmm1, xmm1
subss xmm3, dword [0x604dc4]
addss xmm1, dword [ebp - 0x44]
subss xmm1, dword [0x604dc4]
call fcn.00445a40
push 0xb0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0xb
mov ecx, esi
push 0xb0
call fcn.0045fb10
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
push 0
push 0
push 1
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a8390
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
inc edi
cmp edi, 4
jl 0x55dbb0
mov edi, dword [ebp - 0xa4]
jmp 0x560846
cmp cx, 0x18
jne 0x55dcdd
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x604dc4]
push 0xc0
movss dword [ebp - 0x40], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0xc
mov ecx, esi
push 0xc0
call fcn.0045e550
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push 0
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005aba50
jmp 0x55d202
cmp cx, 0x19
jne 0x55dd2d
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0xd
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a4ae0
jmp 0x55d202
cmp cx, 0x1b
je 0x560743
cmp cx, 0x1d
je 0x560743
cmp cx, 0x1f
jne 0x55e094
cmp dword [edi + 0x6b0], 0
je 0x560846
movq xmm0, qword [ebp - 0x44]
lea ecx, [ebp - 0x54]
movss xmm2, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x44]
mov edi, dword [ebp - 0x3c]
movq qword [ebp - 0x38], xmm0
call fcn.0045e130
mov ecx, dword [ebp - 0x90]
push dword [eax + 4]
push dword [eax]
call fcn.00592d40
push 0x90
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ccc]
movss dword [ebp - 0x34], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0xf
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x38]
push 4
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], edi
mov ecx, esi
call fcn.005a8710
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 4], 0x10
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
push 4
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a8710
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov esi, dword [ebp - 0xa4]
mov eax, dword [esi + 0x6b0]
mov eax, dword [eax + 0x218]
cmp eax, 4
je 0x55de74
mov dword [ebp - 0x94], 0
cmp eax, 8
jne 0x55de7e
mov dword [ebp - 0x94], 1
push 0x1c0
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov dword [ebp - 4], 0x11
mov ecx, edi
push 0x1c0
call fcn.0045f5a0
mov ecx, dword [esi + 0x6b0]
xorps xmm3, xmm3
push 0
push 0
sub esp, 0xc
xorps xmm2, xmm2
mov esi, dword [ecx + 0x5c]
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
sub esp, 0xc
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
push esi
mov ecx, edi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xa4]
mov eax, dword [edi + 0x6b0]
test eax, eax
je 0x55df6a
cmp byte [eax + 0xa44], 0
jle 0x55df6a
cmp dword [eax + 0x12c], 0
je 0x55df6a
mov eax, dword [eax + 0xa48]
mov dword [esi + 0x5c], eax
mov eax, dword [edi + 0x6b0]
movups xmm0, xmmword [eax + 0x132]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [eax + 0x142]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x6b0]
mov eax, dword [eax + 0x5c]
mov dword [esi + 0x1b4], eax
mov eax, dword [edi + 0x6b0]
movups xmm0, xmmword [eax + 0x172]
movups xmmword [esi + 0x190], xmm0
movups xmm0, xmmword [eax + 0x182]
movups xmmword [esi + 0x1a0], xmm0
jmp 0x55df86
movups xmm0, xmmword [eax + 0x172]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [eax + 0x182]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x94]
mov dword [esi + 0x138], 0x3f000000
mov dword [esi + 0x13c], 0x3f000000
mov dword [esi + 0x140], 0x3f000000
call dword [eax + 0x84]
mov eax, dword [esi]
sub esp, 0xc
mov dword [esi + 0x168], 1
mov ecx, esi
mov dword [esi + 0x128], 0x5dc
mov edx, dword [eax + 0x3c]
mov eax, dword [edi + 0x6b0]
movss xmm0, dword [eax + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
call edx
cmp byte [edi + 0xa44], 0
jle 0x55e049
cmp dword [edi + 0x12c], 0
je 0x55e049
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x55e02d
imul eax, dword [esi + 0x5c], 0x2a0
push dword [eax + 0x9b7940]
call fcn.005b85e0
mov ecx, dword [esi + 0x1b0]
test ecx, ecx
je 0x55e05e
imul eax, dword [esi + 0x1b4], 0x2a0
push dword [eax + 0x9b79a0]
jmp 0x55e059
imul eax, dword [esi + 0x5c], 0x2a0
mov ecx, dword [esi + 0x60]
push dword [eax + 0x9b7940]
call fcn.005b85e0
mov eax, dword [edi + 0x6b0]
push esi
mov eax, dword [eax + 0x34]
mov dword [esi + 0x134], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x12c], 1
mov dword [esi + 0x130], 9
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x560846
cmp cx, 0x20
jne 0x55e0f1
push 0xa0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x12
mov ecx, esi
push 0xa0
call fcn.0045f580
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0x22331100
push 0xffffffffffffffff
push dword [edi + 0x6b0]
push 0
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a6ed0
jmp 0x55d202
cmp cx, 0x22
jne 0x55e169
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x604dc4]
push 0xb0
movss dword [ebp - 0x40], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x13
mov ecx, esi
push 0xb0
call fcn.0045fb10
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push 0
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a9f90
jmp 0x55d202
cmp cx, 0x25
jne 0x55e4a4
cmp byte [edi + 0xa44], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
movss xmm0, dword [0x604dc4]
movss dword [ebp - 0xa0], xmm0
jne 0x55e1a4
movss xmm0, dword [0x604de8]
movss dword [ebp - 0xa0], xmm0
xor esi, esi
mov dword [ebp - 0xa8], esi
nop dword [eax]
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
movd xmm1, dword [ebp - 0xa8]
mov esi, dword [ebp + esi*4 - 0x1c]
cvtdq2ps xmm1, xmm1
movd xmm0, edx
movss dword [ebp - 0x94], xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ce8]
movss dword [ebp - 0x90], xmm0
test esi, esi
jne 0x55e2c0
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x14
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [ebp - 0x90]
mov ecx, esi
addss xmm3, dword [0x604dc4]
movss xmm0, dword [ebp - 0x94]
mulss xmm0, dword [0x604d20]
push 0x50
push 8
mulss xmm3, dword [ebp - 0xa0]
sub esp, 0xc
subss xmm3, xmm0
mov dword [esp + 8], 0
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0
push 0x6d
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
mov eax, dword [ebp - 0xa8]
push 0xffffdd00
mov edx, dword [ecx + 0x3c]
mov ecx, esi
mov dword [ebp + eax*4 - 0x1c], esi
call edx
mov eax, dword [0x9c25b0]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 0
mov dword [esi + 0xf8], 0x7d0
mov ecx, dword [eax + 0x2c]
push esi
call fcn.005bcdc0
movss xmm1, dword [ebp - 0x94]
jmp 0x55e2c8
movss dword [ebp - 0x90], xmm0
test esi, esi
je 0x55e355
mov eax, dword [ebx + 8]
xor edx, edx
sub eax, dword [esi + 0xfc]
mov ecx, 0x3e8
div ecx
lea ecx, [ebp - 0x38]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x605750]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x605088]
divss xmm0, dword [0x60529c]
addss xmm0, xmm1
movss dword [esi + 0x114], xmm0
movss xmm3, dword [edi + 0x2c]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
addss xmm3, dword [0x604d2c]
addss xmm2, dword [0x604e68]
addss xmm1, dword [0x604d2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
movq qword [esi + 0x74], xmm0
mov eax, dword [ebp - 0x30]
mov dword [esi + 0x7c], eax
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 4], 0x15
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm0, dword [ebp - 0x90]
mov ecx, esi
addss xmm0, dword [0x604dc4]
push 0x50
push 8
sub esp, 0xc
mulss xmm0, dword [ebp - 0xa0]
mov dword [esp + 8], 0
movss dword [esp + 4], xmm0
movaps xmm3, xmm0
movss dword [esp], xmm0
push 0x1f4
push 0x6d
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xffffdd00
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
mov eax, dword [ebx + 8]
xor edx, edx
sub eax, dword [esi + 0xfc]
mov ecx, 0x3e8
div ecx
mov dword [esi + 0x6c], 1
lea ecx, [ebp - 0x58]
mov dword [esi + 0x104], 1
mov dword [esi + 0xf8], 0x7d0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x605750]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x605088]
divss xmm0, dword [0x60529c]
movss dword [esi + 0x114], xmm0
movss xmm3, dword [edi + 0x2c]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
addss xmm3, dword [0x604d2c]
addss xmm2, dword [0x604e68]
addss xmm1, dword [0x604d2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x1c], edi
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov esi, dword [ebp - 0xa8]
inc esi
mov dword [ebp - 0xa8], esi
cmp esi, 2
jl 0x55e1b0
mov ecx, 0x69
jmp 0x56083a
cmp cx, 0x26
jne 0x55e5cc
movss xmm0, dword [ebp - 0x40]
xor eax, eax
addss xmm0, dword [0x604dc4]
cmp dword [edi + 0x218], 0x26
push 0xc0
sete al
inc eax
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [0x604dc4]
mov dword [ebp - 0x98], eax
movss dword [ebp - 0x28], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x16
mov ecx, esi
push 0xc0
call fcn.0045e550
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push dword [ebp - 0x98]
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005aba50
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x604dc4]
push 0xc8
movss dword [ebp - 0x40], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 4], 0x17
mov ecx, esi
push 0xc8
call fcn.0045faf0
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push 4
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a5b20
jmp 0x55d202
cmp cx, 0x28
je 0x5606ae
cmp cx, 0x15
je 0x5606ae
cmp cx, 0x29
je 0x5605df
cmp cx, 0x2b
je 0x5605df
cmp cx, 0x36
je 0x5605df
cmp cx, 0x2a
jne 0x55e65b
push 0xac
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x1a
mov ecx, esi
push 0xac
call fcn.0045fa70
movss xmm3, dword [ebp - 0x28]
subss xmm3, dword [0x604dc4]
movss xmm2, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x2c]
push 0
sub esp, 0xc
mov ecx, esp
call fcn.00445a40
mov ecx, esi
call fcn.005b1dd0
jmp 0x55d202
cmp cx, 0x2c
jne 0x55e876
xor edi, edi
nop word [eax + eax]
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x1b
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604d20]
mov ecx, esi
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0x50
push 1
sub esp, 0xc
mulss xmm0, dword [0x604c94]
mov dword [esp + 8], 0x3b03126f
subss xmm3, xmm0
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0x320
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push dword [edi*4 + 0x601d30]
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
mov dword [esi + 0x6c], 1
lea ecx, [ebp - 0x38]
mov dword [esi + 0x104], 1
movss xmm2, dword [ebp - 0x28]
addss xmm2, dword [0x604de8]
movss xmm3, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push 0x184
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x605030]
movss dword [ebp - 0x94], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 4], 0x1c
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [ebp - 0x94]
mov ecx, esi
mulss xmm3, dword [0x604c94]
push 0x50
push 1
sub esp, 0xc
addss xmm3, dword [0x604d20]
mov dword [esp + 8], 0x3a03126f
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0x1f4
push 0x3c
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xff333355
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
movss xmm0, dword [ebp - 0x94]
lea ecx, [ebp - 0x58]
mulss xmm0, dword [0x604fb8]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 1
divss xmm0, dword [0x604f80]
movss dword [esi + 0x114], xmm0
movss xmm2, dword [ebp - 0x28]
addss xmm2, dword [0x604de8]
movss xmm3, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
inc edi
cmp edi, 3
jl 0x55e670
push 0
xor edx, edx
mov ecx, 0x9f
call fcn.005bc750
mov edi, dword [ebp - 0xa4]
jmp 0x560843
cmp cx, 0x2e
jne 0x55eb8d
push 0x90
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov dword [ebp - 4], 0x1d
mov ecx, edi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x2c]
xorps xmm3, xmm3
mov esi, dword [ebp - 0x24]
xorps xmm2, xmm2
push 0x3e8
sub esp, 0xc
movq qword [ebp - 0x58], xmm0
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
push 1
push ecx
mov dword [esp], 0x3f800000
push 0x7a
push 0
push 0xffff3300
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 0xf
push 3
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.004f3790
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
push 0x90
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x98], edi
mov dword [ebp - 4], 0x1e
mov ecx, edi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x2c]
xorps xmm3, xmm3
mov esi, dword [ebp - 0x24]
xorps xmm2, xmm2
push 0x3e8
sub esp, 0xc
movq qword [ebp - 0x58], xmm0
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
push 1
push ecx
mov dword [esp], 0x3f800000
push 0x38
push 0
push 0xffff3300
push ecx
mov dword [esp], 0x3e99999a
mov ecx, edi
push 0xf
push 1
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.004f3790
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
mov ecx, dword [ecx + 0x2c]
push eax
call fcn.005bcdc0
push 0x90
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0xb4], edi
mov dword [ebp - 4], 0x1f
mov ecx, edi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x2c]
xorps xmm3, xmm3
mov esi, dword [ebp - 0x24]
xorps xmm2, xmm2
push 0x3e8
sub esp, 0xc
movq qword [ebp - 0x58], xmm0
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
push 1
push ecx
mov dword [esp], 0x3f800000
push 0x7a
push 0
push 0xff0033ff
push ecx
mov dword [esp], 0x3f800000
mov ecx, edi
push 0xf
push 2
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.004f3790
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
push 0x90
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0xb8], edi
mov dword [ebp - 4], 0x20
mov ecx, edi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x2c]
xorps xmm3, xmm3
mov esi, dword [ebp - 0x24]
xorps xmm2, xmm2
push 0x3e8
sub esp, 0xc
movq qword [ebp - 0x58], xmm0
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
push 1
push ecx
mov dword [esp], 0x3f800000
push 0x38
push 0
push 0xff0033ff
push ecx
mov dword [esp], 0x3e99999a
mov ecx, edi
push 0xf
push 2
sub esp, 0xc
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], esi
call fcn.004f3790
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
push 0xc0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x94], esi
mov dword [ebp - 4], 0x21
mov ecx, esi
push 0xc0
call fcn.0045e550
movss xmm3, dword [0x604dc4]
mov ecx, esi
push 7
push 2
call fcn.005a3d90
mov edi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi]
push 0xffaa3300
mov dword [edi + 0x6c], 1
mov edx, dword [ecx + 0x44]
mov ecx, edi
call edx
mov ecx, dword [edi]
sub esp, 8
movss xmm2, dword [ebp - 0x28]
movss xmm1, dword [ebp - 0x2c]
mov esi, dword [ecx + 0x3c]
mov ecx, esp
call fcn.0045e130
mov ecx, edi
call esi
mov eax, dword [0x9c25b0]
mov dword [edi + 0xa0], 0x5dc
push edi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
xor edx, edx
push 0
lea ecx, [edx + 0x24]
call fcn.005bc750
mov edi, dword [ebp - 0xa4]
jmp 0x560843
cmp cx, 0x30
je 0x560408
cmp cx, 0x31
je 0x560408
cmp cx, 0x32
jne 0x55ed24
movss xmm0, dword [ebp - 0x28]
xor eax, eax
subss xmm0, dword [0x604dc4]
movss xmm2, dword [ebp - 0x2c]
movss xmm3, dword [ebp - 0x24]
subss xmm2, dword [0x604d2c]
addss xmm3, dword [0x604d2c]
movss dword [ebp - 0x28], xmm0
mov dword [ebp - 0x94], eax
nop
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 0x1c0
mulss xmm0, dword [0x604d48]
addss xmm2, xmm0
subss xmm3, xmm0
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x24], xmm3
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x24
mov ecx, esi
push 0x1c0
call fcn.0045f5a0
push dword [edi + 0x6b0]
movsx ecx, word [edi + 0x6b4]
movq xmm0, qword [ebp - 0x44]
sub ecx, 0x30
mov eax, dword [ebp - 0x3c]
push ecx
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
push 0x20
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov ecx, esi
mov dword [esi + 0xf8], eax
mov dword [esi + 0xf4], eax
mov eax, dword [esi]
push 0
call dword [eax + 0x84]
mov eax, dword [esi + 0x60]
push esi
mov dword [eax + 0x24], 0x40000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x28], 0x40000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x2c], 0x40000000
mov dword [esi + 0x12c], 1
mov dword [esi + 0x138], 0x3f800000
mov dword [esi + 0x13c], 0x3f800000
mov dword [esi + 0x140], 0x3f800000
mov dword [esi + 0x168], 1
mov eax, dword [edi + 0x34]
mov dword [esi + 0x134], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x130], 4
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp eax, 3
jge 0x560846
movss xmm3, dword [ebp - 0x24]
movss xmm2, dword [ebp - 0x2c]
jmp 0x55ebe0
cmp cx, 0x33
jne 0x55edbc
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x58]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
push 0xac
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x25
mov ecx, esi
push 0xac
call fcn.0045fa70
push dword [edi + 0x6b0]
movq xmm0, qword [ebp - 0x58]
mov ecx, dword [ebp - 0x50]
push 1
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.005b01d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov ecx, 0x9d
jmp 0x56083a
cmp cx, 0x35
jne 0x55ef93
xor edi, edi
mov dword [ebp - 0xa0], 0x4b0
mov dword [ebp - 0x90], edi
jmp 0x55ede6
mov edi, dword [ebp - 0x90]
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0x184
lea esi, [edx + 0xa]
mulss xmm0, dword [0x604d04]
movss dword [ebp - 0x98], xmm0
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov dword [ebp - 4], 0x26
mov ecx, edi
push 0x184
call fcn.0045e530
movd xmm0, esi
mov ecx, edi
cvtdq2ps xmm0, xmm0
push 0x50
push 1
sub esp, 0xc
movaps xmm3, xmm0
mulss xmm0, dword [0x604d04]
mov dword [esp + 8], 0x38d1b717
mulss xmm3, dword [0x604ccc]
addss xmm0, dword [0x604d48]
addss xmm3, dword [0x604d48]
addss xmm0, dword [ebp - 0x98]
addss xmm3, dword [ebp - 0x98]
movss dword [esp + 4], xmm3
movss dword [esp], xmm0
push dword [ebp - 0xa0]
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov edi, dword [ebp - 0xa4]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ca4]
addss xmm0, dword [edi + 0x28]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [edi + 0x30]
movss dword [ebp - 0x98], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
movss xmm2, dword [ebp - 0x98]
lea ecx, [ebp - 0x38]
movss xmm1, dword [ebp - 0xb4]
sub edx, 5
movd xmm3, edx
cvtdq2ps xmm3, xmm3
mulss xmm3, dword [0x604ca4]
addss xmm3, dword [edi + 0x2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov ecx, esi
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
movq qword [esi + 0x14c], xmm0
mov dword [esi + 0x7c], eax
mov dword [esi + 0x154], eax
mov eax, dword [esi]
push 0xffffffffffffffff
mov dword [esi + 0x6c], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0x148], 1
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebp - 0xa0]
inc dword [ebp - 0x90]
add eax, 0xc8
mov dword [ebp - 0xa0], eax
cmp eax, 0x898
jl 0x55ede0
jmp 0x560846
cmp cx, 0x48
je 0x5601c1
cmp cx, 0x50
je 0x5601c1
cmp cx, 0x4b
jne 0x55f0e3
mov dword [ebp - 0xa8], 0
mov edi, 0x1f4
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x29
mov ecx, esi
push 0x184
call fcn.0045e530
movd xmm0, dword [ebp - 0xa8]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push 0x50
push 1
sub esp, 0xc
movaps xmm3, xmm0
mulss xmm0, dword [0x604d2c]
mov dword [esp + 8], 0
mulss xmm3, dword [0x604d5c]
addss xmm0, dword [0x604dc4]
addss xmm3, dword [0x604dc4]
movss dword [esp + 4], xmm3
movss dword [esp], xmm0
push edi
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xff55aaff
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
movd xmm0, dword [ebp - 0xa8]
lea ecx, [ebp - 0x38]
cvtdq2ps xmm2, xmm0
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 1
movss xmm3, dword [ebp - 0x24]
mulss xmm2, dword [0x604d04]
movss xmm1, dword [ebp - 0x2c]
addss xmm2, dword [ebp - 0x28]
subss xmm2, dword [0x604d2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
inc dword [ebp - 0xa8]
add edi, 0xc8
cmp edi, 0x5dc
jl 0x55efc0
push 0
xor edx, edx
mov ecx, 0xae
call fcn.005bc750
mov edi, dword [ebp - 0xa4]
jmp 0x560843
cmp cx, 0x4c
jne 0x55f1c3
mov dword [ebp - 0x94], 0x514
mov dword [ebp - 0x90], 0x601d00
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x2a
mov ecx, esi
push 0xcc
call fcn.0045e510
mov eax, dword [ebp - 0x90]
xorps xmm3, xmm3
push 1
mov ecx, esi
push dword [eax]
push 0xc
call fcn.004f2590
mov edx, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [0x9c25b0]
mov esi, dword [ebp - 0x94]
mov dword [edx + 0xa4], 0
movq xmm0, qword [edi + 0x50]
movq qword [edx + 0x74], xmm0
mov ecx, dword [edi + 0x58]
mov dword [edx + 0x7c], ecx
movss xmm0, dword [edx + 0x78]
addss xmm0, dword [0x604dd0]
mov dword [edx + 0xb0], esi
mov dword [edx + 0x98], 0x3f800000
mov dword [edx + 0x9c], 0x3f800000
push edx
movss dword [edx + 0x78], xmm0
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
add dword [ebp - 0x90], 4
add esi, 0x32
mov dword [ebp - 0x94], esi
cmp esi, 0x60e
jl 0x55f101
jmp 0x560846
cmp cx, 0x4d
jne 0x55f41d
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa8], 0x1f4
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x2b
mov ecx, esi
push 0x184
call fcn.0045e530
movd xmm0, dword [ebp - 0xa0]
mov ecx, esi
movss xmm3, dword [0x604cd4]
cvtdq2ps xmm0, xmm0
push 0x50
push 8
sub esp, 0xc
movaps xmm1, xmm0
movss dword [ebp - 0x90], xmm0
mulss xmm1, dword [0x604c94]
mov dword [esp + 8], 0x3b03126f
movss xmm0, dword [0x604ce8]
subss xmm0, xmm1
subss xmm3, xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push dword [ebp - 0xa8]
push 0x65
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xff5500ff
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
movss xmm0, dword [ebp - 0x90]
lea ecx, [ebp - 0x38]
mulss xmm0, dword [0x604ce8]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 1
movss xmm2, dword [edi + 0x30]
addss xmm2, dword [0x604ce8]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
movss dword [ebp - 0x90], xmm0
addss xmm2, xmm0
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push 0x184
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x94], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0xac], esi
mov dword [ebp - 4], 0x2c
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [ebp - 0x94]
mulss xmm3, dword [0x604c94]
push 0x50
push 8
sub esp, 0xc
addss xmm3, dword [0x604ccc]
mov dword [esp + 8], 0x3a03126f
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
mov ecx, esi
push dword [ebp - 0xa8]
push 0x65
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xffffffffffffffff
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
movss xmm0, dword [ebp - 0x94]
lea ecx, [ebp - 0x58]
mulss xmm0, dword [0x604fb8]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 1
divss xmm0, dword [0x604f80]
movss dword [esi + 0x114], xmm0
movss xmm2, dword [edi + 0x30]
addss xmm2, dword [0x604ce8]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
addss xmm2, dword [ebp - 0x90]
call fcn.00445a40
movq xmm0, qword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebp - 0xa8]
inc dword [ebp - 0xa0]
add eax, 0x64
mov dword [ebp - 0xa8], eax
cmp eax, 0x3e8
jl 0x55f1e1
jmp 0x560846
cmp cx, 0x51
jne 0x55f529
mov dword [ebp - 0x90], 0
mov edi, 0x320
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x2d
mov ecx, esi
push 0x184
call fcn.0045e530
movd xmm0, dword [ebp - 0x90]
mov ecx, esi
movss xmm3, dword [0x604ea8]
cvtdq2ps xmm0, xmm0
push 0x50
push 1
sub esp, 0xc
mulss xmm0, dword [0x604ce8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40000000
addss xmm0, dword [0x604dc4]
movss dword [esp], xmm0
push edi
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push 0xffffffffffffffff
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
mov dword [esi + 0x6c], 1
lea ecx, [ebp - 0x38]
mov dword [esi + 0x104], 1
movss xmm2, dword [ebp - 0x28]
addss xmm2, dword [0x604ce8]
movss xmm3, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
inc dword [ebp - 0x90]
add edi, 0x32
cmp edi, 0x44c
jl 0x55f436
mov edi, dword [ebp - 0xa4]
jmp 0x560846
cmp cx, 0x55
jne 0x55f599
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x2e
mov ecx, esi
push 0x90
call fcn.0045e590
movss xmm3, dword [edi + 0x2c]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
push 1
sub esp, 0xc
mov ecx, esp
call fcn.00445a40
mov ecx, esi
call fcn.004f0b30
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov ecx, 0x25
jmp 0x56083a
cmp cx, 0x57
jne 0x55f5ef
push 0x9c
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 0x2f
mov ecx, esi
push 0x9c
call fcn.00462a70
movss xmm3, dword [edi + 0x2c]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
push edi
push 0
sub esp, 0xc
mov ecx, esp
call fcn.00445a40
mov ecx, esi
call fcn.005b0900
jmp 0x55d202
cmp cx, 0x58
jne 0x55f86d
cmp dword [edi + 0x60], 0
je 0x560846
cmp dword [edi + 0x6b0], 0
je 0x560846
mov dword [ebp - 0xa0], 0x64
nop word [eax + eax]
mov eax, dword [edi + 0x218]
cmp eax, 4
je 0x55f63a
mov dword [ebp - 0x90], 0
cmp eax, 8
jne 0x55f644
mov dword [ebp - 0x90], 1
push 0x1c0
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov dword [ebp - 4], 0x30
mov ecx, edi
push 0x1c0
call fcn.0045f5a0
mov eax, dword [ebp - 0xa4]
push 0
push 0
sub esp, 0xc
mov ecx, dword [eax + 0x6b0]
mov esi, dword [eax + 0x5c]
movss xmm3, dword [ecx + 0x2c]
movss xmm2, dword [ecx + 0x30]
movss xmm1, dword [ecx + 0x28]
mov ecx, esp
call fcn.00445a40
mov eax, dword [ebp - 0xa4]
sub esp, 0xc
mov ecx, esp
movss xmm3, dword [eax + 0x2c]
movss xmm2, dword [eax + 0x30]
movss xmm1, dword [eax + 0x28]
call fcn.00445a40
push esi
mov ecx, edi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 0x98], esi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xa4]
mov ecx, dword [edi + 0x38]
mov dword [esi + 0x38], ecx
cmp byte [edi + 0xa44], 0
jle 0x55f71d
cmp dword [edi + 0x12c], 0
je 0x55f71d
movups xmm0, xmmword [edi + 0x132]
mov dword [ebp - 0x90], 0
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x142]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0xa48]
mov dword [esi + 0x5c], eax
jmp 0x55f739
movups xmm0, xmmword [edi + 0x172]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x182]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x90]
mov dword [esi + 0x168], 1
mov dword [esi + 0x138], 0x3f000000
mov dword [esi + 0x13c], 0x3e99999a
mov dword [esi + 0x140], 0x3e4ccccd
call dword [eax + 0x84]
mov eax, dword [ebx + 8]
sub esp, 0xc
mov dword [esi + 0x124], eax
mov ecx, esi
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x128], eax
movss xmm0, dword [edi + 0x2c]
mov eax, dword [esi]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call dword [eax + 0x3c]
movss xmm0, dword [edi + 0x34]
movss dword [esi + 0x134], xmm0
movss dword [esi + 0x188], xmm0
mov dword [esi + 0x12c], 1
mov eax, dword [edi + 0x5c]
mov edx, eax
imul esi, eax, 0xa8
shl edx, 4
sub edx, eax
mov eax, dword [edi + 0x22c]
add esi, dword [edi + 0x9d8]
lea eax, [eax + edx*4]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi*4 + 0x9b7940]
mov esi, dword [ebp - 0x98]
lea eax, [eax + edx*8]
movsx eax, word [eax*2 + 0x997b50]
mov ecx, dword [esi + 0x60]
push eax
call fcn.005b85e0
mov eax, dword [edi + 0x60]
mov ecx, dword [esi + 0x60]
push esi
mov eax, dword [eax + 0x2e4]
mov dword [ecx + 0x2e4], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x130], 6
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov ecx, dword [ebp - 0xa0]
add ecx, 0xc8
mov dword [ebp - 0xa0], ecx
cmp ecx, 0x44c
jl 0x55f620
jmp 0x560835
cmp cx, 0x59
jne 0x55fb41
mov dword [ebp - 0xa0], 0x190
mov dword [ebp - 0xa8], esi
nop word [eax + eax]
mov eax, dword [edi + 0x218]
cmp eax, 4
je 0x55f8aa
mov dword [ebp - 0x90], 0
cmp eax, 8
jne 0x55f8b4
mov dword [ebp - 0x90], 1
push 0x1c0
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov dword [ebp - 4], 0x31
mov ecx, edi
push 0x1c0
call fcn.0045f5a0
mov eax, dword [ebp - 0xa4]
xorps xmm3, xmm3
push 0
push 0
sub esp, 0xc
xorps xmm2, xmm2
mov esi, dword [eax + 0x5c]
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
sub esp, 0xc
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
push esi
mov ecx, edi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 0x98], esi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xa4]
cmp byte [edi + 0xa44], 0
jle 0x55f9b7
cmp dword [edi + 0x12c], 0
je 0x55f9b7
mov eax, dword [edi + 0xa48]
sub esp, 0xc
mov dword [esi + 0x5c], eax
mov ecx, esi
movups xmm0, xmmword [edi + 0x132]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x142]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x3c]
mov eax, dword [edi + 0x12c]
movss xmm0, dword [eax + 0x14]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0xc]
movss dword [esp], xmm0
call edx
mov dword [ebp - 0x90], 0
jmp 0x55fa0b
movups xmm0, xmmword [edi + 0x172]
sub esp, 0xc
mov ecx, esi
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x182]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
movss xmm0, dword [edi + 0x2c]
mov eax, dword [esi]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call dword [eax + 0x3c]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x90]
mov dword [esi + 0x168], 1
mov dword [esi + 0x138], 0x3e99999a
mov dword [esi + 0x13c], 0x3e99999a
mov dword [esi + 0x140], 0x3e99999a
call dword [eax + 0x84]
mov eax, dword [ebp - 0xa8]
mov dword [esi + 0x124], eax
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x128], eax
movss xmm0, dword [edi + 0x34]
movss dword [esi + 0x134], xmm0
movss dword [esi + 0x188], xmm0
mov dword [esi + 0x12c], 1
mov eax, dword [edi + 0x5c]
mov edx, eax
imul esi, eax, 0xa8
shl edx, 4
sub edx, eax
mov eax, dword [edi + 0x22c]
add esi, dword [edi + 0x9d8]
lea eax, [eax + edx*4]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi*4 + 0x9b7940]
mov esi, dword [ebp - 0x98]
lea eax, [eax + edx*8]
movsx eax, word [eax*2 + 0x997b50]
mov ecx, dword [esi + 0x60]
push eax
call fcn.005b85e0
cmp byte [edi + 0xa44], 0
jle 0x55faf1
cmp dword [edi + 0x12c], 0
je 0x55faf1
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x55faf1
imul eax, dword [edi + 0xa48], 0x2a0
push dword [eax + 0x9b794c]
call fcn.005b85e0
mov eax, dword [edi + 0x60]
mov ecx, dword [esi + 0x60]
push esi
mov eax, dword [eax + 0x2e4]
mov dword [ecx + 0x2e4], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x130], 0
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebp - 0xa0]
add dword [ebp - 0xa8], 0x64
add eax, 0x32
mov dword [ebp - 0xa0], eax
cmp eax, 0x28a
jl 0x55f890
jmp 0x560846
cmp cx, 0x5a
jne 0x55fb51
mov ecx, 0xa9
jmp 0x56083a
cmp cx, 0x4f
jne 0x55fed1
movss xmm0, dword [ebp - 0x40]
mov ecx, 3
addss xmm0, dword [0x604ddc]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x98], eax
mov eax, dword [edi + 0x6b0]
mov dword [ebp - 0x90], ecx
movss dword [ebp - 0x40], xmm0
movq xmm1, qword [ebp - 0x44]
movq qword [ebp - 0x58], xmm1
test eax, eax
je 0x55fc39
movss xmm2, dword [eax + 0x38]
lea ecx, [ebp - 0xc4]
divss xmm2, dword [0x604e14]
movss xmm3, dword [eax + 0x2c]
addss xmm2, dword [eax + 0x30]
movss xmm1, dword [eax + 0x28]
call fcn.00445a40
mov eax, dword [ebp - 0xbc]
movzx ecx, word [edi + 0x642]
movq xmm0, qword [ebp - 0xc4]
mov dword [ebp - 0x98], eax
mov eax, 0xcccccccd
mul ecx
movq qword [ebp - 0x58], xmm0
mov ecx, edx
shr ecx, 6
add ecx, 3
mov dword [ebp - 0x90], ecx
cmp ecx, 3
jge 0x55fc28
mov dword [ebp - 0x90], 3
movq xmm0, qword [ebp - 0x2c]
xor esi, esi
mov eax, dword [ebp - 0x24]
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], esi
jmp 0x55fc63
cmp ecx, 6
jle 0x55fc39
mov dword [ebp - 0x90], 6
jmp 0x55fc04
movq xmm0, qword [ebp - 0x2c]
xor esi, esi
mov eax, dword [ebp - 0x24]
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], esi
test ecx, ecx
jle 0x560846
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0x38]
mov dword [ebp - 0x94], 0
movss dword [ebp - 0xb8], xmm0
call fcn.0046c00b
movd xmm0, esi
lea eax, [esi + 3]
cvtdq2ps xmm0, xmm0
cmp esi, 1
cmovle eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa8], eax
divss xmm0, dword [0x605078]
mulss xmm0, dword [0x604fb8]
addss xmm0, xmm0
movss dword [ebp - 0xac], xmm0
call fcn.0044c230
movss xmm1, dword [ebp - 0xb8]
subss xmm1, dword [0x604ccc]
mulss xmm0, dword [edi + 0x38]
addss xmm1, xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [ebp - 0xb8], xmm1
movss dword [ebp - 0x38], xmm1
movss xmm1, dword [edi + 0x38]
movss dword [ebp - 0x9c], xmm1
call fcn.0045c640
movss xmm2, dword [ebp - 0xb4]
movss xmm1, dword [ebp - 0x9c]
subss xmm2, dword [0x604ccc]
mov ecx, dword [ebp - 0xa8]
mulss xmm0, xmm1
add ecx, 0xfffffffb
addss xmm1, dword [edi + 0x30]
mov edi, 0x777777
addss xmm2, xmm0
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0xb4], xmm2
movss dword [ebp - 0x30], xmm2
cmp ecx, 3
ja case.default.0x55fd51
jmp dword [ecx*4 + 0x563a54]
mov edi, 0x883333
jmp case.default.0x55fd51
mov edi, 0x884388
jmp case.default.0x55fd51
mov edi, 0x338843
jmp case.default.0x55fd51
mov edi, 0x222288
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x60], esi
mov dword [ebp - 4], 0x32
mov ecx, esi
push 0x184
call fcn.0045e530
mov eax, dword [ebp - 0x94]
mov ecx, esi
movss xmm3, dword [0x604dc4]
add eax, 0x190
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push eax
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
push edi
mov edx, dword [ecx + 0x3c]
mov ecx, esi
call edx
mov eax, dword [0x9c25b0]
movq xmm0, qword [ebp - 0x38]
mov edi, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 2
mov dword [esi + 0x7c], edi
mov ecx, dword [eax + 0x2c]
push esi
call fcn.005bcdc0
push 0x94
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x33
mov ecx, esi
push 0x94
call fcn.0045fab0
mov eax, dword [ebp - 0xa4]
movq xmm0, qword [ebp - 0x58]
mov ecx, dword [ebp - 0x98]
push 0
push dword [ebp - 0xa8]
movsx eax, word [eax + 0x6b6]
push 0
push 0x97
push eax
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
movq xmm0, qword [ebp - 0x38]
mov dword [eax + 8], ecx
mov eax, esp
mov ecx, esi
movq qword [eax], xmm0
mov dword [eax + 8], edi
call fcn.004e3480
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
mov edi, dword [ebp - 0x94]
add dword [eax + 0x24], edi
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov esi, dword [ebp - 0xa0]
inc esi
add edi, 0x64
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x94], edi
mov edi, dword [ebp - 0xa4]
cmp esi, dword [ebp - 0x90]
jl 0x55fc87
jmp 0x560846
mov eax, 0x97
lea edx, [eax + 2]
cmp cx, ax
jl 0x55fee3
cmp cx, dx
jle 0x55fef3
cmp cx, 0x68
je 0x55fef3
cmp cx, 0x69
jne 0x56084b
mov eax, dword [edi + 0x5c]
movss xmm1, dword [edi + 0x38]
movaps xmm0, xmm1
mulss xmm0, dword [eax*8 + 0x629074]
mulss xmm0, dword [0x604d5c]
addss xmm0, dword [edi + 0x30]
movss dword [ebp - 0x28], xmm0
cmp eax, 8
jne 0x55ff27
addss xmm0, xmm1
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [0x604ddc]
mov eax, dword [edi + 0x6b0]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x90], ecx
movss dword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x44]
movq qword [ebp - 0x68], xmm0
test eax, eax
je 0x55ff96
movss xmm2, dword [eax + 0x38]
lea ecx, [ebp - 0xc4]
divss xmm2, dword [0x604f24]
movss xmm3, dword [eax + 0x2c]
addss xmm2, dword [eax + 0x30]
movss xmm1, dword [eax + 0x28]
call fcn.00445a40
movq xmm0, qword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
movq qword [ebp - 0x68], xmm0
mov dword [ebp - 0x90], eax
inc dword [edi + 0xa08]
cmp byte [edi + 0xa42], 1
jne 0x560060
cmp dword [edi + 0x744], 0
je 0x560060
cmp byte [edi + 0x211], 1
je 0x560060
cmp byte [edi + 0xa25], 0
jne 0x560060
push 0x94
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x34
mov ecx, esi
push 0x94
call fcn.0045fab0
push dword [edi + 0xa88]
movzx eax, byte [edi + 0xa43]
movq xmm0, qword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
push 0
push eax
movsx eax, word [edi + 0x6b6]
push 0x2710
push eax
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esp
mov eax, dword [edi + 0x744]
movq xmm0, qword [eax + 0x74]
mov eax, dword [eax + 0x7c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.004e3480
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
cmp word [edi + 0x6b4], 0x69
jne 0x560100
cmp word [edi + 0x6b6], 2
jne 0x560100
push 0xc8
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x35
mov ecx, esi
push 0xc8
call fcn.0045faf0
push dword [edi + 0x6b0]
movq xmm0, qword [ebp - 0x68]
mov ecx, dword [ebp - 0x90]
push 3
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a5b20
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
add dword [edi + 0x6a0], 0x2bc
jmp 0x560846
mov eax, dword [0x9c25ac]
mov ecx, 0x3f2
cmp word [eax + 0x98c], cx
jne 0x56011f
mov eax, 0x63
mov word [edi + 0x6b6], ax
push 0x94
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x36
mov ecx, esi
push 0x94
call fcn.0045fab0
push dword [edi + 0xa88]
movzx ecx, byte [edi + 0x1a1]
movzx eax, byte [edi + 0xa43]
movq xmm0, qword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x90]
push eax
movsx eax, word [edi + 0x6b4]
push eax
movsx eax, word [edi + 0x6b6]
push eax
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.004e3480
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
add dword [edi + 0x6a0], 0x1f4
jmp 0x560846
cmp dword [edi + 0x6b0], 0
je 0x560846
xor eax, eax
cmp cx, 0x50
mov ecx, dword [0x9c25ac]
sete al
mov dword [ebp - 0x90], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
cmp dword [eax + 0x54], edi
jne 0x5601f8
push 1
mov ecx, eax
call fcn.004e4ef0
push 0xc0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x27
mov ecx, esi
push 0xc0
call fcn.0045e550
mov ecx, dword [ebp - 0x90]
movss xmm3, dword [0x604dc4]
add ecx, 2
push 7
push ecx
mov ecx, esi
call fcn.005a3d90
mov edi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi]
mov eax, dword [ebp - 0x90]
mov edx, dword [ecx + 0x44]
mov ecx, edi
push dword [eax*8 + 0x601d24]
call edx
mov eax, dword [edi]
sub esp, 8
mov dword [edi + 0x6c], 1
mov ecx, esp
mov esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 0x6b0]
movss xmm2, dword [eax + 0x2c]
movss xmm1, dword [eax + 0x28]
call fcn.0045e130
mov ecx, edi
call esi
mov eax, dword [0x9c25b0]
mov dword [edi + 0xa0], 0x320
push edi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0xa4]
mov dword [ebp - 0x94], 0
movd xmm0, eax
lea ecx, [eax*4 + 0x38]
cvtdq2ps xmm0, xmm0
lea eax, [eax*8 + 0x601d20]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa0], eax
mulss xmm0, dword [0x604c80]
addss xmm0, dword [0x604c60]
movss dword [ebp - 0x9c], xmm0
nop
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x28
mov ecx, esi
push 0x184
call fcn.0045e530
movd xmm3, dword [ebp - 0x94]
mov ecx, esi
movss xmm0, dword [ebp - 0x9c]
cvtdq2ps xmm3, xmm3
push 0x50
push 1
sub esp, 0xc
mulss xmm3, dword [0x604ce8]
movss dword [esp + 8], xmm0
addss xmm3, dword [0x604dc4]
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0x2bc
push dword [ebp - 0xac]
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [esi]
mov eax, dword [ebp - 0xa0]
mov edx, dword [ecx + 0x3c]
mov ecx, esi
push dword [eax]
call edx
mov dword [esi + 0x6c], 1
lea ecx, [ebp - 0xc4]
mov dword [esi + 0x104], 1
mov eax, dword [edi + 0x6b0]
movss xmm2, dword [eax + 0x30]
addss xmm2, dword [0x604dc4]
movss xmm3, dword [eax + 0x2c]
movss xmm1, dword [eax + 0x28]
call fcn.00445a40
movq xmm0, qword [ebp - 0xc4]
mov eax, dword [ebp - 0xbc]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebp - 0x94]
add dword [ebp - 0xa0], 4
inc eax
mov dword [ebp - 0x94], eax
cmp eax, 2
jl 0x5602f0
imul ecx, dword [ebp - 0x90], 0xb
add ecx, 0xa0
jmp 0x56083a
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [0x604dc4]
push 0x94
movss dword [ebp - 0x28], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x22
mov ecx, esi
push 0x94
call fcn.0045fab0
movq xmm0, qword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
movss xmm3, dword [0x604ccc]
push 3
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005aa320
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
push 0x1c0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x60], esi
mov dword [ebp - 4], 0x23
mov ecx, esi
push 0x1c0
call fcn.0045f5a0
push dword [edi + 0x6b0]
movsx ecx, word [edi + 0x6b4]
movq xmm0, qword [ebp - 0x44]
sub ecx, 0x30
mov eax, dword [ebp - 0x3c]
push ecx
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
push 0x14
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 4], 0xffffffff
movzx ecx, word [edi + 0x6b4]
mov eax, ecx
cmp cx, 0x30
jne 0x560543
mov eax, dword [esi]
mov ecx, esi
push 0
mov dword [esi + 0xf8], 0x10004
mov dword [esi + 0xf4], 0x10004
call dword [eax + 0x84]
mov eax, dword [esi + 0x60]
mov dword [eax + 0x24], 0x3ecccccd
mov eax, dword [esi + 0x60]
mov dword [eax + 0x28], 0x3ecccccd
mov eax, dword [esi + 0x60]
mov dword [eax + 0x2c], 0x3ecccccd
mov dword [esi + 0x12c], 1
jmp 0x560591
cmp ax, 0x31
jne 0x560591
mov eax, dword [esi]
mov ecx, esi
push 0
mov dword [esi + 0xf8], 2
mov dword [esi + 0xf4], 2
call dword [eax + 0x84]
mov eax, dword [esi + 0x60]
mov dword [eax + 0x24], 0x3e4ccccd
mov eax, dword [esi + 0x60]
mov dword [eax + 0x28], 0x3e4ccccd
mov eax, dword [esi + 0x60]
mov dword [eax + 0x2c], 0x3e4ccccd
mov dword [esi + 0x12c], 0
mov dword [esi + 0x138], 0x3f800000
mov dword [esi + 0x13c], 0x3f800000
mov dword [esi + 0x140], 0x3f800000
mov dword [esi + 0x168], 1
mov eax, dword [edi + 0x34]
mov dword [esi + 0x134], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x130], 2
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x560846
movq xmm0, qword [ebp - 0x44]
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x3c]
movss xmm2, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x44]
movq qword [ebp - 0xc4], xmm0
mov dword [ebp - 0x9c], eax
call fcn.0045e130
mov ecx, dword [ebp - 0x90]
push dword [eax + 4]
push dword [eax]
call fcn.00592d40
movd xmm0, eax
movzx eax, word [edi + 0x6b4]
mov ecx, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604ccc]
movss dword [ebp - 0xc0], xmm0
cmp ax, 0x2b
jne 0x560649
mov dword [ebp - 0x98], 1
jmp 0x56065d
xor eax, eax
cmp cx, 0x36
mov ecx, 3
cmove eax, ecx
mov dword [ebp - 0x98], eax
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x19
mov ecx, esi
push 0x90
call fcn.0045e590
push dword [ebp - 0x98]
movq xmm0, qword [ebp - 0xc4]
mov eax, dword [ebp - 0x9c]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a8710
jmp 0x55d202
movzx eax, word [edi + 0x6b6]
mov ecx, eax
cmp ax, 1
jne 0x5606c9
mov dword [ebp - 0x94], 0xff66ffaa
jmp 0x5606f2
cmp cx, 2
jne 0x5606db
mov dword [ebp - 0x94], 0xff113388
jmp 0x5606f2
cmp cx, 3
mov eax, 0xff33ff66
mov edx, 0xffff8800
cmove eax, edx
mov dword [ebp - 0x94], eax
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x18
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push 1
push 0xa
push dword [ebp - 0x94]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005afb60
jmp 0x55d202
push 0x90
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0xe
mov ecx, esi
push 0x90
call fcn.0045e590
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push 0
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a8b80
jmp 0x55d202
movss xmm0, dword [ebp - 0x40]
xor eax, eax
addss xmm0, dword [0x604dc4]
cmp cx, 0xc
push 0xc8
sete al
cmp cx, 0x1c
mov ecx, 2
cmove eax, ecx
movss dword [ebp - 0x40], xmm0
mov dword [ebp - 0x9c], eax
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 7
mov ecx, esi
push 0xc8
call fcn.0045faf0
movq xmm0, qword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
push 0
push dword [ebp - 0x9c]
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x24]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.005a5b20
jmp 0x55d202
mov ecx, dword [0x9c25ac]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
cmp dword [eax + 0x54], edi
jne 0x560835
push 2
mov ecx, eax
call fcn.004e4ef0
mov ecx, 0xa0
push 0
xor edx, edx
call fcn.005bc750
add esp, 4
mov edx, 0x99
movzx eax, word [edi + 0x6b4]
mov esi, 0x97
mov ecx, eax
cmp ax, si
jl 0x560863
cmp cx, dx
jle 0x560875
cmp cx, 0x68
je 0x560875
cmp cx, 0x69
je 0x560875
cmp cx, 0x5a
jne 0x560887
cmp dword [edi + 0x9fc], 0
je 0x560887
cmp dword [edi + 0xa08], 2
jl 0x5608a3
xorps xmm0, xmm0
movups xmmword [edi + 0x6a0], xmm0
movq qword [edi + 0x6b0], xmm0
mov dword [edi + 0xa08], 0
mov esi, 5
cmp byte [edi + 0xa22], 1
jne 0x560b3c
cmp dword [0x1ff1f34], 0
jne 0x560b3c
mov eax, dword [ebx + 8]
sub eax, dword [edi + 0x808]
cmp eax, 0x1f4
jbe 0x560ad6
call fcn.0046c00b
cdq
idiv esi
cmp byte [edi + 0xa44], 1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [0x604ea8]
movss dword [ebp - 0x98], xmm0
jne 0x560916
movss xmm0, dword [0x604de8]
movss dword [ebp - 0x98], xmm0
xor eax, eax
lea esi, [edi + 0x70c]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xb8], esi
nop word [eax + eax]
cmp dword [esi], 0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xb4], xmm1
jne 0x560a15
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x37
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [ebp - 0x9c]
mov ecx, esi
mulss xmm3, dword [0x604ce8]
push 0x50
movss xmm0, dword [ebp - 0xb4]
mulss xmm0, dword [0x604d20]
push 8
addss xmm3, dword [0x604dc4]
sub esp, 0xc
mulss xmm3, dword [ebp - 0x98]
mov dword [esp + 8], 0
subss xmm3, xmm0
movss dword [esp + 4], xmm3
movss dword [esp], xmm3
push 0
push 0x6d
call fcn.004eb060
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0xb8]
push 0xffffdd00
mov dword [esi], eax
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov ecx, eax
call edx
mov eax, dword [esi]
mov dword [eax + 0x6c], 1
mov eax, dword [esi]
mov dword [eax + 0x104], 0
mov eax, dword [0x9c25b0]
push dword [esi]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
movss xmm1, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x94]
mov ecx, dword [esi]
test ecx, ecx
je 0x560ab4
mov eax, dword [ebx + 8]
xor edx, edx
sub eax, dword [ecx + 0xfc]
div dword [ebp - 0xb0]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x605750]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x605088]
divss xmm0, dword [0x60529c]
addss xmm0, xmm1
movss dword [ecx + 0x114], xmm0
lea ecx, [ebp - 0x118]
movss xmm3, dword [edi + 0x2c]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
addss xmm3, dword [0x604d2c]
addss xmm2, dword [0x604e68]
addss xmm1, dword [0x604d2c]
call fcn.00445a40
mov ecx, dword [esi]
movq xmm0, qword [ebp - 0x118]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x110]
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x94]
inc eax
add esi, 4
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xb8], esi
cmp eax, 2
jl 0x560930
mov eax, dword [ebx + 8]
mov dword [edi + 0x808], eax
mov eax, 2
lea esi, [edi + 0x70c]
mov dword [ebp - 0x98], eax
cmp dword [esi], 0
je 0x560b2c
movss xmm2, dword [edi + 0x54]
lea ecx, [ebp - 0x1a8]
addss xmm2, dword [0x604ddc]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
call fcn.00445a40
mov ecx, dword [esi]
movq xmm0, qword [ebp - 0x1a8]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x1a0]
mov dword [ecx + 0x7c], eax
mov eax, dword [ebp - 0x98]
add esi, 4
sub eax, 1
mov dword [ebp - 0x98], eax
jne 0x560ae7
jmp 0x560b7c
mov ecx, 2
lea esi, [edi + 0x70c]
mov dword [ebp - 0x98], ecx
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x560b6e
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov ecx, dword [ebp - 0x98]
mov dword [esi], 0
add esi, 4
sub ecx, 1
mov dword [ebp - 0x98], ecx
jne 0x560b50
cmp byte [edi + 0xa1d], 1
mov esi, dword [ebx + 8]
jne 0x560bad
mov eax, esi
sub eax, dword [edi + 0x7fc]
cmp eax, 0x3e8
jbe 0x560bad
mov ecx, dword [edi + 0x704]
test ecx, ecx
je 0x560ba7
push esi
call fcn.005acdf0
mov dword [edi + 0x7fc], esi
cmp byte [edi + 0xa20], 1
jne 0x560c63
mov edx, dword [edi + 0x218]
mov ecx, 0x3e8
cmp edx, 0x38
jne 0x560bda
cmp word [edi + 0x172], 0
mov eax, 0xbb8
cmove ecx, eax
mov eax, esi
sub eax, dword [edi + 0x800]
cmp eax, ecx
jbe 0x560c63
cmp dword [edi + 0x708], 0
je 0x560c63
cmp edx, 0x38
jne 0x560c32
cmp word [edi + 0x172], 0
jne 0x560c32
call fcn.0046c00b
cdq
mov ecx, 0x32
idiv ecx
mov eax, dword [edi + 0x708]
neg edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x605194]
movss dword [eax + 0xac], xmm0
mov ecx, dword [edi + 0x708]
push esi
call fcn.005acdf0
mov eax, dword [edi + 0x5c]
movss xmm0, dword [eax*8 + 0x629070]
mulss xmm0, dword [edi + 0x38]
mov eax, dword [edi + 0x708]
movss dword [eax + 0x90], xmm0
mov dword [edi + 0x800], esi
cmp byte [edi + 0xa23], 1
jne 0x560d0d
mov eax, esi
sub eax, dword [edi + 0x814]
cmp eax, 0x3e8
jbe 0x560d0d
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x74]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
push 0xac
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x38
mov ecx, esi
push 0xac
call fcn.0045fa70
push dword [edi + 0x6b0]
movq xmm0, qword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
push 1
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.005b01d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov esi, dword [ebx + 8]
mov dword [edi + 0x814], esi
cmp byte [edi + 0xa3a], 1
je 0x560d23
cmp dword [edi + 0x218], 0x2c
jne 0x560fe6
cmp byte [edi + 0x211], 1
je 0x560fe6
cmp dword [0x1ff1f34], 0
jne 0x560fe6
xor ecx, ecx
lea esi, [edi + 0x7c0]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x98], esi
cmp dword [esi], 0
je 0x560f48
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
mov eax, 0xd1b71759
movd xmm1, ecx
mov ecx, dword [ebx + 8]
mul ecx
cvtdq2ps xmm1, xmm1
shr edx, 0xc
imul eax, edx, 0x1388
divss xmm1, dword [0x605030]
sub ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x605750]
mov ecx, dword [ebp - 0x90]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x605304]
addss xmm1, xmm0
mulss xmm1, dword [0x605088]
test cl, 1
jne 0x560dce
mov eax, dword [esi]
movss dword [eax + 0x8c], xmm1
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
cmp ecx, 1
jne 0x560deb
mov eax, dword [esi]
movss dword [eax + 0x90], xmm1
cmp byte [edi + 0xa44], 1
jne 0x560e43
movss xmm3, dword [edi + 0x58]
lea ecx, [ebp - 0x16c]
movss xmm2, dword [edi + 0x54]
movss xmm1, dword [edi + 0x50]
call fcn.00445a40
mov ecx, dword [esi]
movq xmm0, qword [ebp - 0x16c]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x164]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi]
mov dword [eax + 0x98], 0x3fc00000
mov eax, dword [esi]
mov dword [eax + 0x9c], 0x3fc00000
jmp 0x560ea6
mov eax, dword [edi + 0x5c]
lea ecx, [ebp - 0x10c]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
movss xmm2, dword [eax*8 + 0x629074]
mulss xmm2, dword [edi + 0x38]
mulss xmm2, dword [0x604d2c]
addss xmm2, dword [edi + 0x30]
call fcn.00445a40
mov ecx, dword [esi]
movq xmm0, qword [ebp - 0x10c]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x104]
mov dword [ecx + 0x7c], eax
mov eax, dword [esi]
mov dword [eax + 0x98], 0x3f800000
mov eax, dword [esi]
mov dword [eax + 0x9c], 0x3f800000
cmp dword [edi + 0x218], 0x2c
jne 0x560fc2
mov eax, dword [esi]
mov dword [eax + 0xa4], 0x2d
mov ecx, dword [esi]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x98], eax
mov ecx, dword [esi]
mov eax, dword [edi + 0x38]
mov dword [ecx + 0x9c], eax
movss xmm0, dword [edi + 0x38]
mov eax, dword [esi]
mulss xmm0, dword [0x605034]
addss xmm0, dword [eax + 0x78]
movss dword [eax + 0x78], xmm0
cmp byte [edi + 0xa3f], 1
jne 0x560fc2
cmp dword [0x915fc8], 0
mov eax, dword [edi + 0x7c0]
je 0x560f29
mov dword [eax + 0x88], 0xff8ba4e8
mov eax, dword [edi + 0x7c4]
mov dword [eax + 0x88], 0xff3969ed
jmp 0x560fc2
mov dword [eax + 0x88], 0xffff0a0a
mov eax, dword [edi + 0x7c4]
mov dword [eax + 0x88], 0xffff5111
jmp 0x560fc2
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x39
mov ecx, esi
push 0xcc
call fcn.0045e510
mov ecx, dword [ebp - 0x90]
xorps xmm3, xmm3
push 1
push dword [ecx*4 + 0x601d00]
mov ecx, esi
push 0xc
call fcn.004f2590
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x98]
mov dword [esi], eax
mov dword [eax + 0xa4], 0
mov ecx, dword [esi]
movq xmm0, qword [edi + 0x50]
movq qword [ecx + 0x74], xmm0
mov eax, dword [edi + 0x58]
mov dword [ecx + 0x7c], eax
mov eax, dword [0x9c25b0]
push dword [esi]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov ecx, dword [ebp - 0x90]
add esi, 4
inc ecx
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x90], ecx
cmp ecx, 2
jl 0x560d51
mov esi, dword [ebx + 8]
jmp 0x561038
lea eax, [edi + 0x7c0]
mov edx, 5
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xb4], edx
nop dword [eax]
mov ecx, dword [eax]
test ecx, ecx
je 0x561024
push ecx
mov ecx, dword [0x9c25ac]
call fcn.004bb890
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0xb4]
mov dword [eax], 0
add eax, 4
sub edx, 1
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xb4], edx
jne 0x561000
cmp dword [0x1ff1f2c], 0
jne 0x5610fa
cmp byte [edi + 0xa40], 1
jne 0x5610fa
mov eax, esi
sub eax, dword [edi + 0x840]
cmp eax, 0xfa
jbe 0x5610fa
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x80]
movss xmm2, dword [edi + 0x30]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
push 0xac
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x3a
mov ecx, esi
push 0xac
call fcn.0045fa70
movq xmm0, qword [ebp - 0x80]
mov ecx, dword [ebp - 0x78]
push edi
push 2
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, esp
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.005b01d0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x9c25b0]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.005bcdc0
mov ecx, dword [edi + 0x6f8]
mov esi, dword [ebx + 8]
mov dword [edi + 0x840], esi
test ecx, ecx
je 0x5610fa
push esi
call fcn.005acdf0
cmp byte [edi + 0xa1e], 1
mov eax, dword [edi + 0x71c]
jne 0x56123d
test eax, eax
je 0x561154
movss xmm2, dword [edi + 0x30]
lea ecx, [ebp - 0xd4]
addss xmm2, dword [0x604d04]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x71c]
movq xmm0, qword [ebp - 0xd4]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x7c], eax
jmp 0x561257
push 0x124
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x3b
mov ecx, esi
push 0x124
call fcn.0045e570
movss xmm3, dword [0x604e14]
mov ecx, esi
push 0xbb8
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3fc00000
mov dword [esp], 0x3fc00000
push 0
push 0x5e
call fcn.004ec010
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x71c], eax
test eax, eax
je 0x561238
mov dword [eax + 0x104], 2
lea ecx, [ebp - 0xd4]
mov eax, dword [edi + 0x71c]
mov dword [eax + 0x6c], 1
movss xmm2, dword [edi + 0x30]
addss xmm2, dword [0x604d04]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x71c]
movq xmm0, qword [ebp - 0xd4]
push 0x33333333
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x71c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
push dword [edi + 0x71c]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov esi, dword [ebx + 8]
jmp 0x561257
test eax, eax
je 0x561257
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x71c], 0
cmp dword [0x1ff1f30], 0
jne 0x561524
cmp byte [edi + 0xa26], 1
jne 0x561524
mov eax, dword [edi + 0x9d8]
cmp eax, 2
je 0x561285
cmp eax, 3
jne 0x561524
mov eax, esi
sub eax, dword [edi + 0x830]
cmp eax, 0x50
jbe 0x561524
mov eax, dword [edi + 0x218]
cmp eax, 4
je 0x5612b0
mov dword [ebp - 0x94], 0
cmp eax, 8
jne 0x5612ba
mov dword [ebp - 0x94], 1
push 0x1c0
call fcn.0046677d
mov edi, eax
add esp, 4
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], 0x3c
mov ecx, edi
push 0x1c0
call fcn.0045f5a0
mov eax, dword [ebp - 0xa4]
xorps xmm3, xmm3
push 0
push 0
sub esp, 0xc
xorps xmm2, xmm2
mov esi, dword [eax + 0x5c]
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
sub esp, 0xc
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, esp
call fcn.00445a40
push esi
mov ecx, edi
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 0xb0], esi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0xa4]
cmp byte [edi + 0xa44], 0
jle 0x5613ba
cmp dword [edi + 0x12c], 0
je 0x5613ba
mov eax, dword [edi + 0xa48]
sub esp, 0xc
mov dword [esi + 0x5c], eax
mov ecx, esi
movups xmm0, xmmword [edi + 0x132]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x142]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x3c]
mov eax, dword [edi + 0x12c]
movss xmm0, dword [eax + 0x14]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0xc]
movss dword [esp], xmm0
call edx
mov dword [ebp - 0x94], 0
jmp 0x56140e
movups xmm0, xmmword [edi + 0x172]
sub esp, 0xc
mov ecx, esi
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x182]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x38]
mov dword [esi + 0x38], eax
movss xmm0, dword [edi + 0x2c]
mov eax, dword [esi]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call dword [eax + 0x3c]
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x94]
mov dword [esi + 0x168], 1
mov dword [esi + 0x138], 0x3e99999a
mov dword [esi + 0x13c], 0x3e99999a
mov dword [esi + 0x140], 0x3e99999a
call dword [eax + 0x84]
mov eax, dword [ebx + 8]
mov dword [esi + 0x124], eax
mov dword [esi + 0x128], 0xc8
movss xmm0, dword [edi + 0x34]
movss dword [esi + 0x134], xmm0
movss dword [esi + 0x188], xmm0
mov dword [esi + 0x12c], 1
mov ecx, dword [edi + 0x5c]
mov edx, ecx
mov esi, dword [edi + 0x9d8]
imul eax, ecx, 0xa8
shl edx, 4
sub edx, ecx
add esi, eax
mov eax, dword [edi + 0x22c]
lea eax, [eax + edx*4]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi*4 + 0x9b7940]
mov esi, dword [ebp - 0xb0]
lea eax, [eax + edx*8]
movsx eax, word [eax*2 + 0x997b50]
mov ecx, dword [esi + 0x60]
push eax
call fcn.005b85e0
cmp byte [edi + 0xa44], 0
jle 0x5614f1
cmp dword [edi + 0x12c], 0
je 0x5614f1
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x5614f1
imul eax, dword [edi + 0xa48], 0x2a0
push dword [eax + 0x9b794c]
call fcn.005b85e0
mov eax, dword [edi + 0x60]
mov ecx, dword [esi + 0x60]
push esi
mov eax, dword [eax + 0x2e4]
mov dword [ecx + 0x2e4], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x130], 0
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
mov eax, dword [ebx + 8]
mov dword [edi + 0x830], eax
cmp byte [edi + 0xa21], 1
mov eax, dword [edi + 0x720]
jne 0x56165c
test eax, eax
je 0x56157e
movss xmm2, dword [edi + 0x30]
lea ecx, [ebp - 0xe0]
addss xmm2, dword [0x604d20]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x720]
movq xmm0, qword [ebp - 0xe0]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 0x7c], eax
jmp 0x561676
push 0x124
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x3d
mov ecx, esi
push 0x124
call fcn.0045e570
movss xmm3, dword [0x604e14]
mov ecx, esi
push 0x1388
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3fc00000
mov dword [esp], 0x3fc00000
push 0
push 0x5d
call fcn.004ec010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
mov dword [edi + 0x720], eax
mov dword [eax + 0x104], 3
mov eax, dword [edi + 0x720]
mov dword [eax + 0x6c], 1
movss xmm2, dword [edi + 0x30]
addss xmm2, dword [0x604d20]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x720]
movq xmm0, qword [ebp - 0xe0]
push 0x88888800
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0xd8]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x720]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
push dword [edi + 0x720]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x561676
test eax, eax
je 0x561676
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x720], 0
cmp byte [edi + 0xa25], 1
jne 0x5617bb
mov eax, dword [0x9c25b0]
cmp dword [eax + 0x4c], edi
jne 0x5617bb
cmp dword [edi + 0x724], 0
je 0x5616dd
movss xmm2, dword [edi + 0x30]
lea ecx, [ebp - 0xec]
addss xmm2, dword [0x604d2c]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x724]
movq xmm0, qword [ebp - 0xec]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 0x7c], eax
jmp 0x5617db
push 0x124
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x3e
mov ecx, esi
push 0x124
call fcn.0045e570
movss xmm3, dword [0x604ddc]
mov ecx, esi
push 0x1388
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3f99999a
mov dword [esp], 0x3f99999a
push 0
push 0x5e
call fcn.004ec010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xec]
mov dword [edi + 0x724], eax
mov dword [eax + 0x104], 4
mov eax, dword [edi + 0x724]
mov dword [eax + 0x6c], 1
movss xmm2, dword [edi + 0x30]
addss xmm2, dword [0x604d2c]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x724]
movq xmm0, qword [ebp - 0xec]
push 0xaaaa0000
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0xe4]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x724]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
push dword [edi + 0x724]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x5617db
mov eax, dword [edi + 0x724]
test eax, eax
je 0x5617db
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x724], 0
mov eax, dword [edi + 0x218]
cmp eax, 8
jne 0x56183c
cmp byte [edi + 0xa3e], 1
je 0x56183c
cmp eax, eax
jne 0x56183c
cmp dword [edi + 0x75c], 0
lea esi, [edi + 0x75c]
je 0x56183c
mov ecx, 7
mov dword [ebp - 0x98], ecx
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x56182e
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov ecx, dword [ebp - 0x98]
mov dword [esi], 0
add esi, 4
sub ecx, 1
mov dword [ebp - 0x98], ecx
jne 0x561810
cmp byte [edi + 0xa29], 1
jne 0x561a1a
cmp byte [edi + 0xa2a], 0
jne 0x561a1a
cmp dword [edi + 0x728], 0
jne 0x561988
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x3f
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604d20]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3ecccccd
mov dword [esp], 0x3ecccccd
push 0
push 0x1b6
call fcn.004eb060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
mov dword [edi + 0x728], eax
mov dword [eax + 0x6c], 1
mov eax, dword [edi + 0x728]
mov dword [eax + 0x104], 2
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
jne 0x561916
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
jmp 0x561925
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x728]
movq xmm0, qword [ebp - 0x20]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x7c], eax
mov eax, dword [edi + 0x728]
mov dword [eax + 0x148], 0xa
mov eax, dword [edi + 0x728]
mov dword [eax + 0x13c], 0x3dcccccd
mov eax, dword [edi + 0x728]
mov dword [eax + 0x140], 0x3dcccccd
mov eax, dword [0x9c25b0]
push dword [edi + 0x728]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x561a3a
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
jne 0x5619e2
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
lea ecx, [ebp - 0x124]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
call fcn.00445a40
mov ecx, dword [edi + 0x728]
movq xmm0, qword [ebp - 0x124]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x11c]
mov dword [ecx + 0x7c], eax
jmp 0x561a3a
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x130]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x728]
movq xmm0, qword [ebp - 0x130]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x128]
mov dword [ecx + 0x7c], eax
jmp 0x561a3a
mov eax, dword [edi + 0x728]
test eax, eax
je 0x561a3a
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x728], 0
cmp byte [edi + 0xa2a], 1
jne 0x561c18
cmp byte [edi + 0xa29], 0
jne 0x561c18
cmp dword [edi + 0x72c], 0
jne 0x561b86
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x40
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604d20]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3ecccccd
mov dword [esp], 0x3ecccccd
push 0
push 0x1b7
call fcn.004eb060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
mov dword [edi + 0x72c], eax
mov dword [eax + 0x6c], 1
mov eax, dword [edi + 0x72c]
mov dword [eax + 0x104], 2
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
jne 0x561b14
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
jmp 0x561b23
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x72c]
movq xmm0, qword [ebp - 0x20]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x7c], eax
mov eax, dword [edi + 0x72c]
mov dword [eax + 0x148], 0xa
mov eax, dword [edi + 0x72c]
mov dword [eax + 0x13c], 0x3dcccccd
mov eax, dword [edi + 0x72c]
mov dword [eax + 0x140], 0x3dcccccd
mov eax, dword [0x9c25b0]
push dword [edi + 0x72c]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x561c38
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
jne 0x561be0
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
lea ecx, [ebp - 0x13c]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
call fcn.00445a40
mov ecx, dword [edi + 0x72c]
movq xmm0, qword [ebp - 0x13c]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x134]
mov dword [ecx + 0x7c], eax
jmp 0x561c38
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x148]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x72c]
movq xmm0, qword [ebp - 0x148]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x140]
mov dword [ecx + 0x7c], eax
jmp 0x561c38
mov eax, dword [edi + 0x72c]
test eax, eax
je 0x561c38
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x72c], 0
cmp byte [edi + 0xa2a], 1
jne 0x561e16
cmp byte [edi + 0xa29], 1
jne 0x561e16
cmp dword [edi + 0x730], 0
jne 0x561d84
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x41
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm3, dword [0x604d20]
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3ecccccd
mov dword [esp], 0x3ecccccd
push 0
push 0x1b8
call fcn.004eb060
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
mov dword [edi + 0x730], eax
mov dword [eax + 0x6c], 1
mov eax, dword [edi + 0x730]
mov dword [eax + 0x104], 2
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
jne 0x561d12
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
jmp 0x561d21
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x730]
movq xmm0, qword [ebp - 0x20]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x7c], eax
mov eax, dword [edi + 0x730]
mov dword [eax + 0x148], 0xa
mov eax, dword [edi + 0x730]
mov dword [eax + 0x13c], 0x3dcccccd
mov eax, dword [edi + 0x730]
mov dword [eax + 0x140], 0x3dcccccd
mov eax, dword [0x9c25b0]
push dword [edi + 0x730]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x561e36
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [eax*8 + 0x629074]
mulss xmm2, dword [edi + 0x38]
jne 0x561dde
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
lea ecx, [ebp - 0x154]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
call fcn.00445a40
mov ecx, dword [edi + 0x730]
movq xmm0, qword [ebp - 0x154]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x14c]
mov dword [ecx + 0x7c], eax
jmp 0x561e36
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x160]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [edi + 0x730]
movq xmm0, qword [ebp - 0x160]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x158]
mov dword [ecx + 0x7c], eax
jmp 0x561e36
mov eax, dword [edi + 0x730]
test eax, eax
je 0x561e36
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x730], 0
cmp dword [0x1ff1f30], 0
jne 0x56215a
cmp byte [edi + 0xa3b], 1
jne 0x56215a
call fcn.0046c00b
cdq
mov ecx, 5
idiv ecx
push 0x184
mov edi, edx
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x42
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm1, dword [0x604ca4]
mov ecx, esi
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push 0x50
push 1
sub esp, 0xc
movaps xmm3, xmm0
movss dword [ebp - 0xac], xmm0
mulss xmm0, dword [0x604cb8]
mov dword [esp + 8], 0
mulss xmm3, xmm1
movss dword [ebp - 0x98], xmm0
addss xmm0, xmm1
addss xmm3, xmm1
movss dword [esp + 4], xmm3
movss dword [esp], xmm0
push 0x5dc
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x5c]
movss xmm0, dword [ecx*8 + 0x629074]
mulss xmm0, dword [eax + 0x38]
addss xmm0, dword [eax + 0x30]
subss xmm0, dword [ebp - 0x98]
movss dword [ebp - 0x9c], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0xa4]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604cc0]
addss xmm0, dword [eax + 0x2c]
movss dword [ebp - 0xb0], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x20]
movss xmm3, dword [ebp - 0xb0]
sub edx, 5
movss xmm2, dword [ebp - 0x9c]
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x604cc0]
addss xmm1, dword [eax + 0x28]
call fcn.00445a40
movq xmm0, qword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
movq qword [esi + 0x14c], xmm0
mov dword [esi + 0x154], eax
mov eax, 0x55555556
imul edi
mov dword [esi + 0x6c], 1
mov eax, edx
mov dword [esi + 0x100], 0
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x140], 0xbf99999a
push 0xffff3300
mov ecx, esi
mov dword [esi + 0x13c], 0x3dcccccd
lea eax, [eax + eax*2]
sub edi, eax
mov eax, dword [esi]
mov dword [esi + 0x148], edi
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x60], esi
mov dword [ebp - 4], 0x43
mov ecx, esi
push 0x184
call fcn.0045e530
movss xmm1, dword [ebp - 0xac]
mov ecx, esi
mulss xmm1, dword [0x604ccc]
push 0x50
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [0x604d7c]
addss xmm1, dword [0x604ccc]
push 1
sub esp, 0xc
movaps xmm3, xmm1
mov dword [esp + 8], 0x38d1b717
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0x5dc
push 0
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
mov edi, dword [ebp - 0xa4]
sub edx, 5
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x604c94]
addss xmm0, dword [edi + 0x28]
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [edi + 0x30]
movss dword [ebp - 0xb0], xmm0
call fcn.0046c00b
cdq
mov ecx, 0xa
idiv ecx
movss xmm2, dword [ebp - 0xb0]
lea ecx, [ebp - 0x20]
movss xmm1, dword [ebp - 0x9c]
sub edx, 5
movd xmm3, edx
cvtdq2ps xmm3, xmm3
mulss xmm3, dword [0x604c94]
addss xmm3, dword [edi + 0x2c]
call fcn.00445a40
movq xmm0, qword [ebp - 0x20]
mov ecx, esi
mov eax, dword [ebp - 0x18]
movq qword [esi + 0x74], xmm0
movq qword [esi + 0x14c], xmm0
mov dword [esi + 0x7c], eax
mov dword [esi + 0x154], eax
mov eax, dword [esi]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0x148], 1
mov dword [esi + 0x140], 0x3fc00000
push 0xffff0000
call dword [eax + 0x3c]
mov eax, dword [0x9c25b0]
push esi
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
cmp dword [0x1ff1f2c], 0
jne 0x56230b
cmp byte [edi + 0xa24], 1
jne 0x56230b
cmp dword [edi + 0x74c], 0
jne 0x56230b
movss xmm2, dword [edi + 0x30]
lea ecx, [ebp - 0x8c]
addss xmm2, dword [0x604f24]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
push 0x1c0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x44
mov ecx, esi
push 0x1c0
call fcn.0045f5a0
movq xmm0, qword [ebp - 0x8c]
mov ecx, dword [ebp - 0x84]
push edi
push 3
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov eax, esp
push 0x20
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004f5b20
mov dword [ebp - 4], 0xffffffff
xor ecx, ecx
mov dword [edi + 0x74c], eax
mov word [eax + 0xf8], cx
mov eax, dword [edi + 0x74c]
push 0
mov word [eax + 0xf4], cx
mov eax, dword [edi + 0x74c]
mov word [eax + 0xfa], cx
mov eax, dword [edi + 0x74c]
mov word [eax + 0xf6], cx
mov ecx, dword [edi + 0x74c]
mov eax, dword [ecx]
call dword [eax + 0x84]
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x128], 0
mov eax, dword [edi + 0x74c]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x24], 0x3e99999a
mov eax, dword [edi + 0x74c]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x28], 0x3e99999a
mov eax, dword [edi + 0x74c]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x2c], 0x3e99999a
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x12c], 1
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x138], 0x3f800000
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x13c], 0x3f800000
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x140], 0x3f800000
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x168], 1
mov ecx, dword [edi + 0x74c]
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x134], eax
mov eax, dword [edi + 0x74c]
mov dword [eax + 0x130], 5
mov eax, dword [0x9c25b0]
push dword [edi + 0x74c]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x562334
cmp byte [edi + 0xa24], 0
jne 0x562334
mov eax, dword [edi + 0x74c]
test eax, eax
je 0x562334
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x74c], 0
cmp dword [0x1ff1f30], 0
jne 0x562534
cmp byte [edi + 0xa41], 1
jne 0x562534
cmp byte [edi + 0x215], 0
jne 0x562534
cmp dword [edi + 0x740], 0
jne 0x56248e
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x45
mov ecx, esi
push 0xcc
call fcn.0045e510
movss xmm3, dword [edi + 0x34]
mov ecx, esi
push 0
push 0xff999999
push 0xb16
call fcn.004f2590
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x740], eax
test eax, eax
je 0x56255d
mov dword [eax + 0xa4], 0x19d
lea ecx, [ebp - 0x20]
mov eax, dword [edi + 0x740]
mov dword [eax + 0xb8], 0x5dc
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [edi + 0x38]
mulss xmm2, dword [eax*8 + 0x629074]
jne 0x56240a
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
movss xmm1, dword [edi + 0x50]
addss xmm2, dword [0x604e50]
jmp 0x562421
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
addss xmm2, dword [0x604de8]
call fcn.00445a40
mov ecx, dword [edi + 0x740]
movq xmm0, qword [ebp - 0x20]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x7c], eax
mov eax, dword [edi + 0x740]
mov dword [eax + 0x98], 0x40000000
mov eax, dword [edi + 0x740]
mov dword [eax + 0x9c], 0x3fc00000
mov eax, dword [edi + 0x740]
mov dword [eax + 0x6c], 1
mov eax, dword [edi + 0x740]
mov byte [eax + 0xac], 1
mov eax, dword [0x9c25b0]
push dword [edi + 0x740]
mov ecx, dword [eax + 0x2c]
call fcn.005bcdc0
jmp 0x56255d
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [eax*8 + 0x629074]
mulss xmm2, dword [edi + 0x38]
jne 0x5624e5
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
lea ecx, [ebp - 0x178]
movss xmm1, dword [edi + 0x50]
addss xmm2, dword [0x604e50]
call fcn.00445a40
mov ecx, dword [edi + 0x740]
movq xmm0, qword [ebp - 0x178]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x170]
jmp 0x562520
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x184]
movss xmm1, dword [edi + 0x28]
addss xmm2, dword [0x604de8]
call fcn.00445a40
mov ecx, dword [edi + 0x740]
movq xmm0, qword [ebp - 0x184]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x17c]
mov dword [ecx + 0x7c], eax
mov ecx, dword [edi + 0x740]
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x8c], eax
jmp 0x56255d
cmp byte [edi + 0xa41], 0
jne 0x56255d
mov eax, dword [edi + 0x740]
test eax, eax
je 0x56255d
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x740], 0
cmp byte [edi + 0xa42], 1
jne 0x562780
cmp byte [edi + 0x211], 1
je 0x562780
cmp byte [edi + 0xa25], 0
jne 0x562780
xor eax, eax
lea esi, [edi + 0x744]
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x98], esi
nop dword [eax + eax]
cmp dword [esi], 0
jne 0x562765
push 0xcc
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x46
mov ecx, esi
push 0xcc
call fcn.0045e510
movd xmm2, dword [ebp - 0x90]
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604d7c]
movss xmm3, dword [edi + 0x2c]
movss xmm1, dword [edi + 0x28]
cvtdq2ps xmm2, xmm2
push 0
push 1
push edi
push 1
sub esp, 0xc
movss dword [ebp - 0xb0], xmm2
mov ecx, esp
mulss xmm2, dword [0x604ce8]
addss xmm2, xmm0
call fcn.00445a40
mov ecx, esi
call fcn.004f32c0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x98]
mov dword [esi], eax
cmp byte [edi + 0xa44], 1
mov eax, dword [edi + 0x5c]
movss xmm2, dword [eax*8 + 0x629074]
mulss xmm2, dword [edi + 0x38]
jne 0x56267e
addss xmm2, dword [edi + 0x54]
movss xmm3, dword [edi + 0x58]
lea ecx, [ebp - 0x190]
movss xmm1, dword [edi + 0x50]
subss xmm2, dword [0x604d04]
call fcn.00445a40
mov ecx, dword [esi]
movq xmm0, qword [ebp - 0x190]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x188]
jmp 0x5626ad
addss xmm2, dword [edi + 0x30]
movss xmm3, dword [edi + 0x2c]
lea ecx, [ebp - 0x19c]
movss xmm1, dword [edi + 0x28]
call fcn.00445a40
mov ecx, dword [esi]
movq xmm0, qword [ebp - 0x19c]
movq qword [ecx + 0x74], xmm0
mov eax, dword [ebp - 0x194]
movss xmm1, dword [ebp - 0xb0]
mulss xmm1, dword [0x6052b4]
mov dword [ecx + 0x7c], eax
mov eax, dword [ebx + 8]
mulss xmm1, dword [0x604d2c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x605750]
cvtpd2ps xmm0, xmm0
subss xmm0, xmm1
call fcn.005bdc60
mov ecx, dword [esi]
mov dword [ecx + 0x90], eax
mov eax, dword [esi]
mov dword [eax + 0xb4], 0xb17
mov eax, dword [esi]
mov dword [eax + 0x6c], 1
mov eax, dword [esi]
mov dword [eax + 0xb8], 0x3fb33333
mov eax, dword [esi]
mov dword [eax + 0xbc], 0xff
mov dword [eax + 0xc0], 0x99
mov dword [eax + 0xc4], 0x99
mov dword [eax + 0xc8], 0x99
mov eax, dword [0x9c25b0]
mov edx, dword [esi]
mov ecx, dword [eax + 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [ecx + 0x10], edx
mov eax, dword [edx + 0xc]
test eax, eax
je 0x56275f
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x90]
inc eax
add esi, 4
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x98], esi
cmp eax, 2
jl 0x5625a0
jmp 0x5627bd
mov ecx, 2
lea esi, [edi + 0x744]
mov dword [ebp - 0x98], ecx
mov eax, dword [esi]
test eax, eax
je 0x5627af
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov ecx, dword [ebp - 0x98]
mov dword [esi], 0
add esi, 4
sub ecx, 1
mov dword [ebp - 0x98], ecx
jne 0x562791
movzx eax, word [edi + 0xa62]
mov edx, 0xf3c
mov dword [ebp - 0x98], 0x2f1
mov ecx, eax
mov dword [ebp - 0x90], 0xf4c
mov dword [ebp - 0xa0], 0xfdc
lea esi, [edx + 0xb]
mov dword [ebp - 0x94], 0x6be
mov dword [ebp - 0xb4], 0x301
cmp ax, word [ebp - 0x98]
jne 0x5629c1
cmp dword [edi + 0x750], 0
jne 0x562b14
mov eax, dword [edi + 0x5c]
movss xmm0, dword [edi + 0x28]
movups xmmword [ebp - 0x100], xmm0
push 0x1c0
movss xmm0, dword [eax*8 + 0x629074]
addss xmm0, dword [0x604d04]
mulss xmm0, dword [edi + 0x38]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x60], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x47
push 0x1c0
push 0
push esi
call fcn.00468b40
movups xmm1, xmmword [ebp - 0x100]
add esp, 0xc
mov ecx, dword [ebp - 0x60]
movss xmm0, dword [ebp - 0xb0]
unpcklps xmm1, xmm0
push edi
push 3
sub esp, 0xc
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov eax, esp
push 0x14
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004f5b20
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x750], eax
test eax, eax
je 0x563003
mov ecx, 2
mov word [eax + 0xf8], cx
mov eax, dword [edi + 0x750]
push 0
mov word [eax + 0xf4], cx
xor ecx, ecx
mov eax, dword [edi + 0x750]
mov word [eax + 0xfa], cx
mov eax, dword [edi + 0x750]
mov word [eax + 0xf6], cx
mov ecx, dword [edi + 0x750]
mov eax, dword [ecx]
call dword [eax + 0x84]
mov eax, dword [edi + 0x750]
mov dword [eax + 0x128], 0
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x24], 0x3db851ec
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x28], 0x3db851ec
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x2c], 0x3db851ec
mov eax, dword [edi + 0x750]
mov dword [eax + 0x12c], 0
mov eax, dword [edi + 0x750]
mov dword [eax + 0x138], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x13c], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x140], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x168], 1
mov ecx, dword [edi + 0x750]
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x134], eax
mov eax, dword [edi + 0x750]
mov dword [eax + 0x130], 7
jmp 0x562f73
cmp cx, word [ebp - 0xb4]
jne 0x562b14
cmp dword [edi + 0x750], 0
jne 0x562c79
mov eax, dword [edi + 0x5c]
movss xmm0, dword [edi + 0x28]
movups xmmword [ebp - 0x100], xmm0
push 0x1c0
movss xmm0, dword [eax*8 + 0x629074]
addss xmm0, dword [0x604d04]
mulss xmm0, dword [edi + 0x38]
addss xmm0, dword [edi + 0x30]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x60], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x48
mov ecx, esi
push 0x1c0
call fcn.0045f5a0
movups xmm1, xmmword [ebp - 0x100]
mov ecx, dword [ebp - 0x60]
movss xmm0, dword [ebp - 0xb0]
push edi
push 4
sub esp, 0xc
unpcklps xmm1, xmm0
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov eax, esp
push 0x20
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004f5b20
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x750], eax
test eax, eax
je 0x563003
mov ecx, 1
mov word [eax + 0xf8], cx
mov eax, dword [edi + 0x750]
push 0
mov word [eax + 0xf4], cx
xor ecx, ecx
mov eax, dword [edi + 0x750]
mov word [eax + 0xfa], cx
mov eax, dword [edi + 0x750]
mov word [eax + 0xf6], cx
mov ecx, dword [edi + 0x750]
mov eax, dword [ecx]
call dword [eax + 0x84]
mov eax, dword [edi + 0x750]
mov dword [eax + 0x128], 0
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x24], 0x3f99999a
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x28], 0x3f99999a
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x2c], 0x3f99999a
jmp 0x562f04
mov eax, dword [ebp - 0x94]
cmp cx, ax
jne 0x562c79
cmp dword [edi + 0x750], 0
jne 0x562fa6
mov eax, dword [edi + 0x5c]
movss xmm0, dword [edi + 0x28]
movups xmmword [ebp - 0x100], xmm0
push 0x1c0
movss xmm0, dword [eax*8 + 0x629074]
addss xmm0, dword [0x604d04]
mulss xmm0, dword [edi + 0x38]
addss xmm0, dword [edi + 0x30]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x60], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x49
mov ecx, esi
push 0x1c0
call fcn.0045f5a0
movups xmm1, xmmword [ebp - 0x100]
mov ecx, dword [ebp - 0x60]
movss xmm0, dword [ebp - 0xb0]
push edi
push 5
sub esp, 0xc
unpcklps xmm1, xmm0
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov eax, esp
push 0x20
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004f5b20
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x750], eax
test eax, eax
je 0x563003
mov ecx, 2
mov word [eax + 0xf8], cx
mov eax, dword [edi + 0x750]
push 0
mov word [eax + 0xf4], cx
xor ecx, ecx
mov eax, dword [edi + 0x750]
mov word [eax + 0xfa], cx
mov eax, dword [edi + 0x750]
mov word [eax + 0xf6], cx
mov ecx, dword [edi + 0x750]
mov eax, dword [ecx]
call dword [eax + 0x84]
mov eax, dword [edi + 0x750]
mov dword [eax + 0x128], 0
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x24], 0x3f800000
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x28], 0x3f800000
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x2c], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x12c], 0
jmp 0x562f14
cmp cx, dx
jl 0x562c88
mov eax, 0xf44
cmp cx, ax
jle 0x562ca3
cmp cx, si
jl 0x562c96
cmp cx, word [ebp - 0x90]
jle 0x562ca3
cmp cx, word [ebp - 0xa0]
jne 0x562fa0
cmp dword [edi + 0x750], 0
jne 0x562fa0
mov eax, dword [edi + 0x5c]
movss xmm0, dword [edi + 0x28]
movups xmmword [ebp - 0x100], xmm0
push 0x1c0
movss xmm0, dword [eax*8 + 0x629074]
addss xmm0, dword [0x604d04]
mulss xmm0, dword [edi + 0x38]
addss xmm0, dword [edi + 0x30]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x60], xmm0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x4a
mov ecx, esi
push 0x1c0
call fcn.0045f5a0
movups xmm1, xmmword [ebp - 0x100]
mov ecx, dword [ebp - 0x60]
movss xmm0, dword [ebp - 0xb0]
push edi
push 6
sub esp, 0xc
unpcklps xmm1, xmm0
mov eax, esp
sub esp, 0xc
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov eax, esp
push 0x20
movq qword [eax], xmm1
mov dword [eax + 8], ecx
mov ecx, esi
call fcn.004f5b20
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x750], eax
test eax, eax
je 0x563003
mov esi, 3
mov edx, 0xf3c
mov word [eax + 0xf8], si
mov eax, dword [edi + 0x750]
mov word [eax + 0xf4], si
movzx eax, word [edi + 0xa62]
mov ecx, eax
cmp ax, dx
je 0x562e98
mov eax, 0xf3f
cmp cx, ax
je 0x562e98
mov eax, 0xf42
cmp cx, ax
je 0x562e98
mov eax, 0xf47
cmp cx, ax
jl 0x562dc3
mov eax, 0xf49
cmp cx, ax
jle 0x562e98
mov eax, 0xf3d
cmp cx, ax
je 0x562e5c
mov eax, 0xf40
cmp cx, ax
je 0x562e5c
mov eax, 0xf43
cmp cx, ax
je 0x562e5c
mov eax, 0xf3e
cmp cx, ax
je 0x562e84
mov eax, 0xf41
cmp cx, ax
je 0x562e84
mov eax, 0xf44
cmp cx, ax
je 0x562e84
mov eax, 0xf4a
cmp cx, ax
jne 0x562e40
mov eax, dword [edi + 0x750]
mov word [eax + 0xfa], si
mov eax, dword [edi + 0x750]
mov word [eax + 0xf6], si
jmp 0x562eb4
mov eax, 0xf4b
cmp cx, ax
je 0x562e70
cmp cx, word [ebp - 0x90]
je 0x562e70
cmp cx, word [ebp - 0xa0]
jne 0x562eb4
mov eax, dword [edi + 0x750]
mov ecx, 1
mov word [eax + 0xfa], cx
jmp 0x562ea7
mov eax, dword [edi + 0x750]
mov ecx, 4
mov word [eax + 0xfa], cx
jmp 0x562ea7
mov eax, dword [edi + 0x750]
mov ecx, 2
mov word [eax + 0xfa], cx
jmp 0x562ea7
mov eax, dword [edi + 0x750]
xor ecx, ecx
mov word [eax + 0xfa], cx
mov eax, dword [edi + 0x750]
mov word [eax + 0xf6], cx
mov ecx, dword [edi + 0x750]
push 0
mov eax, dword [ecx]
call dword [eax + 0x84]
mov eax, dword [edi + 0x750]
mov dword [eax + 0x128], 0
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x24], 0x3f800000
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x28], 0x3f800000
mov eax, dword [edi + 0x750]
mov eax, dword [eax + 0x60]
mov dword [eax + 0x2c], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x12c], 1
mov eax, dword [edi + 0x750]
mov dword [eax + 0x138], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x13c], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x140], 0x3f800000
mov eax, dword [edi + 0x750]
mov dword [eax + 0x168], 1
mov ecx, dword [edi + 0x750]
mov eax, dword [edi + 0x34]
mov dword [ecx + 0x134], eax
mov eax, dword [edi + 0x750]
mov dword [eax + 0x130], 5
mov eax, dword [0x9c25b0]
mov edx, dword [edi + 0x750]
mov ecx, dword [eax + 0x2c]
mov dword [edx + 4], ecx
mov eax, dword [ecx + 0x10]
mov dword [edx + 0xc], eax
mov dword [ecx + 0x10], edx
mov eax, dword [edx + 0xc]
test eax, eax
je 0x563003
mov dword [eax + 8], edx
jmp 0x563003
mov eax, dword [ebp - 0x94]
cmp cx, word [ebp - 0x98]
je 0x563003
cmp cx, word [ebp - 0xb4]
je 0x563003
cmp cx, ax
je 0x563003
cmp cx, dx
jl 0x562fcc
mov eax, 0xf44
cmp cx, ax
jle 0x563003
cmp cx, si
jl 0x562fda
cmp cx, word [ebp - 0x90]
jle 0x563003
cmp cx, word [ebp - 0xa0]
je 0x563003
mov eax, dword [edi + 0x750]
test eax, eax
je 0x563003
mov ecx, dword [0x9c25ac]
push eax
call fcn.004bb890
mov dword [edi + 0x750], 0
mov esi, dword [ebx + 8]
mov eax, esi
sub eax, dword [edi + 0x844]
cmp eax, 0x5dc
jbe 0x563029
cmp byte [edi + 0xa18], 1
jne 0x56337d
mov byte [edi + 0xa18], 0
cmp byte [edi + 0xa18], 1
jne 0x56337d
mov eax, esi
sub eax, dword [edi + 0x810]
cmp eax, 0x12c
jbe 0x56337d
mov eax, dword [edi + 0x218]
cmp eax, 4
je 0x563063
mov dword [ebp - 0x98], 0
cmp eax, 8
jne 0x56306d
mov dword [ebp - 0x98], 1
push 0x1c0
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x4b
push 0x1c0
push 0
push esi
call fcn.00468b40
mov ecx, dword [edi + 0x5c]
add esp, 0xc
push 0
push 0
sub esp, 0xc
mov eax, esp
sub esp, 0xc
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, esp
push ecx
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
call fcn.004f5b20
mov esi, eax
mov dword [ebp - 0xb4], esi
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0xa44], 0
jle 0x563144
cmp dword [edi + 0x12c], 0
je 0x563144
mov eax, dword [edi + 0xa48]
mov dword [esi + 0x5c], eax
movups xmm0, xmmword [edi + 0x132]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x142]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [edi + 0x5c]
mov dword [esi + 0x1b4], eax
movups xmm0, xmmword [edi + 0x172]
movups xmmword [esi + 0x190], xmm0
movups xmm0, xmmword [edi + 0x182]
movups xmmword [esi + 0x1a0], xmm0
jmp 0x563160
movups xmm0, xmmword [edi + 0x172]
movups xmmword [esi + 0xf4], xmm0
movups xmm0, xmmword [edi + 0x182]
movups xmmword [esi + 0x104], xmm0
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x98]
mov dword [esi + 0x168], 1
mov dword [esi + 0x138], 0x3f000000
mov dword [esi + 0x13c], 0x3f000000
mov dword [esi + 0x140], 0x3f000000
call dword [eax + 0x84]
mov eax, dword [ebx + 8]
sub esp, 0xc
mov dword [esi + 0x124], eax
mov ecx, esi
mov eax, dword [esi]
mov dword [esi + 0x128], 0x2bc
movss xmm0, dword [edi + 0x2c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x30]
addss xmm0, dword [0x604ccc]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [esp], xmm0
call dword [eax + 0x3c]
movss xmm0, dword [edi + 0x34]
movss dword [esi + 0x134], xmm0
movss dword [esi + 0x188], xmm0
mov dword [esi + 0x12c], 1
cmp byte [edi + 0xa44], 0
jle 0x5632bc
cmp dword [edi + 0x12c], 0
je 0x5632bc
mov ecx, dword [esi + 0x60]
lea eax, [esi + 0x60]
mov dword [ebp - 0x94], eax
test ecx, ecx
je 0x56326f
mov edx, dword [edi + 0x5c]
imul esi, dword [edi + 0xa48], 0xa8
mov eax, dword [edi + 0x22c]
shl edx, 4
sub edx, dword [edi + 0x5c]
add esi, dword [edi + 0x9d8]
lea eax, [eax + edx*4]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi*4 + 0x9b7940]
lea eax, [eax + edx*8]
movsx eax, word [eax*2 + 0x997b50]
push eax
call fcn.005b85e0
mov esi, dword [ebp - 0xb4]
mov eax, dword [esi + 0x1b0]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x56331a
mov ecx, dword [edi + 0x5c]
mov edx, ecx
mov esi, dword [edi + 0x9d8]
imul eax, ecx, 0xa8
shl edx, 4
sub edx, ecx
mov ecx, dword [ebp - 0xb0]
add esi, eax
mov eax, dword [edi + 0x22c]
lea eax, [eax + edx*4]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi*4 + 0x9b79a0]
jmp 0x563309
mov ecx, dword [esi + 0x60]
lea eax, [esi + 0x60]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xb0], ecx
test ecx, ecx
je 0x563320
mov ecx, dword [edi + 0x5c]
mov edx, ecx
mov esi, dword [edi + 0x9d8]
imul eax, ecx, 0xa8
shl edx, 4
sub edx, ecx
mov ecx, dword [ebp - 0xb0]
add esi, eax
mov eax, dword [edi + 0x22c]
lea eax, [eax + edx*4]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esi*4 + 0x9b7940]
lea eax, [eax + edx*8]
movsx eax, word [eax*2 + 0x997b50]
push eax
call fcn.005b85e0
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
test edx, edx
je 0x563335
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2e4]
mov dword [edx + 0x2e4], eax
mov esi, dword [ebp - 0xb4]
xor edx, edx
push 0
mov ecx, 0xa0
mov dword [esi + 0x130], 0
call fcn.005bc710
mov eax, dword [0x9c25b0]
add esp, 4
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 0x563374
mov dword [eax + 8], esi
mov esi, dword [ebx + 8]
mov dword [edi + 0x810], esi
cmp word [edi + 0x6b4], 0x66
jne 0x56340e
cmp dword [edi + 0xa90], 0
jne 0x56340e
movzx eax, word [edi + 0x21c]
mov ecx, eax
cwde
cdq
idiv dword [ebp - 0xc8]
cmp edx, 6
jne 0x5633b7
mov ecx, edi
call fcn.0055c700
jmp 0x5633f1
cmp edx, 7
jne 0x5633c5
mov ecx, edi
call fcn.0055be40
jmp 0x5633f1
cmp edx, 8
je 0x5633ea
cmp cx, 0x16
jl 0x5633d6
cmp cx, 0x19
jle 0x5633ea
cmp cx, 0x20
je 0x5633ea
cmp edx, 9
jne 0x5633f1
mov ecx, edi
call fcn.0055b500
jmp 0x5633f1
mov ecx, edi
call fcn.0055b8b0
mov ecx, dword [0x9c25b4]
mov dword [edi + 0xa90], 1
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov dword [edi + 0xa8c], eax
cmp dword [edi + 0xa90], 1
jne 0x563a33
cmp byte [edi + 0xa43], 1
jne 0x563a33
mov eax, dword [edi + 0xa8c]
add eax, 0x4e2
cmp esi, eax
jbe 0x563a33
movss xmm2, dword [edi + 0x30]
addss xmm2, dword [0x604ea8]
movss xmm1, dword [edi + 0x28]
movss xmm0, dword [edi + 0x2c]
xor edi, edi
movss dword [ebp - 0x38], xmm1
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x34], xmm2
push 0x184
call fcn.0046677d
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x4c
push 0x184
push 0
push esi
call fcn.00468b40
movd xmm0, edi
add esp, 0xc
cvtdq2ps xmm0, xmm0
mov ecx, esi
push 0x50
push 1
sub esp, 0xc
movaps xmm3, xmm0
mulss xmm0, dword [0x604d2c]
mulss xmm3, dword [0x604e14]
mov dword [esp + 8], 0x3a83126f
addss xmm0, dword [0x604f80]
addss xmm3, dword [0x604f80]
movss dword [esp + 4], xmm0
movss dword [esp], xmm3
push 0x2bc
push 0x38
call fcn.004eb060
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [esi]
mov ecx, esi
push 0xffffffffffffffff
call dword [edx + 0x3c]
movq xmm0, qword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
movq qword [esi + 0x74], xmm0
mov dword [esi + 0x7c], eax
mov eax, dword [0x9c25b0]
mov dword [esi + 0x6c], 1
mov dword [esi + 0x104], 1
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 0x56352f
mov dword [eax + 8], esi
inc edi
cmp edi, 3
jl 0x563463
mov edi, dword [ebp - 0xa4]
mov dword [edi + 0xa90], 0
jmp 0x563a33
mov eax, dword [edi + 0x700]
test eax, eax
je 0x56355f
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x704]
test eax, eax
je 0x563570
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x708]
test eax, eax
je 0x563581
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x6f8]
test eax, eax
je 0x563592
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x6fc]
test eax, eax
je 0x5635a3
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x70c]
test eax, eax
je 0x5635b4
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x710]
test eax, eax
je 0x5635c5
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x71c]
test eax, eax
je 0x5635d6
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x720]
test eax, eax
je 0x5635e7
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x724]
test eax, eax
je 0x5635f8
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x728]
test eax, eax
je 0x563609
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x72c]
test eax, eax
je 0x56361a
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x730]
test eax, eax
je 0x56362b
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x734]
test eax, eax
je 0x56363c
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x738]
test eax, eax
je 0x56364d
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x73c]
test eax, eax
je 0x56365e
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x740]
test eax, eax
je 0x56366f
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x744]
test eax, eax
je 0x563693
mov eax, dword [eax + 0x80]
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x744]
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x748]
test eax, eax
je 0x5636b7
mov eax, dword [eax + 0x80]
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x748]
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x74c]
test eax, eax
je 0x5636c8
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x750]
test eax, eax
je 0x5636d9
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x75c]
test eax, eax
je 0x5636ea
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x778]
test eax, eax
je 0x5636fb
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x794]
test eax, eax
je 0x56370c
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x760]
test eax, eax
je 0x56371d
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x77c]
test eax, eax
je 0x56372e
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x798]
test eax, eax
je 0x56373f
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x764]
test eax, eax
je 0x563750
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x780]
test eax, eax
je 0x563761
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x79c]
test eax, eax
je 0x563772
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x768]
test eax, eax
je 0x563783
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x784]
test eax, eax
je 0x563794
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7a0]
test eax, eax
je 0x5637a5
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x76c]
test eax, eax
je 0x5637b6
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x788]
test eax, eax
je 0x5637c7
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7a4]
test eax, eax
je 0x5637d8
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x770]
test eax, eax
je 0x5637e9
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x78c]
test eax, eax
je 0x5637fa
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7a8]
test eax, eax
je 0x56380b
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x774]
test eax, eax
je 0x56381c
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x790]
test eax, eax
je 0x56382d
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7ac]
test eax, eax
je 0x56383e
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7b0]
test eax, eax
je 0x56384f
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7b4]
test eax, eax
je 0x563860
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7b8]
test eax, eax
je 0x563871
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7bc]
test eax, eax
je 0x563882
mov dword [eax + 0x48], 0
mov eax, dword [edi + 0x7c0]
test eax, eax
je 0x563893
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x5638a4
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7c8]
test eax, eax
je 0x5638b5
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x5638c6
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x7d0]
test eax, eax
je 0x5638d7
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
test eax, eax
je 0x563985
mov dword [eax + 0x2904], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f0], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28fc], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f1], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f2], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f3], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28f4], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28fe], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov dword [eax + 0x28f8], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2f8]
mov byte [eax + 0x28fd], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
test eax, eax
je 0x563a33
mov dword [eax + 0x2904], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f0], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28fc], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f1], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f2], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f3], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28f4], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28fe], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov dword [eax + 0x28f8], 0
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x2fc]
mov byte [eax + 0x28fd], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046676f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4