Function at 0x510e70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57e40d
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
mov eax, dword [0x59e080]
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 - 0x4c0], ecx
push 0xc
lea ecx, [ebp - 0x90]
call fcn.004aa490
lea ecx, [ebp - 0x90]
call fcn.004dd3e0
mov dword [ebp - 4], 0
push 0x48
call fcn.0051c0e5
add esp, 4
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2a0], 0
je 0x5110df
mov byte [ebp - 0x24c], 0xbf
mov byte [ebp - 0x24b], 0xbb
mov byte [ebp - 0x24a], 0xa8
mov byte [ebp - 0x249], 0x24
mov byte [ebp - 0x248], 0x54
mov byte [ebp - 0x247], 0x32
mov byte [ebp - 0x246], 0xc3
mov byte [ebp - 0x245], 0xe4
mov byte [ebp - 0x244], 0xff
mov byte [ebp - 0x243], 0xcd
mov byte [ebp - 0x242], 0x2a
mov byte [ebp - 0x241], 0x5f
mov byte [ebp - 0x240], 0x2e
mov byte [ebp - 0x23f], 0xf2
mov byte [ebp - 0x23e], 0xf3
mov byte [ebp - 0x23d], 0xc
mov byte [ebp - 0x23c], 0x4c
mov byte [ebp - 0x23b], 0x60
mov byte [ebp - 0x23a], 0x94
mov byte [ebp - 0x239], 0xad
mov byte [ebp - 0x238], 0x5b
mov byte [ebp - 0x237], 0x49
mov byte [ebp - 0x236], 0x50
mov byte [ebp - 0x235], 0xfa
mov byte [ebp - 0x234], 0x8d
mov byte [ebp - 0x233], 0x92
mov byte [ebp - 0x232], 0xba
mov byte [ebp - 0x231], 0
mov byte [ebp - 0x230], 0x41
mov byte [ebp - 0x22f], 0x11
mov byte [ebp - 0x22e], 0xee
mov byte [ebp - 0x22d], 0xa1
mov byte [ebp - 0x26c], 0x4b
mov byte [ebp - 0x26b], 0xe4
mov byte [ebp - 0x26a], 0x8b
mov byte [ebp - 0x269], 0x6a
mov byte [ebp - 0x268], 0x92
mov byte [ebp - 0x267], 0xbc
mov byte [ebp - 0x266], 0x6d
mov byte [ebp - 0x265], 0x9b
mov byte [ebp - 0x264], 0x52
mov byte [ebp - 0x263], 0x6a
mov byte [ebp - 0x262], 0x50
mov byte [ebp - 0x261], 0x62
mov byte [ebp - 0x260], 0x6c
mov byte [ebp - 0x25f], 0x62
mov byte [ebp - 0x25e], 0xec
mov byte [ebp - 0x25d], 0x5b
mov byte [ebp - 0x25c], 0x43
mov byte [ebp - 0x25b], 0xc5
mov byte [ebp - 0x25a], 0x73
mov byte [ebp - 0x259], 0x5b
mov byte [ebp - 0x258], 0x69
mov byte [ebp - 0x257], 0x30
mov byte [ebp - 0x256], 0xbe
mov byte [ebp - 0x255], 0x79
mov byte [ebp - 0x254], 0xf4
mov byte [ebp - 0x253], 0x5e
mov byte [ebp - 0x252], 0x90
mov byte [ebp - 0x251], 0x2e
mov byte [ebp - 0x250], 0x3b
mov byte [ebp - 0x24f], 0x3a
mov byte [ebp - 0x24e], 0xef
mov byte [ebp - 0x24d], 0x54
push 0
push 1
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x24c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x26c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2a0]
call fcn.00504110
mov dword [ebp - 0x29c], eax
jmp 0x5110e9
mov dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x4c4], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4bc], ecx
lea edx, [ebp - 0x4bc]
push edx
lea ecx, [ebp - 0x90]
call fcn.00502ed0
nop
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x218], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x200], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x200], xmm0
jmp 0x511167
movsd xmm0, qword [ebp - 0x200]
addsd xmm0, qword [0x5806f0]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [0x5837f8]
comisd xmm0, xmmword [ebp - 0x200]
jbe 0x511218
movsd xmm0, qword [0x583750]
mulsd xmm0, qword [ebp - 0x200]
mulsd xmm0, qword [ebp - 0x200]
movsd xmm1, qword [ebp - 0x200]
mulsd xmm1, qword [ebp - 0x200]
subsd xmm0, xmm1
movsd xmm1, qword [0x581e68]
mulsd xmm1, qword [ebp - 0x200]
mulsd xmm1, qword [ebp - 0x200]
addsd xmm1, qword [0x5836c8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x218]
comisd xmm0, xmmword [0x583728]
jbe 0x511213
movsd xmm0, qword [0x583658]
mulsd xmm0, qword [ebp - 0x200]
movsd xmm1, qword [ebp - 0x218]
subsd xmm1, xmm0
movsd qword [ebp - 0x218], xmm1
jmp 0x51114f
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x218]
jbe 0x511254
stosd dword es:[edi], eax
int1
mov dword [0xaff6a0fa], eax
out dx, al
scasd eax, dword es:[edi]
cmc
stosd dword es:[edi], eax
int1
mov byte [0xa4f5a1f0], al
in eax, dx
stosb byte es:[edi], al
mov eax, dword [0x6f7161f0]
mov eax, dword [0x6f7161f0]
xor al, 0x68
inc esi
dec eax
jge 0x5112b7
push esi
push esp
jno 0x511285
pop edi
cmp eax, 0x7770575e
jp 0x511239
lodsb al, byte [esi]
add byte es:[eax], al
mov dword [ebp - 0xb8], 0x511225
mov dword [ebp - 0xb4], 0x51123b
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x4c8], ecx
mov byte [ebp - 0x1bd], 0x18
call [eax]
mov dword [ebp - 0x140], 0
jmp 0x5112a2
mov edx, dword [ebp - 0x140]
add edx, 1
mov dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 0x100
jae 0x5112c3
mov eax, dword [ebp - 0x140]
mov cl, byte [ebp - 0x140]
mov byte [ebp + eax - 0x3ac], cl
jmp 0x511293
invalid
mov dword [ebp - 0x1f0], 0
mov byte [ebp - 0xc8], 0
mov dword [ebp - 0x140], 0xff
jmp 0x5112ef
mov edx, dword [ebp - 0x140]
sub edx, 1
mov dword [ebp - 0x140], edx
cmp dword [ebp - 0x140], 0
jbe 0x51155f
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x21c], 1
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x140]
jae 0x511330
mov ecx, dword [ebp - 0x21c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x21c], edx
jmp 0x511310
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 3
ja case.default.0x51134f
mov ecx, dword [ebp - 0x288]
jmp dword [ecx*4 + 0x515ea8]
movzx edx, byte [ebp - 0xc8]
movzx ebx, byte [ebp + edx - 0x3ac]
movsd xmm0, qword [ebp - 0x218]
call fcn.0051c6e0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x511438
movzx eax, byte [ebp - 0xc8]
movzx ebx, byte [ebp + eax - 0x3ac]
movsd xmm0, qword [ebp - 0x218]
call fcn.0051c6e0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x511438
movzx ecx, byte [ebp - 0xc8]
movzx ebx, byte [ebp + ecx - 0x3ac]
movsd xmm0, qword [ebp - 0x218]
call fcn.0051c6e0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x511438
movzx edx, byte [ebp - 0xc8]
movzx ebx, byte [ebp + edx - 0x3ac]
movsd xmm0, qword [ebp - 0x218]
call fcn.0051c6e0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x511438
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp + eax - 0x3ac]
mov edx, dword [ebp - 0x4c8]
add edx, dword [ebp - 0x1f0]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xc8], cl
mov ecx, dword [ebp - 0x1f0]
add ecx, 1
mov dword [ebp - 0x1f0], ecx
movzx edx, byte [ebp - 0x1bd]
cmp dword [ebp - 0x1f0], edx
jb 0x511476
mov dword [ebp - 0x1f0], 0
movzx eax, byte [ebp - 0x1bd]
movzx ecx, byte [ebp - 0xc8]
add ecx, eax
mov byte [ebp - 0xc8], cl
movzx edx, byte [ebp - 0xc8]
and edx, dword [ebp - 0x21c]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0xb
jbe 0x5114b5
mov eax, dword [ebp - 0x1d4]
xor edx, edx
div dword [ebp - 0x140]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [ebp - 0x140]
ja 0x511330
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x1d4]
je 0x51155a
mov eax, dword [ebp - 0x1d4]
movzx ecx, byte [ebp + eax - 0x3ac]
mov edx, dword [ebp - 0x140]
movzx eax, byte [ebp + edx - 0x3ac]
xor eax, ecx
mov ecx, dword [ebp - 0x140]
mov byte [ebp + ecx - 0x3ac], al
mov edx, dword [ebp - 0x140]
movzx eax, byte [ebp + edx - 0x3ac]
mov ecx, dword [ebp - 0x1d4]
movzx edx, byte [ebp + ecx - 0x3ac]
xor edx, eax
mov eax, dword [ebp - 0x1d4]
mov byte [ebp + eax - 0x3ac], dl
mov ecx, dword [ebp - 0x1d4]
movzx edx, byte [ebp + ecx - 0x3ac]
mov eax, dword [ebp - 0x140]
movzx ecx, byte [ebp + eax - 0x3ac]
xor ecx, edx
mov edx, dword [ebp - 0x140]
mov byte [ebp + edx - 0x3ac], cl
jmp 0x5112e0
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xb9], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xba], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xc2], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xbb], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x3ac]
mov byte [ebp - 0xbd], al
mov dword [ebp - 0x2a8], 0x16
cmp dword [ebp - 0x2a8], 2
jle 0x5138ae
mov ecx, dword [ebp - 0x2a8]
and ecx, 1
jne 0x5138ae
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xfc], 0
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x124], 0
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x158]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x124]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
add eax, 0xa0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x13c], 0
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0
mov edx, dword [ebp - 0x130]
add edx, 0xed
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x134]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x130]
add ecx, dword [ebp - 0x138]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x150], 0
mov edx, dword [ebp - 0x134]
shl edx, 4
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x150]
or ecx, dword [ebp - 0x144]
mov dword [ebp - 0x148], ecx
mov byte [ebp - 0xc3], 0
mov dl, byte [ebp - 0x148]
mov byte [ebp - 0xc3], dl
mov byte [ebp - 0xc1], 0
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3ac]
mov dword [ebp - 0x4cc], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xba]
add edx, dword [ebp - 0x4cc]
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3ac]
xor edx, ecx
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx eax, byte [ebp - 0xbd]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3ac]
movzx eax, byte [ebp + ecx - 0x3ac]
xor edx, eax
mov byte [ebp - 0xbb], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], cl
mov dl, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xd0], 0
jle 0x5118f7
movsx ax, byte [ebp - 0xc7]
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 - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x158], ecx
movss xmm0, dword [0x583a48]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [0x583a2c]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [0x583a08]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [0x5839dc]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [0x5839ac]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [0x58397c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x164]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x160]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x164]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0xf8]
comiss xmm0, dword [ebp - 0x170]
jbe 0x511c87
movss xmm0, dword [ebp - 0x154]
mulss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x11c]
divss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x164]
divss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x164]
divss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x160]
divss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x160]
divss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x164]
subss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x160]
comiss xmm0, dword [ebp - 0xf8]
jbe 0x511bf2
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x160]
subss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x154]
divss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x154], xmm0
jmp 0x511c82
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x164]
addss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x160]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x11c], xmm0
jmp 0x511d2c
movss xmm0, dword [ebp - 0x164]
subss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x11c], xmm0
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x158]
movzx eax, byte [edx]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], 0xa0
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0xed
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0x128]
mov dword [ebp - 0x134], edx
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x134]
shl ecx, 4
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x150]
or eax, dword [ebp - 0x144]
mov dword [ebp - 0x148], eax
mov cl, byte [ebp - 0x148]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + edx - 0x3ac]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x3ac]
mov dword [ebp - 0x4d0], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xba]
add ecx, dword [ebp - 0x4d0]
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x3ac]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp + edx - 0x3ac]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x3ac]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x3ac]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x3ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3ac]
xor ecx, eax
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x3ac]
movzx edx, byte [ebp - 0xbd]
movzx edx, byte [ebp + edx - 0x3ac]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x3ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3ac]
movzx edx, byte [ebp + eax - 0x3ac]
xor ecx, edx
mov byte [ebp - 0xbb], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], al
mov cl, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], cl
cmp dword [ebp - 0xd0], 0
jle 0x511f4a
movsx dx, byte [ebp - 0xc7]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
mov ecx, dword [ebp - 0xfc]
add ecx, 2
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0x284], edx
jmp 0x511f79
mov eax, dword [ebp - 0x284]
add eax, 1
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x284]
cmp ecx, dword [ebp - 0xfc]
jge 0x5121e3
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x158]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0xa0
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0xed
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x134]
shl eax, 4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x150]
or edx, dword [ebp - 0x144]
mov dword [ebp - 0x148], edx
mov al, byte [ebp - 0x148]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + ecx - 0x3ac]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3ac]
mov dword [ebp - 0x4d4], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xba]
add eax, dword [ebp - 0x4d4]
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
xor eax, edx
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xbd]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp + edx - 0x3ac]
xor eax, ecx
mov byte [ebp - 0xbb], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], dl
mov al, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xd0], 0
jle 0x5121de
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
jmp 0x511f6a
mov eax, dword [ebp - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x158]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0xa0
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0xed
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x134], ecx
movss xmm0, dword [0x583a58]
movss dword [ebp - 0x220], xmm0
movss xmm0, dword [0x583a3c]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [0x5839f8]
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [0x5839a4]
movss dword [ebp - 0x1bc], xmm0
movss xmm0, dword [ebp - 0x1ac]
subss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1ac]
addss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1ac]
addss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1d0]
addss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [ebp - 0x1bc]
comiss xmm0, dword [ebp - 0x1ac]
jbe 0x512391
movss xmm0, dword [ebp - 0x1bc]
divss xmm0, dword [ebp - 0x220]
movss dword [ebp - 0x1bc], xmm0
movss xmm0, dword [ebp - 0x1bc]
divss xmm0, dword [ebp - 0x220]
movss dword [ebp - 0x1bc], xmm0
movss xmm0, dword [ebp - 0x1d0]
subss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [ebp - 0x1ac]
divss xmm0, dword [ebp - 0x1d0]
movss dword [ebp - 0x1ac], xmm0
jmp 0x512403
movss xmm0, dword [ebp - 0x1ac]
mulss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1d0]
mulss xmm0, dword [ebp - 0x220]
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [ebp - 0x1ac]
addss xmm0, dword [ebp - 0x1bc]
movss dword [ebp - 0x1ac], xmm0
movss xmm0, dword [ebp - 0x1d0]
subss xmm0, dword [ebp - 0x220]
movss dword [ebp - 0x1d0], xmm0
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x134]
shl eax, 4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x150]
or edx, dword [ebp - 0x144]
mov dword [ebp - 0x148], edx
mov al, byte [ebp - 0x148]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + ecx - 0x3ac]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3ac]
mov dword [ebp - 0x4d8], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xba]
add eax, dword [ebp - 0x4d8]
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
xor eax, edx
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xbd]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp + edx - 0x3ac]
xor eax, ecx
mov byte [ebp - 0xbb], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], dl
mov al, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xd0], 0
jle 0x5125c7
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x158]
movzx ecx, byte [eax]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0xa0
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0xed
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x134]
shl edx, 4
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x150]
or ecx, dword [ebp - 0x144]
mov dword [ebp - 0x148], ecx
mov dl, byte [ebp - 0x148]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3ac]
mov dword [ebp - 0x4dc], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xba]
add edx, dword [ebp - 0x4dc]
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3ac]
xor edx, ecx
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx eax, byte [ebp - 0xbd]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3ac]
movzx eax, byte [ebp + ecx - 0x3ac]
xor edx, eax
mov byte [ebp - 0xbb], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], cl
mov dl, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xd0], 0
jle 0x512829
movsx ax, byte [ebp - 0xc7]
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 - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x158]
movzx eax, byte [edx]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], 0xa0
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x13c]
movzx ecx, byte [eax]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x130], 0xed
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0x128]
mov dword [ebp - 0x134], edx
movsd xmm0, qword [0x583920]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [0x5838b0]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [0x583848]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [0x5837b0]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1e4]
mulsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x1ec]
subsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1b8]
subsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1e4]
addsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x1e4]
comisd xmm0, xmmword [ebp - 0x1cc]
jbe 0x5129de
movsd xmm0, qword [ebp - 0x1b8]
addsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1cc]
subsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1b8]
mulsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1b8], xmm0
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
jmp 0x512b72
movsd xmm0, qword [ebp - 0x1cc]
divsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1cc]
subsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1ec]
divsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1cc]
divsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1cc]
divsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1b8]
divsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1b8]
subsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1e4]
comisd xmm0, xmmword [ebp - 0x1ec]
jbe 0x512b12
movsd xmm0, qword [ebp - 0x1b8]
subsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1b8]
mulsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1cc]
subsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x1cc], xmm0
jmp 0x512b72
movsd xmm0, qword [ebp - 0x1b8]
subsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1b8]
addsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1e4]
addsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1e4], xmm0
mov ecx, dword [ebp - 0x134]
shl ecx, 4
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x150]
or eax, dword [ebp - 0x144]
mov dword [ebp - 0x148], eax
mov cl, byte [ebp - 0x148]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + edx - 0x3ac]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x3ac]
mov dword [ebp - 0x4e0], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xba]
add ecx, dword [ebp - 0x4e0]
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x3ac]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp + edx - 0x3ac]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x3ac]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x3ac]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x3ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3ac]
xor ecx, eax
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x3ac]
movzx edx, byte [ebp - 0xbd]
movzx edx, byte [ebp + edx - 0x3ac]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x3ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3ac]
movzx edx, byte [ebp + eax - 0x3ac]
xor ecx, edx
mov byte [ebp - 0xbb], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], al
mov cl, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], cl
cmp dword [ebp - 0xd0], 0
jle 0x512d33
movsx dx, byte [ebp - 0xc7]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
mov ecx, dword [ebp - 0xfc]
add ecx, 2
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0x280], edx
jmp 0x512d62
mov eax, dword [ebp - 0x280]
add eax, 1
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x280]
cmp ecx, dword [ebp - 0xfc]
jge 0x512fcc
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x158]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0xa0
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0xed
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x134]
shl eax, 4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x150]
or edx, dword [ebp - 0x144]
mov dword [ebp - 0x148], edx
mov al, byte [ebp - 0x148]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + ecx - 0x3ac]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3ac]
mov dword [ebp - 0x4e8], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xba]
add eax, dword [ebp - 0x4e8]
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
xor eax, edx
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xbd]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp + edx - 0x3ac]
xor eax, ecx
mov byte [ebp - 0xbb], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], dl
mov al, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xd0], 0
jle 0x512fc7
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
jmp 0x512d53
mov eax, dword [ebp - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x158]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0xa0
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x15c]
add edx, dword [ebp - 0x13c]
movzx eax, byte [edx]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0xed
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x130]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x134]
shl eax, 4
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x150]
or edx, dword [ebp - 0x144]
mov dword [ebp - 0x148], edx
mov al, byte [ebp - 0x148]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + ecx - 0x3ac]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x3ac]
mov dword [ebp - 0x4ec], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xba]
add eax, dword [ebp - 0x4ec]
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movss xmm0, dword [0x583a44]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x583a1c]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [0x5839d4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [0x583994]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
comiss xmm0, dword [ebp - 0xe8]
jbe 0x51349a
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
comiss xmm0, dword [ebp - 0xe0]
jbe 0x513438
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x120]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x120]
comiss xmm0, dword [ebp - 0xe8]
jbe 0x5133d6
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x120], xmm0
jmp 0x513436
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
jmp 0x513498
movss xmm0, dword [ebp - 0x120]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0x120], xmm0
jmp 0x513516
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe0], xmm0
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x3ac]
mov byte [ebp + edx - 0x3ac], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
xor eax, edx
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x3ac]
movzx ecx, byte [ebp - 0xbd]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x3ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp + edx - 0x3ac]
xor eax, ecx
mov byte [ebp - 0xbb], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], dl
mov al, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], al
cmp dword [ebp - 0xd0], 0
jle 0x51361e
movsx cx, byte [ebp - 0xc7]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x158]
movzx ecx, byte [eax]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0xa0
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x15c]
add ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x130], 0xed
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x134]
shl edx, 4
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x150]
or ecx, dword [ebp - 0x144]
mov dword [ebp - 0x148], ecx
mov dl, byte [ebp - 0x148]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + eax - 0x3ac]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x3ac]
mov dword [ebp - 0x4f0], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xba]
add edx, dword [ebp - 0x4f0]
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x3ac]
mov byte [ebp + ecx - 0x3ac], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x3ac], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x3ac]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3ac]
xor edx, ecx
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x3ac]
movzx eax, byte [ebp - 0xbd]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x3ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3ac]
movzx eax, byte [ebp + ecx - 0x3ac]
xor edx, eax
mov byte [ebp - 0xbb], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbd], cl
mov dl, byte [ebp - 0xbb]
mov byte [ebp - 0xc7], dl
cmp dword [ebp - 0xd0], 0
jle 0x513880
movsx ax, byte [ebp - 0xc7]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
mov edx, 2
imul eax, edx, 0xa
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0x16
jae 0x513899
jmp 0x51389f
call fcn.0051c285
nop
xor ecx, ecx
mov edx, dword [ebp - 0x2ac]
mov word [ebp + edx - 0x28], cx
jmp 0x513900
mov dword [ebp - 0x224], 0
jmp 0x5138c9
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0xb
jge 0x513900
mov ecx, dword [ebp - 0x224]
shl ecx, 1
mov dword [ebp - 0x2a4], ecx
cmp dword [ebp - 0x2a4], 0x16
jae 0x5138eb
jmp 0x5138f1
call fcn.0051c285
nop
xor edx, edx
mov eax, dword [ebp - 0x2a4]
mov word [ebp + eax - 0x28], dx
jmp 0x5138ba
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.004aa930
mov byte [ebp - 4], 2
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x210], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x208], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x208], xmm0
jmp 0x513962
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [0x580ab8]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [0x583810]
comisd xmm0, xmmword [ebp - 0x208]
jbe 0x513a13
movsd xmm0, qword [0x583768]
mulsd xmm0, qword [ebp - 0x208]
mulsd xmm0, qword [ebp - 0x208]
movsd xmm1, qword [ebp - 0x208]
mulsd xmm1, qword [ebp - 0x208]
subsd xmm0, xmm1
movsd xmm1, qword [0x583698]
mulsd xmm1, qword [ebp - 0x208]
mulsd xmm1, qword [ebp - 0x208]
addsd xmm1, qword [0x5836d8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x210]
comisd xmm0, xmmword [0x583700]
jbe 0x513a0e
movsd xmm0, qword [0x583670]
mulsd xmm0, qword [ebp - 0x208]
movsd xmm1, qword [ebp - 0x210]
subsd xmm1, xmm0
movsd qword [ebp - 0x210], xmm1
jmp 0x51394a
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x210]
jbe 0x513a92
popal
dec eax
inc ecx
inc ebx
pop esp
xor eax, dword [esp + ebx*2 + 0x34]
inc ebp
dec edi
and byte [ecx + esi + 0x62], dl
jno 0x513aa9
sub eax, 0x2d4d294f
dec esp
and edx, dword [edi + 0x2e]
push ecx
sub cl, byte [esi + 0x22]
push esi
and al, 0x51
daa
dec edi
sub byte [edi + 0x28], cl
push esp
sub edx, dword [eax + 0x30]
push ecx
and edx, dword [eax + 0x2e]
pop edx
and eax, 0x245a2a53
dec ebp
and dl, byte [ebx + 0x26]
push edi
and al, 0x4d
push ebp
and al, 0x4e
sub al, 0x59
and dword [edx + 0x28], edx
dec esi
and dword [ecx + 0x25], edx
push esi
and edx, dword [eax + 0x2d]
push edi
sub ecx, dword [esi + 0x2c]
dec esi
daa
push edi
sub edx, dword [ebp + 0x25]
dec edi
and edx, dword [ebp + 0x22]
push edx
and dword [ebp + 0x28], edx
push esp
dec ebp
and eax, 0x254f2d55
push esi
xor byte [ecx + 0x2e], dl
dec esi
jmp 0x515d99
mov dword [ebp - 0xb0], 0x513a33
mov dword [ebp - 0xac], 0x513a20
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 0x1be], 0x17
mov dword [ebp - 0x14c], 0
jmp 0x513ae0
invalid
mov ecx, dword [ebp - 0x14c]
add ecx, 1
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0x100
jae 0x513b01
mov edx, dword [ebp - 0x14c]
mov al, byte [ebp - 0x14c]
mov byte [ebp + edx - 0x4ac], al
jmp 0x513ad1
mov dword [ebp - 0x1f4], 0
mov byte [ebp - 0xc9], 0
mov dword [ebp - 0x14c], 0xff
jmp 0x513b2d
mov ecx, dword [ebp - 0x14c]
sub ecx, 1
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0
jbe 0x513d9d
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x228], 1
mov edx, dword [ebp - 0x228]
cmp edx, dword [ebp - 0x14c]
jae 0x513b6e
mov eax, dword [ebp - 0x228]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x228], ecx
jmp 0x513b4e
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 3
ja case.default.0x513b8d
mov eax, dword [ebp - 0x28c]
jmp dword [eax*4 + 0x515eb8]
movzx ecx, byte [ebp - 0xc9]
movzx ebx, byte [ebp + ecx - 0x4ac]
movsd xmm0, qword [ebp - 0x210]
call fcn.0051c6e0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc9], bl
jmp 0x513c76
movzx edx, byte [ebp - 0xc9]
movzx ebx, byte [ebp + edx - 0x4ac]
movsd xmm0, qword [ebp - 0x210]
call fcn.0051c6e0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc9], bl
jmp 0x513c76
movzx eax, byte [ebp - 0xc9]
movzx ebx, byte [ebp + eax - 0x4ac]
movsd xmm0, qword [ebp - 0x210]
call fcn.0051c6e0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc9], bl
jmp 0x513c76
movzx ecx, byte [ebp - 0xc9]
movzx ebx, byte [ebp + ecx - 0x4ac]
movsd xmm0, qword [ebp - 0x210]
call fcn.0051c6e0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc9], bl
jmp 0x513c76
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x4ac]
mov ecx, dword [ebp - 0x4f4]
add ecx, dword [ebp - 0x1f4]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0xc9], al
mov eax, dword [ebp - 0x1f4]
add eax, 1
mov dword [ebp - 0x1f4], eax
movzx ecx, byte [ebp - 0x1be]
cmp dword [ebp - 0x1f4], ecx
jb 0x513cb4
mov dword [ebp - 0x1f4], 0
movzx edx, byte [ebp - 0x1be]
movzx eax, byte [ebp - 0xc9]
add eax, edx
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc9]
and ecx, dword [ebp - 0x228]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x27c]
add edx, 1
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 0xb
jbe 0x513cf3
mov eax, dword [ebp - 0x1d8]
xor edx, edx
div dword [ebp - 0x14c]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1d8]
cmp eax, dword [ebp - 0x14c]
ja 0x513b6e
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x1d8]
je 0x513d98
mov edx, dword [ebp - 0x1d8]
movzx eax, byte [ebp + edx - 0x4ac]
mov ecx, dword [ebp - 0x14c]
movzx edx, byte [ebp + ecx - 0x4ac]
xor edx, eax
mov eax, dword [ebp - 0x14c]
mov byte [ebp + eax - 0x4ac], dl
mov ecx, dword [ebp - 0x14c]
movzx edx, byte [ebp + ecx - 0x4ac]
mov eax, dword [ebp - 0x1d8]
movzx ecx, byte [ebp + eax - 0x4ac]
xor ecx, edx
mov edx, dword [ebp - 0x1d8]
mov byte [ebp + edx - 0x4ac], cl
mov eax, dword [ebp - 0x1d8]
movzx ecx, byte [ebp + eax - 0x4ac]
mov edx, dword [ebp - 0x14c]
movzx eax, byte [ebp + edx - 0x4ac]
xor eax, ecx
mov ecx, dword [ebp - 0x14c]
mov byte [ebp + ecx - 0x4ac], al
jmp 0x513b1e
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xbc], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xbe], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xc5], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xbf], al
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp + ecx - 0x4ac]
mov byte [ebp - 0xc0], dl
mov dword [ebp - 0x290], 0x5a
cmp dword [ebp - 0x290], 2
jle 0x515d44
mov eax, dword [ebp - 0x290]
and eax, 1
jne 0x515d44
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0xd4]
shl edx, 1
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x1a8]
add eax, dword [ebp - 0x1a4]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x188]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x174], 0
mov edx, dword [ebp - 0x174]
add edx, 0x21
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x178], 0
mov edx, dword [ebp - 0x1a8]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x178]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x17c]
add ecx, 0x4b
mov dword [ebp - 0x17c], ecx
mov dword [ebp - 0x180], 0
mov edx, dword [ebp - 0x188]
sub edx, dword [ebp - 0x174]
add edx, dword [ebp - 0x180]
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x178]
sub eax, dword [ebp - 0x17c]
add eax, dword [ebp - 0x184]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x180]
shl ecx, 4
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x190]
or eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov byte [ebp - 0xc6], 0
mov cl, byte [ebp - 0x198]
mov byte [ebp - 0xc6], cl
mov byte [ebp - 0xc4], 0
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x4ac]
mov dword [ebp - 0x4f8], edx
mov al, byte [ebp - 0xbc]
add al, 1
mov byte [ebp - 0xbc], al
movzx ecx, byte [ebp - 0xbe]
add ecx, dword [ebp - 0x4f8]
mov byte [ebp - 0xbe], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbf]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp - 0xc4]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x4ac]
movzx edx, byte [ebp - 0xbc]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4ac]
xor ecx, eax
movzx edx, byte [ebp - 0xbf]
movzx eax, byte [ebp + edx - 0x4ac]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4ac]
movzx edx, byte [ebp + eax - 0x4ac]
xor ecx, edx
mov byte [ebp - 0xbf], cl
mov al, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbf]
mov byte [ebp - 0xca], cl
cmp dword [ebp - 0xd4], 0
jle 0x514130
movsx dx, byte [ebp - 0xca]
mov eax, dword [ebp - 0xd4]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x118]
add edx, 1
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a8]
add ecx, dword [ebp - 0x1a4]
movzx edx, byte [ecx]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x174], 0x21
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x1a8]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x17c], 0x4b
mov ecx, dword [ebp - 0x188]
sub ecx, dword [ebp - 0x174]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x17c]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x180]
shl eax, 4
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x190]
or edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], edx
mov al, byte [ebp - 0x198]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x4ac]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x4ac]
mov dword [ebp - 0x4fc], ecx
mov dl, byte [ebp - 0xbc]
add dl, 1
mov byte [ebp - 0xbc], dl
movzx eax, byte [ebp - 0xbe]
add eax, dword [ebp - 0x4fc]
mov byte [ebp - 0xbe], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xbf]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp - 0xc4]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x4ac]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx ecx, byte [ebp - 0xbc]
movzx ecx, byte [ebp + ecx - 0x4ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4ac]
xor eax, edx
movzx ecx, byte [ebp - 0xbf]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x4ac]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4ac]
movzx ecx, byte [ebp + edx - 0x4ac]
xor eax, ecx
mov byte [ebp - 0xbf], al
mov dl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbf]
mov byte [ebp - 0xca], al
cmp dword [ebp - 0xd4], 0
jle 0x514395
movsx cx, byte [ebp - 0xca]
mov edx, dword [ebp - 0xd4]
mov word [ebp + edx*2 - 0x86], cx
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0xd4]
shl edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a8]
add eax, dword [ebp - 0x1a4]
movzx ecx, byte [eax]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x174], 0x21
mov edx, dword [ebp - 0xd4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x1a8]
add ecx, dword [ebp - 0x18c]
movzx edx, byte [ecx]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x17c], 0x4b
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x174]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x178]
sub ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x180]
shl edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x190]
or ecx, dword [ebp - 0x194]
mov dword [ebp - 0x198], ecx
mov dl, byte [ebp - 0x198]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4ac]
mov byte [ebp - 0xc4], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x4ac]
mov dword [ebp - 0x500], eax
mov cl, byte [ebp - 0xbc]
add cl, 1
mov byte [ebp - 0xbc], cl
movzx edx, byte [ebp - 0xbe]
add edx, dword [ebp - 0x500]
mov byte [ebp - 0xbe], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4ac]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xbf]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4ac]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x4ac]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp - 0xc4]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp + edx - 0x4ac]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4ac]
movzx eax, byte [ebp - 0xbc]
movzx eax, byte [ebp + eax - 0x4ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4ac]
xor edx, ecx
movzx eax, byte [ebp - 0xbf]
movzx ecx, byte [ebp + eax - 0x4ac]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4ac]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4ac]
movzx eax, byte [ebp + ecx - 0x4ac]
xor edx, eax
mov byte [ebp - 0xbf], dl
mov cl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbf]
mov byte [ebp - 0xca], dl
cmp dword [ebp - 0xd4], 0
jle 0x5145fa
movsx ax, byte [ebp - 0xca]
mov ecx, dword [ebp - 0xd4]
mov word [ebp + ecx*2 - 0x86], ax
movss xmm0, dword [0x583a28]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [0x583a00]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [0x5839d0]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x5839a8]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [0x583978]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x19c]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x1c4]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [ebp - 0x10c]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x19c]
comiss xmm0, dword [ebp - 0xf4]
jbe 0x514763
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x1c4]
subss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x10c]
subss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x10c], xmm0
mov edx, dword [ebp - 0x118]
add edx, 0x14
mov dword [ebp - 0x118], edx
jmp 0x514956
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x1c4]
addss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x1c4], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x114]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0xf4]
divss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x114]
divss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x19c]
divss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x19c]
divss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x10c]
comiss xmm0, dword [ebp - 0xf4]
jbe 0x5148de
movss xmm0, dword [ebp - 0x114]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x19c]
mulss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x10c]
subss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0xf4]
mulss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0xf4], xmm0
jmp 0x514956
movss xmm0, dword [ebp - 0x10c]
mulss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x10c]
divss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [ebp - 0x1c4]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x19c]
subss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0x114], xmm0
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0x278], eax
jmp 0x514976
mov ecx, dword [ebp - 0x278]
add ecx, 1
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0x278]
cmp edx, dword [ebp - 0x118]
jge 0x514be0
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
shl ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a8]
add edx, dword [ebp - 0x1a4]
movzx eax, byte [edx]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x174], 0x21
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x1a8]
add eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x17c], 0x4b
mov edx, dword [ebp - 0x188]
sub edx, dword [ebp - 0x174]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x178]
sub eax, dword [ebp - 0x17c]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x180]
shl ecx, 4
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x190]
or eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov cl, byte [ebp - 0x198]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x4ac]
mov dword [ebp - 0x4b0], edx
mov al, byte [ebp - 0xbc]
add al, 1
mov byte [ebp - 0xbc], al
movzx ecx, byte [ebp - 0xbe]
add ecx, dword [ebp - 0x4b0]
mov byte [ebp - 0xbe], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbf]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp - 0xc4]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x4ac]
movzx edx, byte [ebp - 0xbc]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4ac]
xor ecx, eax
movzx edx, byte [ebp - 0xbf]
movzx eax, byte [ebp + edx - 0x4ac]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4ac]
movzx edx, byte [ebp + eax - 0x4ac]
xor ecx, edx
mov byte [ebp - 0xbf], cl
mov al, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbf]
mov byte [ebp - 0xca], cl
cmp dword [ebp - 0xd4], 0
jle 0x514bdb
movsx dx, byte [ebp - 0xca]
mov eax, dword [ebp - 0xd4]
mov word [ebp + eax*2 - 0x86], dx
jmp 0x514967
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
movss xmm0, dword [0x583a54]
movss dword [ebp - 0x16c], xmm0
movss xmm0, dword [0x583a40]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [0x583a20]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [0x5839ec]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [0x5839b8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x583984]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
comiss xmm0, dword [ebp - 0xf0]
jbe 0x514d98
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
jmp 0x5151bc
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xdc]
divss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xf0]
comiss xmm0, dword [ebp - 0xd8]
jbe 0x51512c
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x16c]
subss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x16c], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x16c]
subss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x16c], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x108]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xec]
comiss xmm0, dword [ebp - 0xdc]
jbe 0x515097
movss xmm0, dword [ebp - 0xd8]
divss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x108]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x16c]
divss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0x16c], xmm0
jmp 0x515127
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xd8]
divss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x108]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0x16c]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xf0], xmm0
jmp 0x5151bc
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
divss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xdc], xmm0
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0xd4]
shl ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a8]
add edx, dword [ebp - 0x1a4]
movzx eax, byte [edx]
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x174], 0x21
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x1a8]
add eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x17c], 0x4b
movss xmm0, dword [0x583a24]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [0x5839fc]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [0x5839e0]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [0x5839bc]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0x583998]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [0x583970]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x110]
comiss xmm0, dword [ebp - 0x168]
jbe 0x51558b
movss xmm0, dword [ebp - 0x1a0]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x1b0]
mulss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x1b0]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x110]
mulss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x1a0]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x168]
comiss xmm0, dword [ebp - 0x104]
jbe 0x5154f6
movss xmm0, dword [ebp - 0x104]
divss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x1b0]
divss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x100]
divss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x1a0]
divss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x110]
mulss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x110], xmm0
jmp 0x515586
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x1a0]
divss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x168]
mulss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x110]
subss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x168]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
jmp 0x51562d
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x1a0]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x1b0]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x110]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x110]
addss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x110], xmm0
mov edx, dword [ebp - 0x188]
sub edx, dword [ebp - 0x174]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x178]
sub eax, dword [ebp - 0x17c]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x180]
shl ecx, 4
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x190]
or eax, dword [ebp - 0x194]
mov dword [ebp - 0x198], eax
mov cl, byte [ebp - 0x198]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x4ac]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x4ac]
mov dword [ebp - 0x4b4], edx
mov al, byte [ebp - 0xbc]
add al, 1
mov byte [ebp - 0xbc], al
movzx ecx, byte [ebp - 0xbe]
add ecx, dword [ebp - 0x4b4]
mov byte [ebp - 0xbe], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbf]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x4ac]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp - 0xc4]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x4ac]
movzx edx, byte [ebp - 0xbc]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4ac]
xor ecx, eax
movzx edx, byte [ebp - 0xbf]
movzx eax, byte [ebp + edx - 0x4ac]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4ac]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4ac]
movzx edx, byte [ebp + eax - 0x4ac]
xor ecx, edx
mov byte [ebp - 0xbf], cl
mov al, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbf]
mov byte [ebp - 0xca], cl
cmp dword [ebp - 0xd4], 0
jle 0x515803
movsx dx, byte [ebp - 0xca]
mov eax, dword [ebp - 0xd4]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x118]
add edx, 1
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a8]
add ecx, dword [ebp - 0x1a4]
movzx edx, byte [ecx]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x174], 0x21
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x1a8]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x17c], 0x4b
mov ecx, dword [ebp - 0x188]
sub ecx, dword [ebp - 0x174]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x17c]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x180]
shl eax, 4
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x190]
or edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], edx
mov al, byte [ebp - 0x198]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x4ac]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x4ac]
mov dword [ebp - 0x4b8], ecx
mov dl, byte [ebp - 0xbc]
add dl, 1
mov byte [ebp - 0xbc], dl
movzx eax, byte [ebp - 0xbe]
add eax, dword [ebp - 0x4b8]
mov byte [ebp - 0xbe], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xbf]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + ecx - 0x4ac]
mov byte [ebp + edx - 0x4ac], al
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp - 0xc4]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x4ac]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx ecx, byte [ebp - 0xbc]
movzx ecx, byte [ebp + ecx - 0x4ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4ac]
xor eax, edx
movzx ecx, byte [ebp - 0xbf]
movzx edx, byte [ebp + ecx - 0x4ac]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x4ac]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4ac]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4ac]
movzx ecx, byte [ebp + edx - 0x4ac]
xor eax, ecx
mov byte [ebp - 0xbf], al
mov dl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbf]
mov byte [ebp - 0xca], al
cmp dword [ebp - 0xd4], 0
jle 0x515a68
movsx cx, byte [ebp - 0xca]
mov edx, dword [ebp - 0xd4]
mov word [ebp + edx*2 - 0x86], cx
mov eax, dword [ebp - 0x118]
add eax, 0x14
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0x274], ecx
jmp 0x515a97
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x118]
jge 0x515d04
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
shl edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a8]
add eax, dword [ebp - 0x1a4]
movzx ecx, byte [eax]
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x174], 0x21
mov edx, dword [ebp - 0xd4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x1a8]
add ecx, dword [ebp - 0x18c]
movzx edx, byte [ecx]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x17c], 0x4b
mov eax, dword [ebp - 0x188]
sub eax, dword [ebp - 0x174]
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x178]
sub ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x180]
shl edx, 4
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x190]
or ecx, dword [ebp - 0x194]
mov dword [ebp - 0x198], ecx
mov dl, byte [ebp - 0x198]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x4ac]
mov byte [ebp - 0xc4], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x4ac]
mov dword [ebp - 0x504], eax
mov cl, byte [ebp - 0xbc]
add cl, 1
mov byte [ebp - 0xbc], cl
movzx edx, byte [ebp - 0xbe]
add edx, dword [ebp - 0x504]
mov byte [ebp - 0xbe], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x4ac]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xbf]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x4ac]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x4ac]
mov byte [ebp + ecx - 0x4ac], dl
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp - 0xc4]
mov byte [ebp + eax - 0x4ac], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp + edx - 0x4ac]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x4ac]
movzx eax, byte [ebp - 0xbc]
movzx eax, byte [ebp + eax - 0x4ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4ac]
xor edx, ecx
movzx eax, byte [ebp - 0xbf]
movzx ecx, byte [ebp + eax - 0x4ac]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x4ac]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4ac]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4ac]
movzx eax, byte [ebp + ecx - 0x4ac]
xor edx, eax
mov byte [ebp - 0xbf], dl
mov cl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbf]
mov byte [ebp - 0xca], dl
cmp dword [ebp - 0xd4], 0
jle 0x515cff
movsx ax, byte [ebp - 0xca]
mov ecx, dword [ebp - 0xd4]
mov word [ebp + ecx*2 - 0x86], ax
jmp 0x515a88
mov edx, dword [ebp - 0x118]
add edx, 1
mov dword [ebp - 0x118], edx
mov eax, 2
imul ecx, eax, 0x2c
mov dword [ebp - 0x294], ecx
cmp dword [ebp - 0x294], 0x5a
jae 0x515d2c
jmp 0x515d32
call fcn.0051c285
nop
xor edx, edx
mov eax, dword [ebp - 0x294]
mov word [ebp + eax - 0x84], dx
jmp 0x515d99
mov dword [ebp - 0x22c], 0
jmp 0x515d5f
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0x2d
jge 0x515d99
mov edx, dword [ebp - 0x22c]
shl edx, 1
mov dword [ebp - 0x298], edx
cmp dword [ebp - 0x298], 0x5a
jae 0x515d81
jmp 0x515d87
call fcn.0051c285
nop
xor eax, eax
mov ecx, dword [ebp - 0x298]
mov word [ebp + ecx - 0x84], ax
jmp 0x515d50
lea edx, [ebp - 0xa8]
push edx
push 0
push 0
lea eax, [ebp - 0x90]
push eax
push 0x100
lea ecx, [ebp - 0x84]
push ecx
push reloc.WS2_32.dll_bind
mov ecx, dword [ebp - 0x4c0]
call fcn.0051acd0
mov byte [ebp - 0x1bf], 0
mov dword [ebp - 0x1f8], 0
jmp 0x515de9
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
lea ecx, [ebp - 0x90]
call fcn.00502f00
cmp dword [ebp - 0x1f8], eax
jae 0x515e4a
mov eax, dword [ebp - 0x1f8]
push eax
lea ecx, [ebp - 0x90]
call fcn.004e2410
mov ecx, dword [eax]
cmp dword [ecx + 0x44], 0
je 0x515e1d
mov byte [ebp - 0x1bf], 1
mov edx, dword [ebp - 0x1f8]
push edx
lea ecx, [ebp - 0x90]
call fcn.004e2410
mov eax, dword [eax]
mov dword [ebp - 0x4e4], eax
push 0x48
mov ecx, dword [ebp - 0x4e4]
push ecx
call fcn.0051c115
add esp, 8
jmp 0x515dda
lea ecx, [ebp - 0x90]
call fcn.0051b510
nop
mov dl, byte [ebp - 0x1bf]
mov byte [ebp - 0x1d9], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa8]
call fcn.004aa980
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.004e23b0
mov al, byte [ebp - 0x1d9]
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.0051bf16
mov esp, ebp
pop ebp
ret