Function at 0x9045b37
Capabilities:
Encode data using base64

Disassembly:
push 0x208
mov eax, 0x90d1671
call fcn.09006dd9
mov edi, ecx
mov dword [ebp - 0x1ec], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x214], eax
xor eax, eax
cmp dword [edi + 0x10], 1
push 3
mov dword [ebp - 4], eax
pop ebx
je 0x9045b6e
cmp dword [edi + 0x10], ebx
jne 0x9048759
push eax
cmp byte [edi + 0x28], al
je 0x9047235
push eax
push eax
push 0x44324230
push 0x6d706574
push dword [edi + 8]
lea ecx, [ebp - 0x1a4]
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 1
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.09094540
cmp dword [edi + 0x10], ebx
jne 0x90463fb
cmp dword [edi + 0xc], 0x63737020
je 0x9045c0a
push 0x1c
call fcn.09094540
mov dword [ebp - 0x1d4], eax
pop ecx
test eax, eax
je 0x9045be2
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov esi, eax
jmp 0x9045be4
xor esi, esi
cmp dword [edi + 0x18], 0xff
jg 0x9048759
lea ecx, [edi + 0x1c]
mov al, byte [edi + 0x18]
mov byte [ecx], al
inc ecx
sub ebx, 1
jne 0x9045bf4
mov eax, dword [edi + 0x24]
lea edx, [edi + 0x1c]
jmp 0x90463d3
push 0
push 0x9115628
push 0x911560c
push 0
push edi
call sub.VCRUNTIME140.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x210], esi
test esi, esi
je 0x9048759
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
dec eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1fc], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
dec eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1d8], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
dec eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
push 0xc
mov dword [ebp - 0x1dc], eax
call fcn.09094540
push 0xc
mov dword [ebp - 0x200], eax
call fcn.09094540
movss xmm1, dword [0x90e7a70]
mov ecx, eax
mov eax, dword [esi + 0xd4]
add esp, 0x14
mov edx, dword [ebp - 0x200]
mov dword [ebp - 0x1f8], ecx
movzx eax, word [eax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edx + 4], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + 4]
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
and dword [ebp - 0x204], eax
mov dword [ebp - 0x1f0], eax
divss xmm0, xmm1
movss dword [edx + 8], xmm0
mov edx, ebx
imul eax, dword [esi + 0x94], 6
and eax, 0xfffffffe
cmp eax, 6
jbe 0x9045de9
mov ecx, dword [ebp - 0x1d8]
mov edi, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1dc]
sub edi, ecx
sub eax, ecx
mov dword [ebp - 0x1d4], eax
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2 + 4]
add edx, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x1d4]
divss xmm0, xmm1
movss dword [eax + ecx], xmm0
lea ecx, [ecx + 4]
mov eax, dword [ebp - 0x204]
inc dword [ebp - 0x204]
mov dword [ebp - 0x1f0], eax
imul eax, dword [esi + 0x94], 6
shr eax, 1
cmp edx, eax
jb 0x9045d64
mov edi, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1fc]
push 0x50
mov eax, dword [eax + edx*4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + edx*4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + edx*4]
mov dword [ecx + 8], eax
call fcn.09094540
mov dword [ebp - 0x1d4], eax
pop ecx
test eax, eax
je 0x9045e38
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov dword [ebp - 0x204], eax
jmp 0x9045e3f
and dword [ebp - 0x204], 0
push 0x10
call fcn.09094540
mov ecx, eax
mov eax, dword [ebp - 0x200]
push 8
mov dword [ebp - 0x1e8], ecx
and dword [ecx + 4], 0
and dword [ecx + 8], 0
mov dword [ecx], 0x3f800000
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
call fcn.09094540
mov ecx, eax
mov eax, dword [esi + 0x98]
push 0x14
mov dword [ebp - 0x1ec], ecx
mov dword [ecx], eax
mov eax, dword [esi + 0x9c]
mov dword [ecx + 4], eax
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x9045eb9
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x9045ec0
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1e8]
push 0x14
pop esi
mov eax, dword [eax]
push esi
mov byte [ebp - 4], 1
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], bl
test eax, eax
je 0x9045f06
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x9045f0d
and dword [ebp - 0x1d4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x9045f40
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1f0], eax
jmp 0x9045f47
and dword [ebp - 0x1f0], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x9045f93
mov eax, dword [ebp - 0x210]
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1fc]
imul eax, dword [eax + 0x94], 6
div ecx
mov ecx, dword [ebp - 0x1e0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x9045f9a
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f0]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1f0]
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1f0]
call fcn.09094540
mov ecx, dword [ebp - 0x204]
push 0
push dword [ebp - 0x1f0]
call fcn.09094540
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x1ec]
push esi
mov eax, dword [ecx + 0xa0]
mov dword [edx], eax
mov eax, dword [ecx + 0xa4]
mov ecx, dword [ebp - 0x1e8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x200]
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x9046042
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x9046049
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1e8]
push esi
mov byte [ebp - 4], 1
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x904608e
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x9046095
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x90460c8
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1f0], eax
jmp 0x90460cf
and dword [ebp - 0x1f0], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x904611b
mov eax, dword [ebp - 0x210]
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1d8]
imul eax, dword [eax + 0x94], 6
div ecx
mov ecx, dword [ebp - 0x1e0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x9046122
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1f0]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1f0]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f0]
call fcn.09094540
mov ecx, dword [ebp - 0x204]
push 1
push dword [ebp - 0x1f0]
call fcn.09094540
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x1ec]
push esi
mov eax, dword [ecx + 0xa8]
mov dword [edx], eax
mov eax, dword [ecx + 0xac]
mov ecx, dword [ebp - 0x1e8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x200]
mov eax, dword [eax + 8]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x90461ca
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x90461d1
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1e8]
push esi
mov byte [ebp - 4], 1
mov eax, dword [eax + 8]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x9046216
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x904621d
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x9046250
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1f0], eax
jmp 0x9046257
and dword [ebp - 0x1f0], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov esi, dword [ebp - 0x210]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x90462a3
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1dc]
div ecx
mov ecx, dword [ebp - 0x1e0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x90462aa
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1f0]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1f0]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f0]
call fcn.09094540
mov ecx, dword [ebp - 0x204]
push 2
push dword [ebp - 0x1f0]
call fcn.09094540
push dword [ebp - 0x204]
lea ecx, [ebp - 0x1a4]
call fcn.09094540
push dword [ebp - 0x1ec]
call fcn.090cdd07
push dword [ebp - 0x1e8]
call fcn.090cdd07
push dword [ebp - 0x200]
call fcn.090cdd07
push dword [ebp - 0x1f8]
call fcn.090cdd07
push dword [ebp - 0x1fc]
call fcn.090cdd07
push dword [ebp - 0x1d8]
call fcn.090cdd07
push dword [ebp - 0x1dc]
call fcn.090cdd07
push 0x1c
call fcn.09094540
add esp, 0x20
mov dword [ebp - 0x1d4], eax
test eax, eax
je 0x904637a
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov dword [ebp - 0x1dc], eax
jmp 0x9046381
and dword [ebp - 0x1dc], 0
mov ecx, 0xff
cmp dword [esi + 0xb0], ecx
jg 0x9048759
mov al, byte [esi + 0xb0]
lea edx, [edi + 0x1c]
mov byte [edx], al
cmp dword [esi + 0xb4], ecx
jg 0x9048759
mov al, byte [esi + 0xb4]
mov byte [edi + 0x1d], al
cmp dword [esi + 0xb8], ecx
jg 0x9048759
mov al, byte [esi + 0xb8]
mov byte [edi + 0x1e], al
mov eax, dword [esi + 0xdc]
mov esi, dword [ebp - 0x1dc]
push ecx
push ecx
and dword [esp + 4], 0
mov ecx, esi
mov dword [esp], 0x3f800000
push eax
push edx
call fcn.09094540
push esi
lea ecx, [ebp - 0x1a4]
call fcn.09094540
jmp 0x904718e
cmp dword [edi + 0xc], 0x63737020
jne 0x9046b42
push 0
push 0x9115628
push 0x911560c
push 0
push edi
call sub.VCRUNTIME140.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x1f8], esi
test esi, esi
je 0x9048759
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
dec eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1dc], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
dec eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1fc], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
dec eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
push 0xc
mov dword [ebp - 0x210], eax
call fcn.09094540
push 0xc
mov dword [ebp - 0x204], eax
call fcn.09094540
movss xmm1, dword [0x90e7a70]
add esp, 0x14
mov dword [ebp - 0x1f0], eax
mov edx, ebx
mov eax, dword [esi + 0xd4]
mov ecx, dword [ebp - 0x204]
movzx eax, word [eax]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ecx + 4], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ecx + 8], xmm0
xor ecx, ecx
imul eax, dword [esi + 0x94], 6
and dword [ebp - 0x1d4], ecx
and eax, 0xfffffffe
cmp eax, 6
jbe 0x90465ee
mov edi, dword [ebp - 0x1fc]
mov ecx, edi
mov eax, dword [ebp - 0x1dc]
sub eax, edi
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x210]
sub eax, edi
mov edi, dword [ebp - 0x1e0]
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2 + 4]
add edx, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x1f4]
divss xmm0, xmm1
movss dword [eax + ecx], xmm0
lea ecx, [ecx + 4]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1e0], eax
inc eax
mov dword [ebp - 0x1d4], eax
imul eax, dword [esi + 0x94], 6
shr eax, 1
cmp edx, eax
jb 0x9046568
mov edi, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1dc]
push 0x50
mov eax, dword [eax + ecx*4]
mov dword [edx], eax
mov eax, dword [ebp - 0x1fc]
mov eax, dword [eax + ecx*4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x210]
mov eax, dword [eax + ecx*4]
mov dword [edx + 8], eax
call fcn.09094540
mov dword [ebp - 0x1d4], eax
pop ecx
test eax, eax
je 0x904663d
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov dword [ebp - 0x200], eax
jmp 0x9046644
and dword [ebp - 0x200], 0
push 0x10
call fcn.09094540
mov ecx, eax
mov eax, dword [ebp - 0x204]
push 8
mov dword [ebp - 0x1e8], ecx
and dword [ecx + 4], 0
and dword [ecx + 8], 0
mov dword [ecx], 0x3f800000
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
call fcn.09094540
mov ecx, eax
mov eax, dword [esi + 0x98]
push 0x14
mov dword [ebp - 0x1ec], ecx
mov dword [ecx], eax
mov eax, dword [esi + 0x9c]
pop esi
push esi
mov dword [ecx + 4], eax
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x90466c0
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x90466c7
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1e8]
push esi
mov byte [ebp - 4], 1
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0xf
test eax, eax
je 0x904670b
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x9046712
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x9046745
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x904674c
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x9046798
mov eax, dword [ebp - 0x1f8]
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1dc]
imul eax, dword [eax + 0x94], 6
div ecx
mov ecx, dword [ebp - 0x1e0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x904679f
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x200]
push 0
push dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1ec]
push esi
mov eax, dword [ecx + 0xa0]
mov dword [edx], eax
mov eax, dword [ecx + 0xa4]
mov ecx, dword [ebp - 0x1e8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x12
test eax, eax
je 0x9046847
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x904684e
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1e8]
push esi
mov byte [ebp - 4], 1
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov esi, dword [ebp - 0x1e8]
mov byte [ebp - 4], 0x13
test eax, eax
je 0x9046894
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x904689b
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x14
test eax, eax
je 0x90468ce
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x90468d5
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x15
test eax, eax
je 0x9046921
mov eax, dword [ebp - 0x1f8]
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1fc]
imul eax, dword [eax + 0x94], 6
div ecx
mov ecx, dword [ebp - 0x1e0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x9046928
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x200]
push 1
push dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1ec]
push 0x14
mov eax, dword [ecx + 0xa8]
mov dword [edx], eax
mov eax, dword [ecx + 0xac]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + 8]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x90469c6
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x90469cd
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1f0]
push 0x14
mov byte [ebp - 4], 1
mov eax, dword [eax + 8]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x9046a08
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x9046a0f
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x9046a42
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9046a49
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x9046a95
mov eax, dword [ebp - 0x1f8]
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x210]
imul eax, dword [eax + 0x94], 6
div ecx
mov ecx, dword [ebp - 0x1e0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x9046a9c
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x200]
push 2
push dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x200]
lea ecx, [ebp - 0x1a4]
call fcn.09094540
push dword [ebp - 0x1ec]
call fcn.090cdd07
push esi
call fcn.090cdd07
push dword [ebp - 0x204]
call fcn.090cdd07
push dword [ebp - 0x1f0]
call fcn.090cdd07
push dword [ebp - 0x1dc]
call fcn.090cdd07
push dword [ebp - 0x1fc]
call fcn.090cdd07
push dword [ebp - 0x210]
call fcn.090cdd07
add esp, 0x1c
mov eax, dword [edi + 0x18]
xor ecx, ecx
push 4
dec eax
pop esi
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1fc], eax
xor ecx, ecx
mov eax, dword [edi + 0x18]
dec eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x204], eax
xor ecx, ecx
mov eax, dword [edi + 0x18]
dec eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x1f0], eax
mov ecx, edi
call fcn.09094540
xor ecx, ecx
cmp byte [edi + 0x28], cl
setne cl
inc ecx
shr eax, cl
cmp eax, ebx
jb 0x9048759
push 0xc
call fcn.09094540
push 0xc
mov dword [ebp - 0x1f8], eax
call fcn.09094540
mov esi, eax
mov eax, dword [edi + 0x24]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [eax]
mov dword [ebp - 0x200], esi
mov dword [ecx], eax
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
xor eax, eax
and dword [ebp - 0x1d4], eax
mov ecx, edi
mov dword [ebp - 0x1e0], eax
call fcn.09094540
xor ecx, ecx
cmp byte [edi + 0x28], cl
setne cl
inc ecx
shr eax, cl
cmp eax, ebx
jbe 0x9046cac
mov eax, dword [ebp - 0x204]
mov ecx, eax
mov edx, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x1f0]
sub edx, eax
sub esi, eax
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1f4], esi
mov esi, ebx
mov eax, dword [edi + 0x24]
movss xmm0, dword [eax + esi*4]
movss xmm1, dword [eax + esi*4 + 4]
movss xmm2, dword [eax + esi*4 + 8]
add esi, ebx
mov eax, dword [ebp - 0x1f4]
movss dword [edx + ecx], xmm0
mov edx, dword [ebp - 0x1d4]
movss dword [ecx], xmm1
movss dword [eax + ecx], xmm2
add ecx, 4
mov dword [ebp - 0x1e0], edx
inc edx
mov dword [ebp - 0x1dc], ecx
mov ecx, edi
mov dword [ebp - 0x1d4], edx
call fcn.09094540
mov edx, dword [ebp - 0x1d8]
xor ecx, ecx
cmp byte [edi + 0x28], cl
setne cl
inc ecx
shr eax, cl
mov ecx, dword [ebp - 0x1dc]
cmp esi, eax
jb 0x9046c3e
mov esi, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1fc]
push 0x50
mov eax, dword [eax + ecx*4]
mov dword [esi], eax
mov eax, dword [ebp - 0x204]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1f0]
mov eax, dword [eax + ecx*4]
mov dword [esi + 8], eax
call fcn.09094540
mov dword [ebp - 0x1d4], eax
pop ecx
test eax, eax
je 0x9046cfb
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov dword [ebp - 0x1dc], eax
jmp 0x9046d02
and dword [ebp - 0x1dc], 0
push 0x10
call fcn.09094540
mov esi, eax
mov eax, dword [ebp - 0x1f8]
push 8
and dword [esi + 4], 0
and dword [esi + 8], 0
mov dword [esi], 0x3f800000
mov eax, dword [eax]
mov dword [esi + 0xc], eax
call fcn.09094540
movsd xmm0, qword [edi + 0x60]
cvtpd2ps xmm0, xmm0
push 0x14
mov dword [ebp - 0x1ec], eax
movss dword [eax], xmm0
movsd xmm0, qword [edi + 0x78]
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x9046d79
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x9046d80
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x200]
push 0x14
mov byte [ebp - 4], 1
mov eax, dword [eax]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x1b
test eax, eax
je 0x9046dba
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x9046dc1
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x9046df4
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9046dfb
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
mov byte [ebp - 4], 0x1d
test ecx, ecx
je 0x9046e32
mov eax, dword [edi + 0x18]
push dword [ebp - 0x1fc]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x9046e39
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1dc]
push 0
push dword [ebp - 0x1d8]
call fcn.09094540
movsd xmm0, qword [edi + 0x68]
mov eax, dword [ebp - 0x1ec]
cvtpd2ps xmm0, xmm0
push 0x14
movss dword [eax], xmm0
movsd xmm0, qword [edi + 0x80]
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x9046ede
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x9046ee5
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x200]
push 0x14
mov byte [ebp - 4], 1
mov eax, dword [eax + 4]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x9046f20
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x9046f27
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x20
test eax, eax
je 0x9046f5a
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9046f61
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
mov byte [ebp - 4], 0x21
test ecx, ecx
je 0x9046f98
mov eax, dword [edi + 0x18]
push dword [ebp - 0x204]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x9046f9f
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1dc]
push 1
push dword [ebp - 0x1d8]
call fcn.09094540
movsd xmm0, qword [edi + 0x70]
mov eax, dword [ebp - 0x1ec]
cvtpd2ps xmm0, xmm0
push 0x14
movss dword [eax], xmm0
movsd xmm0, qword [edi + 0x88]
cvtpd2ps xmm0, xmm0
movss dword [eax + 4], xmm0
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax + 8]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x22
test eax, eax
je 0x9047044
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x904704b
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x200]
push 0x14
mov byte [ebp - 4], 1
mov eax, dword [eax + 8]
mov dword [esi + 0xc], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x23
test eax, eax
je 0x9047086
push esi
push 0
push dword [edi + 8]
mov ecx, eax
call fcn.09040cd8
mov dword [ebp - 0x1f4], eax
jmp 0x904708d
and dword [ebp - 0x1f4], 0
push 0x54
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x24
test eax, eax
je 0x90470bc
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov ebx, eax
jmp 0x90470be
xor ebx, ebx
push 0x18
mov byte [ebp - 4], 1
call fcn.09094540
pop ecx
mov ecx, eax
mov dword [ebp - 0x1e0], ecx
mov byte [ebp - 4], 0x25
test ecx, ecx
je 0x90470f5
mov eax, dword [edi + 0x18]
push dword [ebp - 0x1f0]
dec eax
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1e0], eax
jmp 0x90470fc
and dword [ebp - 0x1e0], 0
push dword [ebp - 0x1d4]
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, ebx
call fcn.09094540
push dword [ebp - 0x1f4]
mov ecx, ebx
call fcn.09094540
push 2
push ebx
mov ebx, dword [ebp - 0x1dc]
mov ecx, ebx
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.09094540
push dword [ebp - 0x1ec]
call fcn.090cdd07
push esi
call fcn.090cdd07
push dword [ebp - 0x1f8]
call fcn.090cdd07
push dword [ebp - 0x200]
call fcn.090cdd07
push dword [ebp - 0x1fc]
call fcn.090cdd07
push dword [ebp - 0x204]
call fcn.090cdd07
push dword [ebp - 0x1f0]
call fcn.090cdd07
add esp, 0x1c
mov eax, dword [ebp - 0x214]
test eax, eax
jne 0x90471b1
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push 0
cmovae eax, dword [ebp + 0xc]
push eax
push dword [edi + 8]
call fcn.0901a589
add esp, 0xc
push eax
lea ecx, [ebp - 0x208]
call fcn.09094540
push dword [ebp - 0x208]
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 0x26
push dword [edi + 8]
call fcn.090409c5
cmp dword [edi + 0xc], 0x63756265
lea edx, [edi + 0x78]
push edx
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 0x27
push ecx
sete al
push eax
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1a4]
push eax
mov eax, 0x52474220
push eax
push eax
push dword [edi + 8]
call fcn.09043e7e
add esp, 0x20
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x1d0]
mov esi, eax
call fcn.09041374
lea ecx, [ebp - 0x208]
mov byte [ebp - 4], 1
call fcn.0901b71b
mov byte [ebp - 4], 0
jmp 0x904873c
cmp dword [edi + 0xc], 0x63737020
je 0x904778a
push eax
push 0x41324230
push 0x6d414220
push dword [edi + 8]
lea ecx, [ebp - 0xd4]
call fcn.09094540
push ebx
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x28
call fcn.09094540
push ebx
lea ecx, [ebp - 0xd4]
call fcn.09094540
mov eax, dword [edi]
mov esi, dword [eax + 8]
lea eax, [ebp - 0xd4]
push eax
mov ecx, esi
call dword [0x90d62d0]
mov ecx, edi
call esi
xor eax, eax
mov dword [ebp - 0x38], 0xffff0000
and dword [ebp - 0x78], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0xffff0000
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 0xffff
mov dword [ebp - 0x24], 0xffff0000
mov dword [ebp - 0x20], 0xffff0000
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 0xffff0000
mov dword [ebp - 0x14], 0xffffffff
mov word [ebp - 0x1e8], 0x202
mov byte [ebp - 0x1e6], 2
mov dword [ebp - 0x7c], 0x76727563
cmp dword [edi + 0x10], ebx
jne 0x904738e
cmp dword [edi + 0x18], 0xff
jg 0x9048759
lea edx, [edi + 0x1c]
mov ecx, edx
mov al, byte [edi + 0x18]
mov byte [ecx], al
inc ecx
sub ebx, 1
jne 0x904730e
push dword [edi + 0x20]
lea ecx, [ebp - 0xd4]
push 2
push edx
call fcn.09094540
mov ecx, dword [edi + 8]
push 0xc
pop ebx
push ebx
call fcn.09094540
mov dword [edi + 0x44], eax
test eax, eax
je 0x9048759
and dword [ebp - 0x74], 0
lea ecx, [ebp - 0x7c]
push ebx
push ecx
push ebx
push eax
call fcn.09094540
add esp, 0x10
test eax, eax
jne 0x9048759
mov byte [ebp - 0x1dc], al
push ebx
push dword [edi + 0x44]
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x1dc]
call fcn.09094540
mov al, byte [ebp - 0x1dc]
inc al
mov byte [ebp - 0x1dc], al
cmp al, 3
jb 0x9047362
jmp 0x9047595
lea eax, [ebp - 0x40]
push eax
push 2
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0xd4]
call fcn.09094540
and dword [ebp - 0x1d8], 0
lea eax, [ebp - 0x1d8]
push eax
push 2
push dword [edi + 0x18]
call fcn.09094540
add esp, 0xc
test al, al
je 0x9048759
lea eax, [ebp - 0x1d8]
push eax
push 0xc
push dword [ebp - 0x1d8]
call fcn.09094540
add esp, 0xc
test al, al
je 0x9048759
mov esi, dword [ebp - 0x1d8]
mov ecx, dword [edi + 8]
push esi
call fcn.09094540
mov dword [edi + 0x44], eax
test eax, eax
je 0x9048759
mov ecx, dword [edi + 8]
push esi
call fcn.09094540
mov dword [edi + 0x48], eax
test eax, eax
je 0x9048759
mov ecx, dword [edi + 8]
push esi
call fcn.09094540
mov dword [edi + 0x4c], eax
test eax, eax
je 0x9048759
mov eax, dword [edi + 0x18]
bswap eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x7c]
push 0xc
push eax
push esi
push dword [edi + 0x44]
call fcn.09094540
add esp, 0x10
test eax, eax
jne 0x9048759
push 0xc
lea eax, [ebp - 0x7c]
push eax
push esi
push dword [edi + 0x48]
call fcn.09094540
add esp, 0x10
test eax, eax
jne 0x9048759
push 0xc
lea eax, [ebp - 0x7c]
push eax
push esi
push dword [edi + 0x4c]
call fcn.09094540
add esp, 0x10
test eax, eax
jne 0x9048759
mov eax, dword [edi + 0x44]
mov ecx, edi
and dword [ebp - 0x1f8], 0
add eax, 0xc
mov dword [ebp - 0x1dc], eax
mov eax, dword [edi + 0x48]
add eax, 0xc
mov dword [ebp - 0x208], eax
mov eax, dword [edi + 0x4c]
add eax, 0xc
mov dword [ebp - 0x1fc], eax
call fcn.09094540
xor ecx, ecx
cmp byte [edi + 0x28], cl
setne cl
inc ecx
shr eax, cl
test eax, eax
je 0x904755f
mov esi, dword [ebp - 0x208]
sub dword [ebp - 0x1dc], esi
sub dword [ebp - 0x1fc], esi
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edi + 0x20]
movzx eax, word [eax + edx*2]
mov cx, ax
shl eax, 8
shr cx, 8
or cx, ax
mov eax, dword [ebp - 0x1dc]
mov word [eax + esi], cx
mov eax, dword [edi + 0x20]
movzx eax, word [eax + edx*2 + 2]
mov cx, ax
shl eax, 8
shr cx, 8
or cx, ax
mov word [esi], cx
mov eax, dword [edi + 0x20]
movzx eax, word [eax + edx*2 + 4]
add edx, ebx
mov cx, ax
mov dword [ebp - 0x1f8], edx
shr cx, 8
shl eax, 8
or cx, ax
mov eax, dword [ebp - 0x1fc]
mov word [eax + esi], cx
mov ecx, edi
lea esi, [esi + 2]
call fcn.09094540
mov edx, dword [ebp - 0x1f8]
xor ecx, ecx
cmp byte [edi + 0x28], cl
setne cl
inc ecx
shr eax, cl
cmp edx, eax
jb 0x90474dd
mov esi, dword [ebp - 0x1d8]
push esi
push dword [edi + 0x44]
lea ecx, [ebp - 0xd4]
push 0
call fcn.09094540
push esi
push dword [edi + 0x48]
lea ecx, [ebp - 0xd4]
push 1
call fcn.09094540
push esi
push dword [edi + 0x4c]
lea ecx, [ebp - 0xd4]
push 2
call fcn.09094540
push 0xc
pop ebx
movsd xmm0, qword [edi + 0x58]
subsd xmm0, qword [edi + 0x50]
movsd qword [ebp - 0x1e4], xmm0
mulsd xmm0, qword [0x90dd3e8]
movsd qword [ebp - 0x20c], xmm0
addsd xmm0, qword [0x90dd3c8]
call fcn.090cdae0
movsd xmm0, qword [ebp - 0x20c]
mov esi, eax
addsd xmm0, qword [0x90dd3f0]
addsd xmm0, qword [0x90dd3d0]
call fcn.090cdae0
movsd xmm0, qword [ebp - 0x1e4]
comisd xmm0, xmmword [0x90dd3c0]
movsd xmm0, qword [edi + 0x50]
mulsd xmm0, qword [0x90dd3e8]
cmovae eax, esi
xor ecx, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
movsd qword [ebp - 0x20c], xmm0
addsd xmm0, qword [0x90dd3c8]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
call fcn.090cdae0
movsd xmm0, qword [ebp - 0x20c]
mov esi, eax
addsd xmm0, qword [0x90dd3f0]
addsd xmm0, qword [0x90dd3d0]
call fcn.090cdae0
movsd xmm0, qword [edi + 0x50]
lea ecx, [ebp - 0xd4]
comisd xmm0, xmmword [0x90dd3c0]
cmovae eax, esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x70]
push eax
call fcn.09094540
mov ecx, dword [edi + 8]
push ebx
call fcn.09094540
mov dword [edi + 0x38], eax
test eax, eax
je 0x9048759
and dword [ebp - 0x74], 0
lea ecx, [ebp - 0x7c]
push ebx
push ecx
push ebx
push eax
call fcn.09094540
add esp, 0x10
test eax, eax
jne 0x9048759
mov byte [ebp - 0x1dc], al
push ebx
push dword [edi + 0x38]
lea ecx, [ebp - 0xd4]
push dword [ebp - 0x1dc]
call fcn.09094540
mov al, byte [ebp - 0x1dc]
inc al
mov byte [ebp - 0x1dc], al
cmp al, 3
jb 0x90476b1
mov eax, dword [ebp - 0x214]
test eax, eax
jne 0x90476fb
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push 0
cmovae eax, dword [ebp + 0xc]
push eax
push dword [edi + 8]
call fcn.0901a589
add esp, 0xc
push eax
lea ecx, [ebp - 0x1d4]
call fcn.09094540
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x29
push dword [edi + 8]
call fcn.090409c5
cmp dword [edi + 0xc], 0x63756265
lea edx, [edi + 0x78]
push edx
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 0x2a
push ecx
sete al
push eax
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0xd4]
push eax
mov eax, 0x52474220
push eax
push eax
push dword [edi + 8]
call fcn.09043e7e
add esp, 0x20
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.09041374
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x28
call fcn.0901b71b
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0
call fcn.090413a6
jmp 0x9048747
push 0x9115628
push 0x911560c
push eax
push edi
call sub.VCRUNTIME140.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
test esi, esi
je 0x9048759
xor eax, eax
lea ecx, [ebp - 0x1a4]
push eax
push eax
push eax
push 0x44324230
push 0x6d706574
push dword [edi + 8]
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 0x2b
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.09094540
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
pop edx
cmp dword [edi + 0x10], ebx
jne 0x9047e73
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1dc], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1fc], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
imul ecx, dword [esi + 0x94], 6
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x200], eax
test ecx, 0xfffffffe
jbe 0x9047919
mov edi, dword [ebp - 0x1fc]
mov ecx, edi
mov eax, dword [ebp - 0x1dc]
movss xmm1, dword [0x90e7a70]
sub eax, edi
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x200]
sub eax, edi
mov edi, dword [ebp - 0x208]
mov dword [ebp - 0x1d4], eax
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [edi + ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2 + 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [ecx], xmm0
mov eax, dword [esi + 0xd4]
movzx eax, word [eax + edx*2 + 4]
add edx, ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x1d4]
divss xmm0, xmm1
movss dword [eax + ecx], xmm0
lea ecx, [ecx + 4]
imul eax, dword [esi + 0x94], 6
shr eax, 1
cmp edx, eax
jb 0x90478ac
mov edi, dword [ebp - 0x1ec]
push 0x50
call fcn.09094540
mov dword [ebp - 0x208], eax
pop ecx
test eax, eax
je 0x904793f
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov dword [ebp - 0x1f8], eax
jmp 0x9047946
and dword [ebp - 0x1f8], 0
push 0x10
call fcn.09094540
push 8
mov dword [ebp - 0x1e8], eax
and dword [eax + 8], 0
and dword [eax + 0xc], 0
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
call fcn.09094540
mov ecx, dword [esi + 0x98]
push 0x14
mov dword [ebp - 0x1ec], eax
mov dword [eax], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 4], ecx
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x2c
test eax, eax
je 0x90479b8
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x208], eax
jmp 0x90479bf
and dword [ebp - 0x208], 0
push 0x14
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x2d
test eax, eax
je 0x90479f3
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1e0], eax
jmp 0x90479fa
and dword [ebp - 0x1e0], 0
push 0x54
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x2e
test eax, eax
je 0x9047a2d
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9047a34
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x2f
test eax, eax
je 0x9047a79
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1dc]
div ecx
mov ecx, dword [ebp - 0x1d4]
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1d4], eax
jmp 0x9047a80
and dword [ebp - 0x1d4], 0
push dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x2b
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1f8]
push 0
push dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [esi + 0xa0]
push 0x14
mov dword [ecx], eax
mov eax, dword [esi + 0xa4]
mov dword [ecx + 4], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x30
test eax, eax
je 0x9047b11
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x208], eax
jmp 0x9047b18
and dword [ebp - 0x208], 0
push 0x14
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x31
test eax, eax
je 0x9047b4c
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1e0], eax
jmp 0x9047b53
and dword [ebp - 0x1e0], 0
push 0x54
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x32
test eax, eax
je 0x9047b86
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9047b8d
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x33
test eax, eax
je 0x9047bd2
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1fc]
div ecx
mov ecx, dword [ebp - 0x1d4]
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1d4], eax
jmp 0x9047bd9
and dword [ebp - 0x1d4], 0
push dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x2b
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1f8]
push 1
push dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [esi + 0xa8]
push 0x14
mov dword [ecx], eax
mov eax, dword [esi + 0xac]
mov dword [ecx + 4], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x34
test eax, eax
je 0x9047c6a
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x208], eax
jmp 0x9047c71
and dword [ebp - 0x208], 0
push 0x14
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x35
test eax, eax
je 0x9047ca5
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1e0], eax
jmp 0x9047cac
and dword [ebp - 0x1e0], 0
push 0x54
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x36
test eax, eax
je 0x9047cdf
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9047ce6
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x37
test eax, eax
je 0x9047d2b
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x200]
div ecx
mov ecx, dword [ebp - 0x1d4]
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1d4], eax
jmp 0x9047d32
and dword [ebp - 0x1d4], 0
push dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x2b
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1f8]
push 2
push dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1f8]
lea ecx, [ebp - 0x1a4]
call fcn.09094540
push dword [ebp - 0x1ec]
call fcn.090cdd07
push dword [ebp - 0x1e8]
call fcn.090cdd07
push dword [ebp - 0x1dc]
call fcn.090cdd07
push dword [ebp - 0x1fc]
call fcn.090cdd07
push dword [ebp - 0x200]
call fcn.090cdd07
push 0x1c
call fcn.09094540
add esp, 0x18
mov dword [ebp - 0x208], eax
test eax, eax
je 0x9047de8
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov ebx, eax
jmp 0x9047dea
xor ebx, ebx
mov ecx, 0xff
cmp dword [esi + 0xb0], ecx
jg 0x9048759
mov al, byte [esi + 0xb0]
lea edx, [edi + 0x1c]
mov byte [edx], al
cmp dword [esi + 0xb4], ecx
jg 0x9048759
mov al, byte [esi + 0xb4]
mov byte [edi + 0x1d], al
cmp dword [esi + 0xb8], ecx
jg 0x9048759
mov al, byte [esi + 0xb8]
mov byte [edi + 0x1e], al
movsd xmm0, qword [edi + 0x58]
subsd xmm0, qword [edi + 0x50]
movsd xmm1, qword [edi + 0x50]
cvtpd2ps xmm1, xmm1
push ecx
push ecx
mov ecx, ebx
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [esi + 0xd8]
push edx
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.09094540
jmp 0x90486a6
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x1f8], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
mov dword [ebp - 0x200], eax
xor edx, edx
imul eax, dword [esi + 0x94], 6
push 6
pop ecx
push 4
div ecx
xor ecx, ecx
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x204], eax
mov ecx, edi
call fcn.09094540
xor ecx, ecx
cmp byte [edi + 0x28], cl
setne cl
xor edx, edx
inc ecx
shr eax, cl
div ebx
xor edx, edx
movzx ecx, ax
imul eax, dword [esi + 0x94], 6
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1e0], edx
test eax, 0xfffffffe
jbe 0x9048223
movss xmm7, dword [0x90e7a70]
movsd xmm5, qword [0x90dd3c8]
movsd xmm6, qword [0x90dd3d0]
movsd xmm1, qword [0x90dd3e0]
movzx eax, cx
mov ecx, dword [ebp - 0x200]
dec eax
mov dword [ebp - 0x1d8], ecx
movd xmm0, eax
mov eax, dword [ebp - 0x1f8]
sub eax, ecx
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x204]
sub eax, ecx
mov dword [ebp - 0x1e8], eax
movsd qword [ebp - 0x78], xmm0
mov ecx, dword [esi + 0xd4]
movzx eax, word [ecx + edx*2]
movd xmm2, eax
movzx eax, word [ecx + edx*2 + 2]
cvtdq2pd xmm2, xmm2
movd xmm3, eax
movzx eax, word [ecx + edx*2 + 4]
divsd xmm2, xmm1
cvtdq2pd xmm3, xmm3
movd xmm4, eax
divsd xmm3, xmm1
cvtdq2pd xmm4, xmm4
mulsd xmm2, xmm0
divsd xmm4, xmm1
mulsd xmm3, xmm0
cvttsd2si eax, xmm2
mulsd xmm4, xmm0
movzx edx, ax
cvttsd2si eax, xmm3
mov ecx, edx
movd xmm0, ecx
movzx eax, ax
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x1d4], eax
movzx eax, ax
mov dword [ebp - 0x208], eax
imul ecx, ecx, 6
subsd xmm2, xmm0
movd xmm0, eax
cvttsd2si eax, xmm4
cvtdq2pd xmm0, xmm0
movzx eax, ax
mov dword [ebp - 0x210], eax
movzx eax, ax
mov dword [ebp - 0x1f0], eax
subsd xmm3, xmm0
movd xmm0, eax
mov eax, dword [edi + 0x20]
cvtdq2pd xmm0, xmm0
movzx eax, word [ecx + eax]
subsd xmm4, xmm0
cmp dx, word [ebp - 0x1dc]
je 0x9048053
movd xmm0, eax
movaps xmm1, xmm6
mov eax, dword [edi + 0x20]
subsd xmm1, xmm2
cvtdq2pd xmm0, xmm0
movzx eax, word [ecx + eax + 6]
mulsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
addsd xmm1, xmm0
addsd xmm1, xmm5
cvttsd2si eax, xmm1
movzx eax, ax
movzx eax, ax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1fc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
imul eax, dword [ebp - 0x208], 6
divss xmm0, xmm7
movss dword [edx + ecx], xmm0
mov edx, dword [edi + 0x20]
mov ecx, dword [ebp - 0x1d4]
movzx edx, word [eax + edx + 2]
cmp cx, word [ebp - 0x1dc]
je 0x90480ce
mov edi, dword [edi + 0x20]
movaps xmm1, xmm6
movd xmm0, edx
subsd xmm1, xmm3
cvtdq2pd xmm0, xmm0
movzx eax, word [eax + edi + 8]
mov edi, dword [ebp - 0x1ec]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm1, xmm0
mulsd xmm2, xmm3
addsd xmm2, xmm1
addsd xmm2, xmm5
cvttsd2si eax, xmm2
movzx eax, ax
jmp 0x90480d0
mov eax, edx
movzx eax, ax
mov ecx, dword [ebp - 0x1d8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
imul eax, dword [ebp - 0x1f0], 6
divss xmm0, xmm7
mov dword [ebp - 0x208], eax
movss dword [ecx], xmm0
mov edx, dword [edi + 0x20]
movzx eax, word [eax + edx + 4]
mov edx, dword [ebp - 0x210]
cmp dx, word [ebp - 0x1dc]
mov edx, dword [ebp - 0x1fc]
je 0x9048168
mov edx, dword [edi + 0x20]
movaps xmm1, xmm6
mov eax, dword [ebp - 0x208]
subsd xmm1, xmm4
mov edi, dword [edi + 0x20]
movzx eax, word [eax + edx + 0xa]
mov edx, dword [ebp - 0x208]
movd xmm2, eax
movzx eax, word [edx + edi + 4]
cvtdq2pd xmm2, xmm2
mov edi, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x1fc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm2, xmm4
mulsd xmm1, xmm0
addsd xmm2, xmm1
addsd xmm2, xmm5
cvttsd2si eax, xmm2
movzx eax, ax
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x1e8]
divss xmm0, xmm7
movss dword [eax + ecx], xmm0
movsd xmm0, qword [edi + 0x58]
subsd xmm0, qword [edi + 0x50]
cvtpd2ps xmm1, xmm0
movsd xmm0, qword [edi + 0x50]
mulss xmm1, dword [edx + ecx]
cvtpd2ps xmm0, xmm0
addss xmm1, xmm0
movss dword [edx + ecx], xmm1
movsd xmm0, qword [edi + 0x58]
subsd xmm0, qword [edi + 0x50]
mov edx, dword [ebp - 0x1e0]
add edx, ebx
mov dword [ebp - 0x1e0], edx
cvtpd2ps xmm1, xmm0
movsd xmm0, qword [edi + 0x50]
mulss xmm1, dword [ecx]
cvtpd2ps xmm0, xmm0
addss xmm1, xmm0
movss dword [ecx], xmm1
movsd xmm0, qword [edi + 0x58]
subsd xmm0, qword [edi + 0x50]
cvtpd2ps xmm1, xmm0
movsd xmm0, qword [edi + 0x50]
mulss xmm1, dword [eax + ecx]
cvtpd2ps xmm0, xmm0
addss xmm1, xmm0
movsd xmm0, qword [ebp - 0x78]
movss dword [eax + ecx], xmm1
add ecx, 4
imul eax, dword [esi + 0x94], 6
movsd xmm1, qword [0x90dd3e0]
mov dword [ebp - 0x1d8], ecx
shr eax, 1
cmp edx, eax
jb 0x9047f6d
push 0x50
call fcn.09094540
mov dword [ebp - 0x208], eax
pop ecx
test eax, eax
je 0x9048249
push ebx
push ebx
push dword [edi + 8]
mov ecx, eax
call fcn.09094540
mov dword [ebp - 0x1dc], eax
jmp 0x9048250
and dword [ebp - 0x1dc], 0
push 0x10
call fcn.09094540
push 8
mov dword [ebp - 0x1e8], eax
and dword [eax + 8], 0
and dword [eax + 0xc], 0
mov dword [eax], 0x3f800000
mov dword [eax + 4], 0x3f800000
call fcn.09094540
mov ecx, dword [esi + 0x98]
push 0x14
mov dword [ebp - 0x1ec], eax
mov dword [eax], ecx
mov ecx, dword [esi + 0x9c]
mov dword [eax + 4], ecx
call fcn.09094540
add esp, 0xc
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x38
test eax, eax
je 0x90482c2
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x208], eax
jmp 0x90482c9
and dword [ebp - 0x208], 0
push 0x14
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x39
test eax, eax
je 0x90482fd
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1e0], eax
jmp 0x9048304
and dword [ebp - 0x1e0], 0
push 0x54
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x3a
test eax, eax
je 0x9048337
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x904833e
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x3b
test eax, eax
je 0x9048383
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x1f8]
div ecx
mov ecx, dword [ebp - 0x1d4]
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1d4], eax
jmp 0x904838a
and dword [ebp - 0x1d4], 0
push dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x2b
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1dc]
push 0
push dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [esi + 0xa0]
push 0x14
mov dword [ecx], eax
mov eax, dword [esi + 0xa4]
mov dword [ecx + 4], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x3c
test eax, eax
je 0x904841b
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x208], eax
jmp 0x9048422
and dword [ebp - 0x208], 0
push 0x14
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x9048456
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1e0], eax
jmp 0x904845d
and dword [ebp - 0x1e0], 0
push 0x54
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x9048490
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov dword [ebp - 0x1d8], eax
jmp 0x9048497
and dword [ebp - 0x1d8], 0
push 0x18
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x3f
test eax, eax
je 0x90484dc
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x200]
div ecx
mov ecx, dword [ebp - 0x1d4]
push eax
push dword [edi + 8]
call fcn.09040d9b
mov dword [ebp - 0x1d4], eax
jmp 0x90484e3
and dword [ebp - 0x1d4], 0
push dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x2b
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
push dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1dc]
push 1
push dword [ebp - 0x1d8]
call fcn.09094540
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [esi + 0xa8]
push 0x14
mov dword [ecx], eax
mov eax, dword [esi + 0xac]
mov dword [ecx + 4], eax
call fcn.09094540
pop ecx
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0x40
test eax, eax
je 0x9048574
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x208], eax
jmp 0x904857b
and dword [ebp - 0x208], 0
push 0x14
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 0x41
test eax, eax
je 0x90485af
push dword [ebp - 0x1e8]
mov ecx, eax
push 0
push dword [edi + 8]
call fcn.09040cd8
mov dword [ebp - 0x1d4], eax
jmp 0x90485b6
and dword [ebp - 0x1d4], 0
push 0x54
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x42
test eax, eax
je 0x90485e5
push dword [ebp - 0x1ec]
mov ecx, eax
push ebx
push dword [edi + 8]
call fcn.09040862
mov ebx, eax
jmp 0x90485e7
xor ebx, ebx
push 0x18
mov byte [ebp - 4], 0x2b
call fcn.09094540
pop ecx
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 0x43
test eax, eax
je 0x9048628
imul eax, dword [esi + 0x94], 6
xor edx, edx
push 6
pop ecx
push dword [ebp - 0x204]
div ecx
mov ecx, dword [ebp - 0x1e0]
push eax
push dword [edi + 8]
call fcn.09040d9b
mov esi, eax
jmp 0x904862a
xor esi, esi
push dword [ebp - 0x208]
mov ecx, ebx
mov byte [ebp - 4], 0x2b
call fcn.09094540
push esi
mov ecx, ebx
call fcn.09094540
push dword [ebp - 0x1d4]
mov ecx, ebx
call fcn.09094540
push 2
push ebx
mov ebx, dword [ebp - 0x1dc]
mov ecx, ebx
call fcn.09094540
push ebx
lea ecx, [ebp - 0x1a4]
call fcn.09094540
push dword [ebp - 0x1ec]
call fcn.090cdd07
push dword [ebp - 0x1e8]
call fcn.090cdd07
push dword [ebp - 0x1f8]
call fcn.090cdd07
push dword [ebp - 0x200]
call fcn.090cdd07
push dword [ebp - 0x204]
call fcn.090cdd07
add esp, 0x14
mov eax, dword [ebp - 0x214]
test eax, eax
je 0x90486b4
xor ebx, ebx
jmp 0x90486ce
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
xor ebx, ebx
push ebx
push eax
push dword [edi + 8]
call fcn.0901a589
add esp, 0xc
push eax
lea ecx, [ebp - 0x1f4]
call fcn.09094540
push dword [ebp - 0x1f4]
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x44
push dword [edi + 8]
call fcn.090409c5
push ebx
push ebx
push ebx
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0x1a4]
push eax
mov eax, 0x52474220
push eax
push eax
push dword [edi + 8]
call fcn.09043e7e
add esp, 0x20
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.09041374
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0x2b
call fcn.0901b71b
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1a4]
call fcn.0904144d
lea ecx, [ebp + 0xc]
call fcn.09011e88
mov eax, esi
call fcn.09006f96
ret 0x1c
push 0x7061726d
call fcn.09094540
int3