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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c0
mov eax, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x428], 0
mov eax, dword [0x5c4c24]
call eax
mov dword [esp + 0x424], eax
mov dword [esp + 0x420], 0x3c91
mov dword [esp + 0x41c], 0x5d2f
mov dword [esp + 0x418], 0x3a56
mov eax, dword [esp + 0x41c]
mov dword [esp + 0x420], eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0x4b0], xmm0
movsd xmm0, qword [esp + 0x4b0]
mov al, byte [0x5c4ae6]
movsx eax, al
mov cl, byte [0x5c4ae2]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x4a8], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x284], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x284]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x28c], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x288], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x288]
mov dl, al
mov eax, dword [esp + 0x28c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6072fc
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x278], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x278]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x27c], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x27c]
movsx ecx, cl
lea ecx, [ecx + ecx*4]
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x280], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x280]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6072f7
mov dword [esp + 0x4a4], 0
cmp dword [esp + 0x4a4], 4
jae 0x6072f2
movsd xmm0, qword [esp + 0x4a8]
cvtsi2sd xmm1, dword [esp + 0x4a4]
addsd xmm0, xmm1
movsd qword [esp + 0x270], xmm0
call fcn.005ceb20
movsd xmm0, qword [esp + 0x270]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x60725f
jp 0x60725f
movsd xmm0, qword [esp + 0x4a8]
xorps xmm1, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x4a8], xmm0
jmp 0x6070fc
movsd xmm0, qword [esp + 0x4a8]
cvtsi2sd xmm1, dword [esp + 0x4a4]
addsd xmm0, xmm1
movsd qword [esp + 0x268], xmm0
call fcn.005ceb30
movsd xmm0, qword [esp + 0x268]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x6072ed
jp 0x6072ed
mov eax, dword [esp + 0x4a4]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x4a8]
addsd xmm0, xmm1
movsd qword [esp + 0x4a8], xmm0
movsd xmm0, qword [esp + 0x4a8]
cvtsi2sd xmm1, dword [esp + 0x4a4]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4bc], eax
jmp 0x6073b7
jmp 0x607301
jmp 0x6070fc
jmp 0x607301
jmp 0x607301
movsd xmm0, qword [esp + 0x4a8]
movsd qword [esp + 0x258], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x250], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x250]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x264], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x254], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x254]
movsd xmm0, qword [esp + 0x258]
mov dl, al
mov eax, dword [esp + 0x264]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
movd xmm1, eax
movups xmm2, xmmword [0x4802c0]
por xmm1, xmm2
movsd xmm2, qword [0x4802d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x24c], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x240], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x240]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x248], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x244], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x244]
mov dl, al
mov eax, dword [esp + 0x248]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
add eax, ecx
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x24c]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x607a02
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x224], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x224]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x228], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x228]
movsx ecx, cl
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*8]
add eax, ecx
mov dword [esp + 0x22c], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x22c]
movsx ecx, cl
sub eax, ecx
shl eax, 2
mov dword [esp + 0x23c], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x230], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x230]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x238], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x234], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x234]
mov dl, al
mov eax, dword [esp + 0x238]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*4]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x23c]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
add eax, ecx
cmp eax, 0
je 0x607a02
mov dword [esp + 0x418], 0x660a
mov dword [esp + 0x414], 0x4054
mov dword [esp + 0x410], 0x9cb8
mov dword [esp + 0x40c], 0x2c5a
mov eax, dword [esp + 0x410]
mov dword [esp + 0x414], eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0x498], xmm0
movsd xmm0, qword [esp + 0x498]
mov al, byte [0x5c4ae6]
movsx eax, al
mov cl, byte [0x5c4ae2]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x490], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x218], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x218]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x220], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x21c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x21c]
mov dl, al
mov eax, dword [esp + 0x220]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6077b1
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x20c], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x20c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x210], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x210]
movsx ecx, cl
lea ecx, [ecx + ecx*4]
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x214], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x214]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6077ac
mov dword [esp + 0x48c], 0
cmp dword [esp + 0x48c], 4
jae 0x6077a7
movsd xmm0, qword [esp + 0x490]
cvtsi2sd xmm1, dword [esp + 0x48c]
addsd xmm0, xmm1
movsd qword [esp + 0x200], xmm0
call fcn.005ceb20
movsd xmm0, qword [esp + 0x200]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x607714
jp 0x607714
movsd xmm0, qword [esp + 0x490]
xorps xmm1, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x490], xmm0
jmp 0x6075b1
movsd xmm0, qword [esp + 0x490]
cvtsi2sd xmm1, dword [esp + 0x48c]
addsd xmm0, xmm1
movsd qword [esp + 0x1f8], xmm0
call fcn.005ceb30
movsd xmm0, qword [esp + 0x1f8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x6077a2
jp 0x6077a2
mov eax, dword [esp + 0x48c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x490]
addsd xmm0, xmm1
movsd qword [esp + 0x490], xmm0
movsd xmm0, qword [esp + 0x490]
cvtsi2sd xmm1, dword [esp + 0x48c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4a0], eax
jmp 0x60786c
jmp 0x6077b6
jmp 0x6075b1
jmp 0x6077b6
jmp 0x6077b6
movsd xmm0, qword [esp + 0x490]
movsd qword [esp + 0x1e8], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x1e0], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x1e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f4], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x1e4], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x1e4]
movsd xmm0, qword [esp + 0x1e8]
mov dl, al
mov eax, dword [esp + 0x1f4]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
movd xmm1, eax
movups xmm2, xmmword [0x4802c0]
por xmm1, xmm2
movsd xmm2, qword [0x4802d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x4a0]
mov dword [esp + 0x1dc], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x1d0], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x1d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1d8], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x1d4], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x1d4]
mov dl, al
mov eax, dword [esp + 0x1d8]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
add eax, ecx
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x1dc]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x6079fd
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x1b4], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x1b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b8], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x1b8]
movsx ecx, cl
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1bc], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x1bc]
movsx ecx, cl
sub eax, ecx
add eax, eax
lea eax, [eax + eax*4]
mov dword [esp + 0x1cc], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x1c0], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x1c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c8], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x1c4], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x1c4]
mov dl, al
mov eax, dword [esp + 0x1c8]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x1cc]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
add eax, ecx
cmp eax, 0
je 0x6079fd
mov dword [esp + 0x40c], 0x8af9
jmp 0x607a02
mov eax, dword [fcn.005d2e70]
mov ecx, dword [esp + 0x424]
mov dword [esp], ecx
call eax
lea ecx, [esp + 0x2b8]
lea eax, [0x48015c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x154
call fcn.004282c0
mov dword [esp + 0x2b4], 0
mov eax, dword [esp + 0x2b4]
cmp eax, 0x55
jae 0x607e8b
mov eax, dword [0x5c4aec]
mov ecx, dword [esp + 0x2b4]
mov ecx, dword [esp + ecx*4 + 0x2b8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x2b4]
mov ecx, eax
inc ecx
mov dword [esp + 0x2b4], ecx
cmp eax, 0
je 0x607e86
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x1a8], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x1a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1ac], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x1ac]
movsx ecx, cl
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*2]
mov dword [esp + 0x1b0], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x1b0]
movsx ecx, cl
sub eax, ecx
movd xmm0, eax
movups xmm1, xmmword [0x4802c0]
por xmm0, xmm1
movsd xmm1, qword [0x4802d0]
subsd xmm0, xmm1
movsd qword [esp + 0x480], xmm0
movsd xmm0, qword [esp + 0x480]
mov al, byte [0x5c4ae6]
movsx eax, al
mov cl, byte [0x5c4ae2]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x478], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x19c], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x19c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1a4], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x1a0], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x1a0]
mov dl, al
mov eax, dword [esp + 0x1a4]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x607d37
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x190], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x190]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x194], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x194]
movsx ecx, cl
lea ecx, [ecx + ecx*4]
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x198], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x198]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x607d32
mov dword [esp + 0x474], 0
cmp dword [esp + 0x474], 4
jae 0x607d2d
movsd xmm0, qword [esp + 0x478]
cvtsi2sd xmm1, dword [esp + 0x474]
addsd xmm0, xmm1
movsd qword [esp + 0x188], xmm0
call fcn.005ceb20
movsd xmm0, qword [esp + 0x188]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x607c9a
jp 0x607c9a
movsd xmm0, qword [esp + 0x478]
xorps xmm1, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x478], xmm0
jmp 0x607b37
movsd xmm0, qword [esp + 0x478]
cvtsi2sd xmm1, dword [esp + 0x474]
addsd xmm0, xmm1
movsd qword [esp + 0x180], xmm0
call fcn.005ceb30
movsd xmm0, qword [esp + 0x180]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x607d28
jp 0x607d28
mov eax, dword [esp + 0x474]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x478]
addsd xmm0, xmm1
movsd qword [esp + 0x478], xmm0
movsd xmm0, qword [esp + 0x478]
cvtsi2sd xmm1, dword [esp + 0x474]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x488], eax
jmp 0x607df2
jmp 0x607d3c
jmp 0x607b37
jmp 0x607d3c
jmp 0x607d3c
movsd xmm0, qword [esp + 0x478]
movsd qword [esp + 0x170], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x168], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x168]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17c], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x16c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x16c]
movsd xmm0, qword [esp + 0x170]
mov dl, al
mov eax, dword [esp + 0x17c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
movd xmm1, eax
movups xmm2, xmmword [0x4802c0]
por xmm1, xmm2
movsd xmm2, qword [0x4802d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x488]
mov dword [esp + 0x164], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x158], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x158]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x160], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x15c], eax
call fcn.005ceb20
mov edx, dword [esp + 0x15c]
mov cl, al
mov eax, dword [esp + 0x160]
movsx ecx, cl
imul edx, ecx
mov ecx, edx
shl ecx, 3
sub ecx, edx
add eax, ecx
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x164]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
setne al
jmp 0x607a3f
mov dword [esp + 0x2b0], 0x2afe
mov dword [esp + 0x2ac], 0x920b
mov dword [esp + 0x2a8], 0x35ac
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x2b0], eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0x468], xmm0
movsd xmm0, qword [esp + 0x468]
mov al, byte [0x5c4ae6]
movsx eax, al
mov cl, byte [0x5c4ae2]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x460], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x14c], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x14c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x154], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x150], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x150]
mov dl, al
mov eax, dword [esp + 0x154]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6080f6
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x140], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x140]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x144], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x144]
movsx ecx, cl
lea ecx, [ecx + ecx*4]
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x148], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x148]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6080f1
mov dword [esp + 0x45c], 0
cmp dword [esp + 0x45c], 4
jae 0x6080ec
movsd xmm0, qword [esp + 0x460]
cvtsi2sd xmm1, dword [esp + 0x45c]
addsd xmm0, xmm1
movsd qword [esp + 0x138], xmm0
call fcn.005ceb20
movsd xmm0, qword [esp + 0x138]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x608059
jp 0x608059
movsd xmm0, qword [esp + 0x460]
xorps xmm1, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x460], xmm0
jmp 0x607ef6
movsd xmm0, qword [esp + 0x460]
cvtsi2sd xmm1, dword [esp + 0x45c]
addsd xmm0, xmm1
movsd qword [esp + 0x130], xmm0
call fcn.005ceb30
movsd xmm0, qword [esp + 0x130]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x6080e7
jp 0x6080e7
mov eax, dword [esp + 0x45c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x460]
addsd xmm0, xmm1
movsd qword [esp + 0x460], xmm0
movsd xmm0, qword [esp + 0x460]
cvtsi2sd xmm1, dword [esp + 0x45c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x470], eax
jmp 0x6081b1
jmp 0x6080fb
jmp 0x607ef6
jmp 0x6080fb
jmp 0x6080fb
movsd xmm0, qword [esp + 0x460]
movsd qword [esp + 0x120], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x118], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x118]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x12c], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x11c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x11c]
movsd xmm0, qword [esp + 0x120]
mov dl, al
mov eax, dword [esp + 0x12c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
movd xmm1, eax
movups xmm2, xmmword [0x4802c0]
por xmm1, xmm2
movsd xmm2, qword [0x4802d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x470], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x114], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x108], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x108]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x110], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x10c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x10c]
mov dl, al
mov eax, dword [esp + 0x110]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x114]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x608c28
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0xec], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0xec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf0], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0xf0]
movsx ecx, cl
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
mov dword [esp + 0xf4], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0xf4]
movsx ecx, cl
sub eax, ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x104], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0xf8], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0xf8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x100], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0xfc], eax
call fcn.005ceb20
mov ecx, dword [esp + 0xfc]
mov dl, al
mov eax, dword [esp + 0x100]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*8]
add eax, ecx
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x104]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
add eax, ecx
cmp eax, 0
je 0x608c28
mov dword [esp + 0x2a8], 0x975e
mov dword [esp + 0x2a4], 0x8368
mov dword [esp + 0x2a0], 0x313e
mov dword [esp + 0x29c], 0x460e
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0x2a4], eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0x450], xmm0
movsd xmm0, qword [esp + 0x450]
mov al, byte [0x5c4ae6]
movsx eax, al
mov cl, byte [0x5c4ae2]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x448], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0xe0], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0xe0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe8], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0xe4], eax
call fcn.005ceb20
mov ecx, dword [esp + 0xe4]
mov dl, al
mov eax, dword [esp + 0xe8]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6085a9
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0xd4], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0xd4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xd8], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0xd8]
movsx ecx, cl
lea ecx, [ecx + ecx*4]
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xdc], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0xdc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x6085a4
mov dword [esp + 0x444], 0
cmp dword [esp + 0x444], 4
jae 0x60859f
movsd xmm0, qword [esp + 0x448]
cvtsi2sd xmm1, dword [esp + 0x444]
addsd xmm0, xmm1
movsd qword [esp + 0xc8], xmm0
call fcn.005ceb20
movsd xmm0, qword [esp + 0xc8]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x60850c
jp 0x60850c
movsd xmm0, qword [esp + 0x448]
xorps xmm1, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x448], xmm0
jmp 0x6083a9
movsd xmm0, qword [esp + 0x448]
cvtsi2sd xmm1, dword [esp + 0x444]
addsd xmm0, xmm1
movsd qword [esp + 0xc0], xmm0
call fcn.005ceb30
movsd xmm0, qword [esp + 0xc0]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x60859a
jp 0x60859a
mov eax, dword [esp + 0x444]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x448]
addsd xmm0, xmm1
movsd qword [esp + 0x448], xmm0
movsd xmm0, qword [esp + 0x448]
cvtsi2sd xmm1, dword [esp + 0x444]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x458], eax
jmp 0x608664
jmp 0x6085ae
jmp 0x6083a9
jmp 0x6085ae
jmp 0x6085ae
movsd xmm0, qword [esp + 0x448]
movsd qword [esp + 0xb0], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0xa8], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0xa8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xbc], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0xac], eax
call fcn.005ceb20
mov ecx, dword [esp + 0xac]
movsd xmm0, qword [esp + 0xb0]
mov dl, al
mov eax, dword [esp + 0xbc]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
movd xmm1, eax
movups xmm2, xmmword [0x4802c0]
por xmm1, xmm2
movsd xmm2, qword [0x4802d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x458]
mov dword [esp + 0xa4], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x98], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x98]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa0], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x9c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x9c]
mov dl, al
mov eax, dword [esp + 0xa0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*4]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0xa4]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x608c23
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x7c], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x7c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x80], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x80]
movsx ecx, cl
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov dword [esp + 0x84], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x84]
movsx ecx, cl
sub eax, ecx
lea eax, [eax + eax*8]
mov dword [esp + 0x94], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x88], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x88]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x90], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x8c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x8c]
mov dl, al
mov eax, dword [esp + 0x90]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
add eax, ecx
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x94]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
add eax, ecx
cmp eax, 0
je 0x608c23
mov dword [esp + 0x29c], 0xa656
mov dword [esp + 0x298], 0x62cf
mov dword [esp + 0x294], 0x676d
mov dword [esp + 0x290], 0x67e9
mov eax, dword [esp + 0x294]
mov dword [esp + 0x298], eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0x438], xmm0
movsd xmm0, qword [esp + 0x438]
mov al, byte [0x5c4ae6]
movsx eax, al
mov cl, byte [0x5c4ae2]
movsx ecx, cl
shl ecx, 1
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movsd qword [esp + 0x430], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x70], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x70]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x78], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x74], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x74]
mov dl, al
mov eax, dword [esp + 0x78]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x608a29
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0x64], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0x64]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x68], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x68]
movsx ecx, cl
lea ecx, [ecx + ecx*4]
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6c], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x6c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x608a24
mov dword [esp + 0x42c], 0
cmp dword [esp + 0x42c], 4
jae 0x608a1f
movsd xmm0, qword [esp + 0x430]
cvtsi2sd xmm1, dword [esp + 0x42c]
addsd xmm0, xmm1
movsd qword [esp + 0x58], xmm0
call fcn.005ceb20
movsd xmm0, qword [esp + 0x58]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x608992
jp 0x608992
movsd xmm0, qword [esp + 0x430]
xorps xmm1, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x430], xmm0
jmp 0x608859
movsd xmm0, qword [esp + 0x430]
cvtsi2sd xmm1, dword [esp + 0x42c]
addsd xmm0, xmm1
movsd qword [esp + 0x50], xmm0
call fcn.005ceb30
movsd xmm0, qword [esp + 0x50]
movsx eax, al
cvtsi2sd xmm1, eax
ucomisd xmm0, xmm1
jne 0x608a1a
jp 0x608a1a
mov eax, dword [esp + 0x42c]
and eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [esp + 0x430]
addsd xmm0, xmm1
movsd qword [esp + 0x430], xmm0
movsd xmm0, qword [esp + 0x430]
cvtsi2sd xmm1, dword [esp + 0x42c]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x440], eax
jmp 0x608acc
jmp 0x608a2e
jmp 0x608859
jmp 0x608a2e
jmp 0x608a2e
movsd xmm0, qword [esp + 0x430]
movsd qword [esp + 0x40], xmm0
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x38], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x38]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4c], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x3c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x40]
mov dl, al
mov eax, dword [esp + 0x4c]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x5c4ae0]
movsx ecx, cl
sub eax, ecx
movd xmm1, eax
movups xmm2, xmmword [0x4802c0]
por xmm1, xmm2
movsd xmm2, qword [0x4802d0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x440]
mov dword [esp + 0x34], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x28], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x30], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x2c], eax
call fcn.005ceb20
mov ecx, dword [esp + 0x2c]
mov dl, al
mov eax, dword [esp + 0x30]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x34]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
imul eax, ecx
cmp eax, 0
je 0x608c1e
mov al, byte [0x5c4ae2]
movsx eax, al
mov dword [esp + 0xc], eax
call fcn.005ceb80
mov cl, al
mov eax, dword [esp + 0xc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x10], eax
call fcn.005ceb50
mov cl, al
mov eax, dword [esp + 0x10]
movsx ecx, cl
mov dl, byte [0x5c6710]
movsx edx, dl
imul ecx, edx
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*2]
mov dword [esp + 0x14], eax
call fcn.005cebb0
mov cl, al
mov eax, dword [esp + 0x14]
movsx ecx, cl
sub eax, ecx
mov dword [esp + 0x24], eax
mov al, byte [0x5c4ae8]
movsx eax, al
mov dword [esp + 0x18], eax
call fcn.005ceb90
mov cl, al
mov eax, dword [esp + 0x18]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x20], eax
call fcn.005ceb40
movsx eax, al
mov dword [esp + 0x1c], eax
call fcn.005ceb20
mov edx, dword [esp + 0x1c]
mov cl, al
mov eax, dword [esp + 0x20]
movsx ecx, cl
imul edx, ecx
mov ecx, edx
shl ecx, 3
sub ecx, edx
add eax, ecx
mov cl, byte [0x5c4ae7]
movsx ecx, cl
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esp + 0x24]
mov dl, byte [0x5c4ae0]
movsx edx, dl
sub ecx, edx
add eax, ecx
cmp eax, 0
je 0x608c1e
mov dword [esp + 0x290], 0x6ee2
jmp 0x608c23
jmp 0x608c28
mov dword [esp], 0x1497
call fcn.00447cee
nop word cs:[eax + eax]