Function at 0x514bc0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53253d
mov eax, dword fs:[0]
push eax
sub esp, 0x53c
mov eax, dword [0x5d2280]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4e0], ecx
push 0xc
lea ecx, [ebp - 0x90]
call fcn.004a46d0
lea ecx, [ebp - 0x90]
call fcn.004e7ab0
mov dword [ebp - 4], 0
push 0x48
call fcn.00522db5
add esp, 4
mov dword [ebp - 0x4cc], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x4cc], 0
je 0x514e2f
mov byte [ebp - 0x25c], 0xbf
mov byte [ebp - 0x25b], 0xbb
mov byte [ebp - 0x25a], 0xa8
mov byte [ebp - 0x259], 0x24
mov byte [ebp - 0x258], 0x54
mov byte [ebp - 0x257], 0x32
mov byte [ebp - 0x256], 0xc3
mov byte [ebp - 0x255], 0xe4
mov byte [ebp - 0x254], 0xff
mov byte [ebp - 0x253], 0xcd
mov byte [ebp - 0x252], 0x2a
mov byte [ebp - 0x251], 0x5f
mov byte [ebp - 0x250], 0x2e
mov byte [ebp - 0x24f], 0xf2
mov byte [ebp - 0x24e], 0xf3
mov byte [ebp - 0x24d], 0xc
mov byte [ebp - 0x24c], 0x4c
mov byte [ebp - 0x24b], 0x60
mov byte [ebp - 0x24a], 0x94
mov byte [ebp - 0x249], 0xad
mov byte [ebp - 0x248], 0x5b
mov byte [ebp - 0x247], 0x49
mov byte [ebp - 0x246], 0x50
mov byte [ebp - 0x245], 0xfa
mov byte [ebp - 0x244], 0x8d
mov byte [ebp - 0x243], 0x92
mov byte [ebp - 0x242], 0xba
mov byte [ebp - 0x241], 0
mov byte [ebp - 0x240], 0x41
mov byte [ebp - 0x23f], 0x11
mov byte [ebp - 0x23e], 0xee
mov byte [ebp - 0x23d], 0xa1
mov byte [ebp - 0x27c], 0x4b
mov byte [ebp - 0x27b], 0xe4
mov byte [ebp - 0x27a], 0x8b
mov byte [ebp - 0x279], 0x6a
mov byte [ebp - 0x278], 0x92
mov byte [ebp - 0x277], 0xbc
mov byte [ebp - 0x276], 0x6d
mov byte [ebp - 0x275], 0x9b
mov byte [ebp - 0x274], 0x52
mov byte [ebp - 0x273], 0x6a
mov byte [ebp - 0x272], 0x50
mov byte [ebp - 0x271], 0x62
mov byte [ebp - 0x270], 0x6c
mov byte [ebp - 0x26f], 0x62
mov byte [ebp - 0x26e], 0xec
mov byte [ebp - 0x26d], 0x5b
mov byte [ebp - 0x26c], 0x43
mov byte [ebp - 0x26b], 0xc5
mov byte [ebp - 0x26a], 0x73
mov byte [ebp - 0x269], 0x5b
mov byte [ebp - 0x268], 0x69
mov byte [ebp - 0x267], 0x30
mov byte [ebp - 0x266], 0xbe
mov byte [ebp - 0x265], 0x79
mov byte [ebp - 0x264], 0xf4
mov byte [ebp - 0x263], 0x5e
mov byte [ebp - 0x262], 0x90
mov byte [ebp - 0x261], 0x2e
mov byte [ebp - 0x260], 0x3b
mov byte [ebp - 0x25f], 0x3a
mov byte [ebp - 0x25e], 0xef
mov byte [ebp - 0x25d], 0x54
push 0
push 1
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x25c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x27c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4cc]
call fcn.00507c80
mov dword [ebp - 0x4c8], eax
jmp 0x514e39
mov dword [ebp - 0x4c8], 0
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x500], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x4f8], ecx
lea edx, [ebp - 0x4f8]
push edx
lea ecx, [ebp - 0x90]
call fcn.00505ac0
nop
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xb8], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x21c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x204], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x204], xmm0
jmp 0x514eb7
movsd xmm0, qword [ebp - 0x204]
addsd xmm0, qword [0x534560]
movsd qword [ebp - 0x204], xmm0
movsd xmm0, qword [0x537830]
comisd xmm0, xmmword [ebp - 0x204]
jbe 0x514f68
movsd xmm0, qword [0x5377c0]
mulsd xmm0, qword [ebp - 0x204]
mulsd xmm0, qword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x204]
mulsd xmm1, qword [ebp - 0x204]
subsd xmm0, xmm1
movsd xmm1, qword [0x537710]
mulsd xmm1, qword [ebp - 0x204]
mulsd xmm1, qword [ebp - 0x204]
addsd xmm1, qword [0x537728]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x21c]
comisd xmm0, xmmword [0x537758]
jbe 0x514f63
movsd xmm0, qword [0x5376d8]
mulsd xmm0, qword [ebp - 0x204]
movsd xmm1, qword [ebp - 0x21c]
subsd xmm1, xmm0
movsd qword [ebp - 0x21c], xmm1
jmp 0x514e9f
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x21c]
jbe 0x514fa6
push ebx
push esp
dec eax
sub eax, 0x69424233
pop eax
jae 0x514fc3
cmp eax, 0x47654f48
sub esp, dword [ebx + edi*2]
dec edx
inc esp
daa
sbb ebp, dword [0x29212a16]
and al, 0x2c
sbb byte [ebx], ah
and esp, dword [eax]
sbb esp, dword [edi]
and byte [ebx], ah
push ds
and dl, byte [esi]
and eax, 0x36e9221b
sub byte [eax], al
add bh, al
test dword [eax - 1], edx
invalid
mov dword [ebp - 0xb0], 0x514f8b
mov dword [ebp - 0xb8], 0x514f75
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x4f4], ecx
mov byte [ebp - 0x1a2], 0x1a
mov dword [ebp - 0x16c], 0
jmp 0x514ff4
invalid
mov edx, dword [ebp - 0x16c]
add edx, 1
mov dword [ebp - 0x16c], edx
cmp dword [ebp - 0x16c], 0x100
jae 0x515015
mov eax, dword [ebp - 0x16c]
mov cl, byte [ebp - 0x16c]
mov byte [ebp + eax - 0x4a4], cl
jmp 0x514fe5
mov dword [ebp - 0x1dc], 0
mov byte [ebp - 0xd1], 0
mov dword [ebp - 0x16c], 0xff
jmp 0x515041
mov edx, dword [ebp - 0x16c]
sub edx, 1
mov dword [ebp - 0x16c], edx
cmp dword [ebp - 0x16c], 0
jbe 0x5152b1
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x220], 1
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x16c]
jae 0x515082
mov ecx, dword [ebp - 0x220]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x220], edx
jmp 0x515062
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x4a8], eax
cmp dword [ebp - 0x4a8], 3
ja case.default.0x5150a1
mov ecx, dword [ebp - 0x4a8]
jmp dword [ecx*4 + 0x51a98c]
movzx edx, byte [ebp - 0xd1]
movzx ebx, byte [ebp + edx - 0x4a4]
movsd xmm0, qword [ebp - 0x21c]
call fcn.00523390
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd1], bl
jmp 0x51518a
movzx eax, byte [ebp - 0xd1]
movzx ebx, byte [ebp + eax - 0x4a4]
movsd xmm0, qword [ebp - 0x21c]
call fcn.00523390
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd1], bl
jmp 0x51518a
movzx ecx, byte [ebp - 0xd1]
movzx ebx, byte [ebp + ecx - 0x4a4]
movsd xmm0, qword [ebp - 0x21c]
call fcn.00523390
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd1], bl
jmp 0x51518a
movzx edx, byte [ebp - 0xd1]
movzx ebx, byte [ebp + edx - 0x4a4]
movsd xmm0, qword [ebp - 0x21c]
call fcn.00523390
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd1], bl
jmp 0x51518a
movzx eax, byte [ebp - 0xd1]
movzx ecx, byte [ebp + eax - 0x4a4]
mov edx, dword [ebp - 0x4f4]
add edx, dword [ebp - 0x1dc]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xd1], cl
mov ecx, dword [ebp - 0x1dc]
add ecx, 1
mov dword [ebp - 0x1dc], ecx
movzx edx, byte [ebp - 0x1a2]
cmp dword [ebp - 0x1dc], edx
jb 0x5151c8
mov dword [ebp - 0x1dc], 0
movzx eax, byte [ebp - 0x1a2]
movzx ecx, byte [ebp - 0xd1]
add ecx, eax
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xd1]
and edx, dword [ebp - 0x220]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x280]
add eax, 1
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0xb
jbe 0x515207
mov eax, dword [ebp - 0x1b0]
xor edx, edx
div dword [ebp - 0x16c]
mov dword [ebp - 0x1b0], edx
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0x16c]
ja 0x515082
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x1b0]
je 0x5152ac
mov eax, dword [ebp - 0x1b0]
movzx ecx, byte [ebp + eax - 0x4a4]
mov edx, dword [ebp - 0x16c]
movzx eax, byte [ebp + edx - 0x4a4]
xor eax, ecx
mov ecx, dword [ebp - 0x16c]
mov byte [ebp + ecx - 0x4a4], al
mov edx, dword [ebp - 0x16c]
movzx eax, byte [ebp + edx - 0x4a4]
mov ecx, dword [ebp - 0x1b0]
movzx edx, byte [ebp + ecx - 0x4a4]
xor edx, eax
mov eax, dword [ebp - 0x1b0]
mov byte [ebp + eax - 0x4a4], dl
mov ecx, dword [ebp - 0x1b0]
movzx edx, byte [ebp + ecx - 0x4a4]
mov eax, dword [ebp - 0x16c]
movzx ecx, byte [ebp + eax - 0x4a4]
xor ecx, edx
mov edx, dword [ebp - 0x16c]
mov byte [ebp + edx - 0x4a4], cl
jmp 0x515032
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xba], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xbd], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xc5], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xbe], cl
movzx edx, byte [ebp - 0xd1]
mov al, byte [ebp + edx - 0x4a4]
mov byte [ebp - 0xc0], al
mov dword [ebp - 0x4c4], 0x16
cmp dword [ebp - 0x4c4], 2
jle 0x51778a
mov ecx, dword [ebp - 0x4c4]
and ecx, 1
jne 0x51778a
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xec], 0
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x148]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x130]
add eax, 0x16
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x150], 0
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x150]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x144]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], 0
mov edx, dword [ebp - 0x134]
add edx, 0x20
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
add eax, dword [ebp - 0x138]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x134]
add ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x138]
shl edx, 4
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp - 0x160]
or ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
mov byte [ebp - 0xc4], 0
mov dl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], dl
mov byte [ebp - 0xc6], 0
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x4a4]
mov dword [ebp - 0x4f0], eax
mov cl, byte [ebp - 0xba]
add cl, 1
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xbd]
add edx, dword [ebp - 0x4f0]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp - 0xc6]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xba]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp + ecx - 0x4a4]
xor edx, eax
mov byte [ebp - 0xbe], dl
mov cl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], dl
cmp dword [ebp - 0xd0], 0
jle 0x515644
movsx ax, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x148], ecx
movss xmm0, dword [0x537c84]
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [0x537c50]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [0x537c20]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [0x537be8]
movss dword [ebp - 0x1f0], xmm0
movss xmm0, dword [0x537bbc]
movss dword [ebp - 0x1a8], xmm0
movss xmm0, dword [0x537b78]
movss dword [ebp - 0x1c0], xmm0
movss xmm0, dword [0x537b44]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x1c4]
subss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [ebp - 0x198]
addss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [ebp - 0x1a8]
subss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1a8], xmm0
movss xmm0, dword [ebp - 0x1c0]
subss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1c0], xmm0
movss xmm0, dword [ebp - 0x198]
addss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [ebp - 0x198]
mulss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [ebp - 0x1a8]
subss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1a8], xmm0
movss xmm0, dword [ebp - 0x198]
comiss xmm0, dword [ebp - 0x1a8]
jbe 0x51585f
movss xmm0, dword [ebp - 0x1c0]
addss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1c0], xmm0
movss xmm0, dword [ebp - 0x1a8]
subss xmm0, dword [ebp - 0x1c0]
movss dword [ebp - 0x1a8], xmm0
movss xmm0, dword [ebp - 0x1f0]
subss xmm0, dword [ebp - 0x1a8]
movss dword [ebp - 0x1f0], xmm0
movss xmm0, dword [ebp - 0x1c4]
addss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [ebp - 0x1ec]
mulss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x1ec], xmm0
movss xmm0, dword [ebp - 0x174]
addss xmm0, dword [ebp - 0x198]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x1f0]
subss xmm0, dword [ebp - 0x1a8]
movss dword [ebp - 0x1f0], xmm0
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x148]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
jmp 0x515907
movss xmm0, dword [ebp - 0x174]
subss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x1c0]
mulss xmm0, dword [ebp - 0x198]
movss dword [ebp - 0x1c0], xmm0
movss xmm0, dword [ebp - 0x198]
addss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [ebp - 0x174]
divss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x174]
addss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x198]
mulss xmm0, dword [ebp - 0x1ec]
movss dword [ebp - 0x198], xmm0
movss xmm0, dword [ebp - 0x1a8]
subss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x130], 0x16
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x150]
movzx ecx, byte [eax]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], 0x20
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x144]
sub eax, dword [ebp - 0x134]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x138]
shl ecx, 4
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
mov cl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], cl
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x4a4]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x4a4]
mov dword [ebp - 0x4ec], edx
mov al, byte [ebp - 0xba]
add al, 1
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xbd]
add ecx, dword [ebp - 0x4ec]
mov byte [ebp - 0xbd], cl
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp - 0xc6]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp + edx - 0x4a4]
movzx edx, byte [ebp - 0xba]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4a4]
xor ecx, eax
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x4a4]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4a4]
movzx edx, byte [ebp + eax - 0x4a4]
xor ecx, edx
mov byte [ebp - 0xbe], cl
mov al, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], cl
cmp dword [ebp - 0xd0], 0
jle 0x515b25
movsx dx, byte [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x148]
movzx edx, byte [ecx]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0x16
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x134], 0x20
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x138]
shl eax, 4
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x160]
or edx, dword [ebp - 0x154]
mov dword [ebp - 0x158], edx
mov al, byte [ebp - 0x158]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x4a4]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x4a4]
mov dword [ebp - 0x4e8], ecx
mov dl, byte [ebp - 0xba]
add dl, 1
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xbd]
add eax, dword [ebp - 0x4e8]
mov byte [ebp - 0xbd], al
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp - 0xc6]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx ecx, byte [ebp - 0xba]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4a4]
xor eax, edx
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp + edx - 0x4a4]
xor eax, ecx
mov byte [ebp - 0xbe], al
mov dl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], al
cmp dword [ebp - 0xd0], 0
jle 0x515d87
movsx cx, byte [ebp - 0xc8]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0x284], ecx
jmp 0x515db6
mov edx, dword [ebp - 0x284]
add edx, 1
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0xec]
jge 0x516193
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x148]
movzx ecx, byte [eax]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0x16
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x150]
movzx edx, byte [ecx]
mov dword [ebp - 0x144], edx
movss xmm0, dword [0x537c64]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [0x5372f4]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [0x537bc4]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [0x537b64]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x18c]
mulss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [ebp - 0x1c8]
subss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x18c]
subss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [ebp - 0x1c8]
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x18c]
comiss xmm0, dword [ebp - 0x1b4]
jbe 0x515f46
movss xmm0, dword [ebp - 0x1ac]
subss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [ebp - 0x1c8]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x1ac]
addss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1c8]
subss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x134], 0x20
jmp 0x515fa6
movss xmm0, dword [ebp - 0x18c]
mulss xmm0, dword [ebp - 0x1ac]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [ebp - 0x18c]
subss xmm0, dword [ebp - 0x1ac]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [ebp - 0x1ac]
divss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x18c]
addss xmm0, dword [ebp - 0x1ac]
movss dword [ebp - 0x18c], xmm0
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x138]
shl edx, 4
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x160]
or ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
mov dl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x4a4]
mov dword [ebp - 0x520], eax
mov cl, byte [ebp - 0xba]
add cl, 1
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xbd]
add edx, dword [ebp - 0x520]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp - 0xc6]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xba]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp + ecx - 0x4a4]
xor edx, eax
mov byte [ebp - 0xbe], dl
mov cl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], dl
cmp dword [ebp - 0xd0], 0
jle 0x51618e
movsx ax, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
jmp 0x515da7
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x148]
movzx ecx, byte [eax]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0x16
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x150]
movzx edx, byte [ecx]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x134], 0x20
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x138]
shl edx, 4
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x160]
or ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
mov dl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x4a4]
mov dword [ebp - 0x51c], eax
mov cl, byte [ebp - 0xba]
add cl, 1
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xbd]
add edx, dword [ebp - 0x51c]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp - 0xc6]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xba]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp + ecx - 0x4a4]
xor edx, eax
mov byte [ebp - 0xbe], dl
mov cl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], dl
cmp dword [ebp - 0xd0], 0
jle 0x516404
movsx ax, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x148]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0x16
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x150]
movzx ecx, byte [eax]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], 0x20
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x144]
sub eax, dword [ebp - 0x134]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x138]
shl ecx, 4
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
mov cl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], cl
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x4a4]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x4a4]
mov dword [ebp - 0x4e4], edx
mov al, byte [ebp - 0xba]
add al, 1
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xbd]
add ecx, dword [ebp - 0x4e4]
mov byte [ebp - 0xbd], cl
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp - 0xc6]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp + edx - 0x4a4]
movzx edx, byte [ebp - 0xba]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4a4]
xor ecx, eax
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x4a4]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4a4]
movzx edx, byte [ebp + eax - 0x4a4]
xor ecx, edx
mov byte [ebp - 0xbe], cl
mov al, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], cl
cmp dword [ebp - 0xd0], 0
jle 0x516663
movsx dx, byte [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x148]
movzx edx, byte [ecx]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0x16
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x134], 0x20
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x138]
shl eax, 4
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x160]
or edx, dword [ebp - 0x154]
mov dword [ebp - 0x158], edx
mov al, byte [ebp - 0x158]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x4a4]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x4a4]
mov dword [ebp - 0x504], ecx
mov dl, byte [ebp - 0xba]
add dl, 1
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xbd]
add eax, dword [ebp - 0x504]
mov byte [ebp - 0xbd], al
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp - 0xc6]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx ecx, byte [ebp - 0xba]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4a4]
xor eax, edx
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp + edx - 0x4a4]
xor eax, ecx
mov byte [ebp - 0xbe], al
mov dl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], al
cmp dword [ebp - 0xd0], 0
jle 0x5168c5
movsx cx, byte [ebp - 0xc8]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0x288], ecx
jmp 0x5168f4
mov edx, dword [ebp - 0x288]
add edx, 1
mov dword [ebp - 0x288], edx
mov eax, dword [ebp - 0x288]
cmp eax, dword [ebp - 0xec]
jge 0x516b5e
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x148]
movzx ecx, byte [eax]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0x16
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x150]
movzx edx, byte [ecx]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x134], 0x20
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x138]
shl edx, 4
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x160]
or ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
mov dl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x4a4]
mov dword [ebp - 0x508], eax
mov cl, byte [ebp - 0xba]
add cl, 1
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xbd]
add edx, dword [ebp - 0x508]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp - 0xc6]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xba]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp + ecx - 0x4a4]
xor edx, eax
mov byte [ebp - 0xbe], dl
mov cl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], dl
cmp dword [ebp - 0xd0], 0
jle 0x516b59
movsx ax, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
jmp 0x5168e5
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x148]
movzx ecx, byte [eax]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0x16
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x150]
movzx edx, byte [ecx]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x134], 0x20
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x138]
shl edx, 4
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x160]
or ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
mov dl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4a4]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x4a4]
mov dword [ebp - 0x50c], eax
mov cl, byte [ebp - 0xba]
add cl, 1
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xbd]
add edx, dword [ebp - 0x50c]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4a4]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp - 0xc6]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xba]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp + ecx - 0x4a4]
xor edx, eax
mov byte [ebp - 0xbe], dl
mov cl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], dl
cmp dword [ebp - 0xd0], 0
jle 0x516dcf
movsx ax, byte [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x148]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0x16
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x150]
movzx ecx, byte [eax]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x134], 0x20
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x144]
sub eax, dword [ebp - 0x134]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x138]
shl ecx, 4
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
mov cl, byte [ebp - 0x158]
mov byte [ebp - 0xc4], cl
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x4a4]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x4a4]
mov dword [ebp - 0x510], edx
mov al, byte [ebp - 0xba]
add al, 1
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xbd]
add ecx, dword [ebp - 0x510]
mov byte [ebp - 0xbd], cl
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x4a4]
mov byte [ebp + eax - 0x4a4], cl
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp - 0xc6]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp + edx - 0x4a4]
movzx edx, byte [ebp - 0xba]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4a4]
xor ecx, eax
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x4a4]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4a4]
movzx edx, byte [ebp + eax - 0x4a4]
xor ecx, edx
mov byte [ebp - 0xbe], cl
mov al, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], cl
cmp dword [ebp - 0xd0], 0
jle 0x51702e
movsx dx, byte [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x148]
movzx edx, byte [ecx]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0x16
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x134], 0x20
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x144]
sub edx, dword [ebp - 0x134]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x138]
shl eax, 4
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x160]
or edx, dword [ebp - 0x154]
mov dword [ebp - 0x158], edx
mov al, byte [ebp - 0x158]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x4a4]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x4a4]
mov dword [ebp - 0x514], ecx
mov dl, byte [ebp - 0xba]
add dl, 1
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xbd]
add eax, dword [ebp - 0x514]
mov byte [ebp - 0xbd], al
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x4a4]
mov byte [ebp + edx - 0x4a4], al
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp - 0xc6]
mov byte [ebp + ecx - 0x4a4], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x4a4]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx ecx, byte [ebp - 0xba]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4a4]
xor eax, edx
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x4a4]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4a4]
movzx ecx, byte [ebp + edx - 0x4a4]
xor eax, ecx
mov byte [ebp - 0xbe], al
mov dl, byte [ebp - 0xc4]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xc8], al
cmp dword [ebp - 0xd0], 0
jle 0x517290
movsx cx, byte [ebp - 0xc8]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
movss xmm0, dword [0x537c88]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [0x537c44]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [0x537bfc]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [0x537bb0]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [0x537b58]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [ebp - 0x15c]
jbe 0x517416
movss xmm0, dword [ebp - 0x15c]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x140]
mulss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x140]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x140], xmm0
mov eax, 2
imul ecx, eax, 0xa
mov dword [ebp - 0x4c0], ecx
cmp dword [ebp - 0x4c0], 0x16
jae 0x5173fe
jmp 0x517404
call fcn.00522f55
nop
xor edx, edx
mov eax, dword [ebp - 0x4c0]
mov word [ebp + eax - 0x28], dx
jmp 0x517788
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x140]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
comiss xmm0, dword [ebp - 0x11c]
jbe 0x517710
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x15c]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x11c]
divss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x11c]
divss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x15c]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x15c]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x11c]
comiss xmm0, dword [ebp - 0xd8]
jbe 0x517696
movss xmm0, dword [ebp - 0xd8]
divss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xd8], xmm0
jmp 0x51770e
movss xmm0, dword [ebp - 0x11c]
divss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x140]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
jmp 0x517788
movss xmm0, dword [ebp - 0x140]
subss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x140]
divss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x15c]
divss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x15c], xmm0
jmp 0x5177dc
mov dword [ebp - 0x224], 0
jmp 0x5177a5
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0xb
jge 0x5177dc
mov edx, dword [ebp - 0x224]
shl edx, 1
mov dword [ebp - 0x4bc], edx
cmp dword [ebp - 0x4bc], 0x16
jae 0x5177c7
jmp 0x5177cd
call fcn.00522f55
nop
xor eax, eax
mov ecx, dword [ebp - 0x4bc]
mov word [ebp + ecx - 0x28], ax
jmp 0x517796
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0xa8]
call fcn.004a4b70
mov byte [ebp - 4], 2
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xac], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x214], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1fc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1fc], xmm0
jmp 0x51783e
movsd xmm0, qword [ebp - 0x1fc]
addsd xmm0, qword [0x534550]
movsd qword [ebp - 0x1fc], xmm0
movsd xmm0, qword [0x537828]
comisd xmm0, xmmword [ebp - 0x1fc]
jbe 0x5178ef
movsd xmm0, qword [0x5377b0]
mulsd xmm0, qword [ebp - 0x1fc]
mulsd xmm0, qword [ebp - 0x1fc]
movsd xmm1, qword [ebp - 0x1fc]
mulsd xmm1, qword [ebp - 0x1fc]
subsd xmm0, xmm1
movsd xmm1, qword [0x537700]
mulsd xmm1, qword [ebp - 0x1fc]
mulsd xmm1, qword [ebp - 0x1fc]
addsd xmm1, qword [0x537740]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x214]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x214]
comisd xmm0, xmmword [0x537760]
jbe 0x5178ea
movsd xmm0, qword [0x5376d0]
mulsd xmm0, qword [ebp - 0x1fc]
movsd xmm1, qword [ebp - 0x214]
subsd xmm1, xmm0
movsd qword [ebp - 0x214], xmm1
jmp 0x517826
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x214]
jbe 0x51796b
std
push cs
or al, 0xfb
or cl, bh
pop es
out dx, al
or al, 0xf1
or esi, esi
pop es
cmc
or ebp, esi
or ebx, edi
push es
int1
push es
adc edi, ecx
or edi, esp
adc edi, eax
adc bh, dl
adc edx, esi
adc ebx, esi
push cs
test byte [esi], 0xf7
adc edi, ebp
push es
not byte [eax]
cld
push es
stc
psubw mm1, qword [edx]
adc edi, esi
adc esi, ecx
adc al, dh
or al, 0xf0
pxor mm2, qword [esp + edi*8]
adc ebp, edi
adc esi, esp
invalid
mov dword [ebp - 0xb4], 0x5178fc
mov dword [ebp - 0xac], 0x517956
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x518], ecx
mov byte [ebp - 0x1a3], 0x14
mov dword [ebp - 0x170], 0
jmp 0x5179b9
mov edx, dword [ebp - 0x170]
add edx, 1
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0x100
jae 0x5179da
mov eax, dword [ebp - 0x170]
mov cl, byte [ebp - 0x170]
mov byte [ebp + eax - 0x3a4], cl
jmp 0x5179aa
mov dword [ebp - 0x1e0], 0
mov byte [ebp - 0xd2], 0
mov dword [ebp - 0x170], 0xff
jmp 0x517a06
mov edx, dword [ebp - 0x170]
sub edx, 1
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0
jbe 0x517c76
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x22c], 1
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x170]
jae 0x517a47
mov ecx, dword [ebp - 0x22c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x22c], edx
jmp 0x517a27
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x4b8], eax
cmp dword [ebp - 0x4b8], 3
ja case.default.0x517a66
mov ecx, dword [ebp - 0x4b8]
jmp dword [ecx*4 + 0x51a99c]
movzx edx, byte [ebp - 0xd2]
movzx ebx, byte [ebp + edx - 0x3a4]
movsd xmm0, qword [ebp - 0x214]
call fcn.00523390
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd2], bl
jmp 0x517b4f
movzx eax, byte [ebp - 0xd2]
movzx ebx, byte [ebp + eax - 0x3a4]
movsd xmm0, qword [ebp - 0x214]
call fcn.00523390
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd2], bl
jmp 0x517b4f
movzx ecx, byte [ebp - 0xd2]
movzx ebx, byte [ebp + ecx - 0x3a4]
movsd xmm0, qword [ebp - 0x214]
call fcn.00523390
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd2], bl
jmp 0x517b4f
movzx edx, byte [ebp - 0xd2]
movzx ebx, byte [ebp + edx - 0x3a4]
movsd xmm0, qword [ebp - 0x214]
call fcn.00523390
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd2], bl
jmp 0x517b4f
movzx eax, byte [ebp - 0xd2]
movzx ecx, byte [ebp + eax - 0x3a4]
mov edx, dword [ebp - 0x518]
add edx, dword [ebp - 0x1e0]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xd2], cl
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
movzx edx, byte [ebp - 0x1a3]
cmp dword [ebp - 0x1e0], edx
jb 0x517b8d
mov dword [ebp - 0x1e0], 0
movzx eax, byte [ebp - 0x1a3]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd2]
and edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x28c]
add eax, 1
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0xb
jbe 0x517bcc
mov eax, dword [ebp - 0x1b8]
xor edx, edx
div dword [ebp - 0x170]
mov dword [ebp - 0x1b8], edx
mov ecx, dword [ebp - 0x1b8]
cmp ecx, dword [ebp - 0x170]
ja 0x517a47
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x1b8]
je 0x517c71
mov eax, dword [ebp - 0x1b8]
movzx ecx, byte [ebp + eax - 0x3a4]
mov edx, dword [ebp - 0x170]
movzx eax, byte [ebp + edx - 0x3a4]
xor eax, ecx
mov ecx, dword [ebp - 0x170]
mov byte [ebp + ecx - 0x3a4], al
mov edx, dword [ebp - 0x170]
movzx eax, byte [ebp + edx - 0x3a4]
mov ecx, dword [ebp - 0x1b8]
movzx edx, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov eax, dword [ebp - 0x1b8]
mov byte [ebp + eax - 0x3a4], dl
mov ecx, dword [ebp - 0x1b8]
movzx edx, byte [ebp + ecx - 0x3a4]
mov eax, dword [ebp - 0x170]
movzx ecx, byte [ebp + eax - 0x3a4]
xor ecx, edx
mov edx, dword [ebp - 0x170]
mov byte [ebp + edx - 0x3a4], cl
jmp 0x5179f7
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xb9], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xbb], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc2], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xbc], cl
movzx edx, byte [ebp - 0xd2]
mov al, byte [ebp + edx - 0x3a4]
mov byte [ebp - 0xbf], al
mov dword [ebp - 0x4b4], 0x5a
cmp dword [ebp - 0x4b4], 2
jle 0x51a829
mov ecx, dword [ebp - 0x4b4]
and ecx, 1
jne 0x51a829
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0xcc]
shl eax, 1
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xf8]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xfc]
add eax, 0xee
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0xcc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x10c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x100]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x104]
add edx, 6
mov dword [ebp - 0x104], edx
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xf4], 0
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
add ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0xf0]
shl edx, 4
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x110]
or ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov byte [ebp - 0xc3], 0
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], dl
mov byte [ebp - 0xc1], 0
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3a4]
mov dword [ebp - 0x548], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x548]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xcc], 0
jle 0x51800e
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xcc]
mov word [ebp + ecx*2 - 0x86], ax
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xcc]
shl ecx, 1
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x128]
movzx eax, byte [edx]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xfc], 0xee
mov ecx, dword [ebp - 0xcc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x10c]
movzx ecx, byte [eax]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x104], 6
mov edx, dword [ebp - 0xf8]
sub edx, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0x104]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf0]
shl ecx, 4
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x110]
or eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + edx - 0x3a4]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x3a4]
mov dword [ebp - 0x524], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xbb]
add ecx, dword [ebp - 0x524]
mov byte [ebp - 0xbb], cl
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x3a4]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a4]
xor ecx, eax
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x3a4]
movzx edx, byte [ebp - 0xbf]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a4]
movzx edx, byte [ebp + eax - 0x3a4]
xor ecx, edx
mov byte [ebp - 0xbc], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], al
mov cl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], cl
cmp dword [ebp - 0xcc], 0
jle 0x518270
movsx dx, byte [ebp - 0xc7]
mov eax, dword [ebp - 0xcc]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xcc]
shl eax, 1
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xfc], 0xee
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x10c]
movzx eax, byte [edx]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], 6
mov ecx, dword [ebp - 0xf8]
sub ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x100]
sub edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf0]
shl eax, 4
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x110]
or edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + ecx - 0x3a4]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3a4]
mov dword [ebp - 0x528], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xbb]
add eax, dword [ebp - 0x528]
mov byte [ebp - 0xbb], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a4]
xor eax, edx
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx ecx, byte [ebp - 0xbf]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp + edx - 0x3a4]
xor eax, ecx
mov byte [ebp - 0xbc], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], dl
mov al, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xcc], 0
jle 0x5184d5
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xcc]
mov word [ebp + edx*2 - 0x86], cx
mov eax, dword [ebp - 0xe8]
add eax, 0x11
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0x290], ecx
jmp 0x518504
mov edx, dword [ebp - 0x290]
add edx, 1
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0x290]
cmp eax, dword [ebp - 0xe8]
jge 0x518771
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
shl edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xfc], 0xee
mov edx, dword [ebp - 0xcc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x10c]
movzx edx, byte [ecx]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x104], 6
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf0]
shl edx, 4
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x110]
or ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3a4]
mov dword [ebp - 0x52c], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x52c]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xcc], 0
jle 0x51876c
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xcc]
mov word [ebp + ecx*2 - 0x86], ax
jmp 0x5184f5
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xcc]
shl edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xfc], 0xee
mov edx, dword [ebp - 0xcc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x10c]
movzx edx, byte [ecx]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x104], 6
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf0]
shl edx, 4
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x110]
or ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3a4]
mov dword [ebp - 0x534], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x534]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xcc], 0
jle 0x5189e5
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xcc]
mov word [ebp + ecx*2 - 0x86], ax
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xcc]
shl ecx, 1
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x128]
movzx eax, byte [edx]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xfc], 0xee
mov ecx, dword [ebp - 0xcc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x10c]
movzx ecx, byte [eax]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x104], 6
mov edx, dword [ebp - 0xf8]
sub edx, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0x104]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf0]
shl ecx, 4
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x110]
or eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + edx - 0x3a4]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x3a4]
mov dword [ebp - 0x538], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xbb]
add ecx, dword [ebp - 0x538]
mov byte [ebp - 0xbb], cl
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x3a4]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a4]
xor ecx, eax
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x3a4]
movzx edx, byte [ebp - 0xbf]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a4]
movzx edx, byte [ebp + eax - 0x3a4]
xor ecx, edx
mov byte [ebp - 0xbc], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], al
mov cl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], cl
cmp dword [ebp - 0xcc], 0
jle 0x518c47
movsx dx, byte [ebp - 0xc7]
mov eax, dword [ebp - 0xcc]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
movss xmm0, dword [0x537c68]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [0x537c18]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [0x537bc8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [0x537b68]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x164]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, dword [ebp - 0x164]
jbe 0x518fe6
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
comiss xmm0, dword [ebp - 0xdc]
jbe 0x518f84
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xdc]
divss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
comiss xmm0, dword [ebp - 0x164]
jbe 0x518f22
movss xmm0, dword [ebp - 0xdc]
divss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xdc]
divss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xdc]
divss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
jmp 0x518f82
movss xmm0, dword [ebp - 0xdc]
divss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
jmp 0x518fe4
movss xmm0, dword [ebp - 0x164]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x120]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x120], xmm0
jmp 0x519054
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x164]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xe4], xmm0
mov eax, dword [ebp - 0xcc]
shl eax, 1
mov dword [ebp - 0x128], eax
movsd xmm0, qword [0x537b10]
movsd qword [ebp - 0x4d4], xmm0
movsd xmm0, qword [0x537aa0]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [0x5379c0]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [0x5378b8]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d0]
mulsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
subsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
addsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
addsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
comisd xmm0, xmmword [ebp - 0x1d8]
jbe 0x51917d
movsd xmm0, qword [ebp - 0x1d0]
subsd xmm0, qword [ebp - 0x4d4]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
mulsd xmm0, qword [ebp - 0x4d4]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d8]
subsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
mulsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x1d8], xmm0
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
mov dword [ebp - 0xf8], edx
jmp 0x5191dd
movsd xmm0, qword [ebp - 0x29c]
subsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x29c]
addsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x4d4]
subsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x4d4], xmm0
movsd xmm0, qword [ebp - 0x1d8]
mulsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x1d8], xmm0
mov dword [ebp - 0xfc], 0xee
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x10c]
movzx eax, byte [edx]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], 6
mov ecx, dword [ebp - 0xf8]
sub ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x100]
sub edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf0]
shl eax, 4
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x110]
or edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + ecx - 0x3a4]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3a4]
mov dword [ebp - 0x53c], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xbb]
add eax, dword [ebp - 0x53c]
mov byte [ebp - 0xbb], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movsd xmm0, qword [0x537b38]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [0x537ae0]
movsd qword [ebp - 0x23c], xmm0
movsd xmm0, qword [0x537a58]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [0x537998]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [0x537890]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x23c]
mulsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x23c], xmm0
movsd xmm0, qword [ebp - 0x234]
mulsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x1e8]
subsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x1e8]
subsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x234]
addsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x1e8]
comisd xmm0, xmmword [ebp - 0x23c]
jbe 0x51949b
movsd xmm0, qword [ebp - 0x1e8]
divsd xmm0, qword [ebp - 0x234]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x20c]
subsd xmm0, qword [ebp - 0x23c]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x23c]
subsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x23c], xmm0
movsd xmm0, qword [ebp - 0x20c]
mulsd xmm0, qword [ebp - 0x23c]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x20c]
subsd xmm0, qword [ebp - 0x23c]
movsd qword [ebp - 0x20c], xmm0
jmp 0x519599
movsd xmm0, qword [ebp - 0x234]
addsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x234]
subsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x234], xmm0
movsd xmm0, qword [ebp - 0x20c]
mulsd xmm0, qword [ebp - 0x1e8]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x1e8]
mulsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x1e8], xmm0
movsd xmm0, qword [ebp - 0x1e8]
addsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x1e8], xmm0
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a4]
xor eax, edx
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx ecx, byte [ebp - 0xbf]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp + edx - 0x3a4]
xor eax, ecx
mov byte [ebp - 0xbc], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], dl
mov al, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xcc], 0
jle 0x5195d0
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xcc]
mov word [ebp + edx*2 - 0x86], cx
mov eax, dword [ebp - 0xe8]
add eax, 0x12
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0x294], ecx
jmp 0x5195ff
mov edx, dword [ebp - 0x294]
add edx, 1
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x294]
cmp eax, dword [ebp - 0xe8]
jge 0x51986c
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
shl edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xfc], 0xee
mov edx, dword [ebp - 0xcc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x10c]
movzx edx, byte [ecx]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x104], 6
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf0]
shl edx, 4
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x110]
or ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3a4]
mov dword [ebp - 0x530], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x530]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xcc], 0
jle 0x519867
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xcc]
mov word [ebp + ecx*2 - 0x86], ax
jmp 0x5195f0
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xcc]
shl edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xfc], 0xee
mov edx, dword [ebp - 0xcc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x10c]
movzx edx, byte [ecx]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x104], 6
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf0]
shl edx, 4
mov dword [ebp - 0x110], edx
movsd xmm0, qword [0x537ad0]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [0x537a30]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [0x537988]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [0x537880]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x194]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x1a0]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x17c]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x17c]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x17c]
comisd xmm0, xmmword [ebp - 0x188]
jbe 0x519a4b
movsd xmm0, qword [ebp - 0x194]
subsd xmm0, qword [ebp - 0x17c]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x194]
addsd xmm0, qword [ebp - 0x17c]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x1a0]
addsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
jmp 0x519d16
movsd xmm0, qword [ebp - 0x1a0]
addsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x17c]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x17c]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x194]
divsd xmm0, qword [ebp - 0x17c]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x1a0]
subsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1a0]
comisd xmm0, xmmword [ebp - 0x17c]
jbe 0x519b82
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x17c]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x1a0]
divsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x1a0]
divsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
jmp 0x519d16
movsd xmm0, qword [ebp - 0x194]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x194]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x17c]
divsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x1a0]
addsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x188]
mulsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x1a0]
divsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x194]
comisd xmm0, xmmword [ebp - 0x188]
jbe 0x519cb6
movsd xmm0, qword [ebp - 0x194]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x194]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x194], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x194]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x194], xmm0
jmp 0x519d16
movsd xmm0, qword [ebp - 0x1a0]
addsd xmm0, qword [ebp - 0x194]
movsd qword [ebp - 0x1a0], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x17c]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x17c], xmm0
movsd xmm0, qword [ebp - 0x188]
mulsd xmm0, qword [ebp - 0x1a0]
movsd qword [ebp - 0x188], xmm0
mov ecx, dword [ebp - 0x110]
or ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3a4]
mov dword [ebp - 0x540], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x540]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xcc], 0
jle 0x519ec2
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xcc]
mov word [ebp + ecx*2 - 0x86], ax
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xcc]
shl ecx, 1
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x128]
movzx eax, byte [edx]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xfc], 0xee
mov ecx, dword [ebp - 0xcc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x10c], edx
movss xmm0, dword [0x537ca4]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [0x537c34]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [0x537bac]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x168]
mulss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x168]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x180]
addss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x124]
comiss xmm0, dword [ebp - 0x168]
jbe 0x51a0df
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x124]
mulss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x180]
mulss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x168]
mulss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x124]
divss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x124]
mulss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x168]
comiss xmm0, dword [ebp - 0x124]
jbe 0x51a095
movss xmm0, dword [ebp - 0x180]
divss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x168]
divss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x180]
mulss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x180], xmm0
jmp 0x51a0dd
movss xmm0, dword [ebp - 0x180]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x124], xmm0
jmp 0x51a13c
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [ebp - 0x180]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x180]
mulss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x180], xmm0
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x10c]
movzx ecx, byte [eax]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x104], 6
mov edx, dword [ebp - 0xf8]
sub edx, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0x104]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf0]
shl ecx, 4
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x110]
or eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + edx - 0x3a4]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x3a4]
mov dword [ebp - 0x544], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xbb]
add ecx, dword [ebp - 0x544]
mov byte [ebp - 0xbb], cl
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp + edx - 0x3a4]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x3a4]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a4]
xor ecx, eax
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x3a4]
movzx edx, byte [ebp - 0xbf]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x3a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3a4]
movzx edx, byte [ebp + eax - 0x3a4]
xor ecx, edx
mov byte [ebp - 0xbc], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], al
mov cl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], cl
cmp dword [ebp - 0xcc], 0
jle 0x51a32e
movsx dx, byte [ebp - 0xc7]
mov eax, dword [ebp - 0xcc]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xcc]
shl eax, 1
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x128]
movzx edx, byte [ecx]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xfc], 0xee
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x10c]
movzx eax, byte [edx]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x104], 6
mov ecx, dword [ebp - 0xf8]
sub ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0x100]
sub edx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf0]
shl eax, 4
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x110]
or edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + ecx - 0x3a4]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3a4]
mov dword [ebp - 0x4d8], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xbb]
add eax, dword [ebp - 0x4d8]
mov byte [ebp - 0xbb], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp + ecx - 0x3a4]
mov byte [ebp + edx - 0x3a4], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a4]
xor eax, edx
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x3a4]
movzx ecx, byte [ebp - 0xbf]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp + edx - 0x3a4]
xor eax, ecx
mov byte [ebp - 0xbc], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], dl
mov al, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xcc], 0
jle 0x51a593
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xcc]
mov word [ebp + edx*2 - 0x86], cx
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xcc]
shl edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x128]
movzx ecx, byte [eax]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xfc], 0xee
mov edx, dword [ebp - 0xcc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x10c]
movzx edx, byte [ecx]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x104], 6
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0x104]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf0]
shl edx, 4
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x110]
or ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x3a4]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3a4]
mov dword [ebp - 0x4dc], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x4dc]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x3a4]
mov byte [ebp + ecx - 0x3a4], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3a4], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3a4]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x3a4]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3a4]
movzx eax, byte [ebp + ecx - 0x3a4]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xcc], 0
jle 0x51a7f8
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xcc]
mov word [ebp + ecx*2 - 0x86], ax
mov edx, 2
imul eax, edx, 0x2c
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x4b0], 0x5a
jae 0x51a811
jmp 0x51a817
call fcn.00522f55
nop
xor ecx, ecx
mov edx, dword [ebp - 0x4b0]
mov word [ebp + edx - 0x84], cx
jmp 0x51a87e
mov dword [ebp - 0x228], 0
jmp 0x51a844
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x2d
jge 0x51a87e
mov ecx, dword [ebp - 0x228]
shl ecx, 1
mov dword [ebp - 0x4ac], ecx
cmp dword [ebp - 0x4ac], 0x5a
jae 0x51a866
jmp 0x51a86c
call fcn.00522f55
nop
xor edx, edx
mov eax, dword [ebp - 0x4ac]
mov word [ebp + eax - 0x84], dx
jmp 0x51a835
lea ecx, [ebp - 0xa8]
push ecx
push 0
push 0
lea edx, [ebp - 0x90]
push edx
push 0x100
lea eax, [ebp - 0x84]
push eax
push SysReAllocStringLen
mov ecx, dword [ebp - 0x4e0]
call fcn.005219a0
mov byte [ebp - 0x1a1], 0
mov dword [ebp - 0x1f4], 0
jmp 0x51a8ce
mov ecx, dword [ebp - 0x1f4]
add ecx, 1
mov dword [ebp - 0x1f4], ecx
lea ecx, [ebp - 0x90]
call fcn.00505af0
cmp dword [ebp - 0x1f4], eax
jae 0x51a92f
mov edx, dword [ebp - 0x1f4]
push edx
lea ecx, [ebp - 0x90]
call fcn.004eaa30
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x51a902
mov byte [ebp - 0x1a1], 1
mov ecx, dword [ebp - 0x1f4]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004eaa30
mov edx, dword [eax]
mov dword [ebp - 0x4fc], edx
push 0x48
mov eax, dword [ebp - 0x4fc]
push eax
call fcn.00522de5
add esp, 8
jmp 0x51a8bf
lea ecx, [ebp - 0x90]
call fcn.005221e0
nop
mov cl, byte [ebp - 0x1a1]
mov byte [ebp - 0x1b9], cl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa8]
call fcn.004a4bc0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.004ea9d0
mov al, byte [ebp - 0x1b9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00522be6
mov esp, ebp
pop ebp
ret