Function at 0x51a9b0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5325d3
mov eax, dword fs:[0]
push eax
sub esp, 0x730
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 - 0x5b4], ecx
push 0xc
lea ecx, [ebp - 0x9c]
call fcn.004a46d0
lea ecx, [ebp - 0x9c]
call fcn.004e7ab0
mov dword [ebp - 4], 0
push 0x48
call fcn.00522db5
add esp, 4
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x594], 0
je 0x51ac1f
mov byte [ebp - 0x3e4], 0xfe
mov byte [ebp - 0x3e3], 0x95
mov byte [ebp - 0x3e2], 0xf
mov byte [ebp - 0x3e1], 0x67
mov byte [ebp - 0x3e0], 0x3c
mov byte [ebp - 0x3df], 0xcb
mov byte [ebp - 0x3de], 0xa2
mov byte [ebp - 0x3dd], 0x9f
mov byte [ebp - 0x3dc], 0x57
mov byte [ebp - 0x3db], 0xa0
mov byte [ebp - 0x3da], 0x45
mov byte [ebp - 0x3d9], 0x18
mov byte [ebp - 0x3d8], 0x9b
mov byte [ebp - 0x3d7], 0x93
mov byte [ebp - 0x3d6], 0x23
mov byte [ebp - 0x3d5], 0xd1
mov byte [ebp - 0x3d4], 0xfb
mov byte [ebp - 0x3d3], 0x4b
mov byte [ebp - 0x3d2], 0x33
mov byte [ebp - 0x3d1], 0x18
mov byte [ebp - 0x3d0], 0xdd
mov byte [ebp - 0x3cf], 0xa3
mov byte [ebp - 0x3ce], 0x6b
mov byte [ebp - 0x3cd], 0xe8
mov byte [ebp - 0x3cc], 0xd4
mov byte [ebp - 0x3cb], 0x3e
mov byte [ebp - 0x3ca], 0xd5
mov byte [ebp - 0x3c9], 0xbd
mov byte [ebp - 0x3c8], 4
mov byte [ebp - 0x3c7], 0xec
mov byte [ebp - 0x3c6], 0x23
mov byte [ebp - 0x3c5], 0xb8
mov byte [ebp - 0x3c4], 0x55
mov byte [ebp - 0x3c3], 0x4b
mov byte [ebp - 0x3c2], 0xd0
mov byte [ebp - 0x3c1], 0x93
mov byte [ebp - 0x3c0], 0x95
mov byte [ebp - 0x3bf], 0x22
mov byte [ebp - 0x3be], 0xe8
mov byte [ebp - 0x3bd], 0x57
mov byte [ebp - 0x3bc], 0x30
mov byte [ebp - 0x3bb], 0x5c
mov byte [ebp - 0x3ba], 0xa9
mov byte [ebp - 0x3b9], 0x74
mov byte [ebp - 0x3b8], 0x19
mov byte [ebp - 0x3b7], 0x5b
mov byte [ebp - 0x3b6], 0x5e
mov byte [ebp - 0x3b5], 0xd3
mov byte [ebp - 0x3b4], 0x10
mov byte [ebp - 0x3b3], 0x42
mov byte [ebp - 0x3b2], 0xd5
mov byte [ebp - 0x3b1], 0xba
mov byte [ebp - 0x3b0], 0x52
mov byte [ebp - 0x3af], 0x55
mov byte [ebp - 0x3ae], 0xa0
mov byte [ebp - 0x3ad], 0xdb
mov byte [ebp - 0x3ac], 0x27
mov byte [ebp - 0x3ab], 0x9e
mov byte [ebp - 0x3aa], 0xa0
mov byte [ebp - 0x3a9], 0x37
mov byte [ebp - 0x3a8], 0xa
mov byte [ebp - 0x3a7], 0xe1
mov byte [ebp - 0x3a6], 0x31
mov byte [ebp - 0x3a5], 0xd2
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x3e4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x3c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x594]
call fcn.00507c80
mov dword [ebp - 0x598], eax
jmp 0x51ac29
mov dword [ebp - 0x598], 0
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0x724], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x724]
mov dword [ebp - 0x720], ecx
lea edx, [ebp - 0x720]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00505ac0
nop
push 0x48
call fcn.00522db5
add esp, 4
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x59c], 0
je 0x51ae74
mov byte [ebp - 0x364], 0xfe
mov byte [ebp - 0x363], 0x95
mov byte [ebp - 0x362], 0xf
mov byte [ebp - 0x361], 0x67
mov byte [ebp - 0x360], 0x3c
mov byte [ebp - 0x35f], 0xcb
mov byte [ebp - 0x35e], 0xa2
mov byte [ebp - 0x35d], 0x9f
mov byte [ebp - 0x35c], 0x57
mov byte [ebp - 0x35b], 0xa0
mov byte [ebp - 0x35a], 0x45
mov byte [ebp - 0x359], 0x18
mov byte [ebp - 0x358], 0x9b
mov byte [ebp - 0x357], 0x93
mov byte [ebp - 0x356], 0x23
mov byte [ebp - 0x355], 0xd1
mov byte [ebp - 0x354], 0xfb
mov byte [ebp - 0x353], 0x4b
mov byte [ebp - 0x352], 0x33
mov byte [ebp - 0x351], 0x18
mov byte [ebp - 0x350], 0xdd
mov byte [ebp - 0x34f], 0xa3
mov byte [ebp - 0x34e], 0x6b
mov byte [ebp - 0x34d], 0xe8
mov byte [ebp - 0x34c], 0xd4
mov byte [ebp - 0x34b], 0x3e
mov byte [ebp - 0x34a], 0xd5
mov byte [ebp - 0x349], 0xbd
mov byte [ebp - 0x348], 4
mov byte [ebp - 0x347], 0xec
mov byte [ebp - 0x346], 0x23
mov byte [ebp - 0x345], 0xb8
mov byte [ebp - 0x384], 0x91
mov byte [ebp - 0x383], 0x77
mov byte [ebp - 0x382], 0x30
mov byte [ebp - 0x381], 0xf7
mov byte [ebp - 0x380], 0xd
mov byte [ebp - 0x37f], 0xca
mov byte [ebp - 0x37e], 0x71
mov byte [ebp - 0x37d], 0xf2
mov byte [ebp - 0x37c], 0xff
mov byte [ebp - 0x37b], 0x8c
mov byte [ebp - 0x37a], 0xf2
mov byte [ebp - 0x379], 0xbb
mov byte [ebp - 0x378], 0x1a
mov byte [ebp - 0x377], 0x26
mov byte [ebp - 0x376], 0x6a
mov byte [ebp - 0x375], 0xad
mov byte [ebp - 0x374], 0xad
mov byte [ebp - 0x373], 0xd5
mov byte [ebp - 0x372], 0x18
mov byte [ebp - 0x371], 0xfb
mov byte [ebp - 0x370], 0x48
mov byte [ebp - 0x36f], 0x9a
mov byte [ebp - 0x36e], 0xb8
mov byte [ebp - 0x36d], 3
mov byte [ebp - 0x36c], 0x56
mov byte [ebp - 0x36b], 0xe7
mov byte [ebp - 0x36a], 0xca
mov byte [ebp - 0x369], 0xeb
mov byte [ebp - 0x368], 0x7d
mov byte [ebp - 0x367], 0x66
mov byte [ebp - 0x366], 0xeb
mov byte [ebp - 0x365], 0xe8
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x364]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x384]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x59c]
call fcn.00507c80
mov dword [ebp - 0x58c], eax
jmp 0x51ae7e
mov dword [ebp - 0x58c], 0
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x734], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x718], ecx
lea edx, [ebp - 0x718]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00505ac0
nop
push 0x48
call fcn.00522db5
add esp, 4
mov dword [ebp - 0x590], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x590], 0
je 0x51b0c9
mov byte [ebp - 0x404], 0xdf
mov byte [ebp - 0x403], 0xb
mov byte [ebp - 0x402], 0xdd
mov byte [ebp - 0x401], 0xee
mov byte [ebp - 0x400], 0xff
mov byte [ebp - 0x3ff], 3
mov byte [ebp - 0x3fe], 0x92
mov byte [ebp - 0x3fd], 0x7c
mov byte [ebp - 0x3fc], 0xb3
mov byte [ebp - 0x3fb], 0x4c
mov byte [ebp - 0x3fa], 0x67
mov byte [ebp - 0x3f9], 0x35
mov byte [ebp - 0x3f8], 0x30
mov byte [ebp - 0x3f7], 0x57
mov byte [ebp - 0x3f6], 0x26
mov byte [ebp - 0x3f5], 0x4d
mov byte [ebp - 0x3f4], 0xa1
mov byte [ebp - 0x3f3], 0xf8
mov byte [ebp - 0x3f2], 0xe
mov byte [ebp - 0x3f1], 0x36
mov byte [ebp - 0x3f0], 0x9f
mov byte [ebp - 0x3ef], 0xcf
mov byte [ebp - 0x3ee], 0xf8
mov byte [ebp - 0x3ed], 0x34
mov byte [ebp - 0x3ec], 0x60
mov byte [ebp - 0x3eb], 0xcb
mov byte [ebp - 0x3ea], 0xf7
mov byte [ebp - 0x3e9], 0xf3
mov byte [ebp - 0x3e8], 0x43
mov byte [ebp - 0x3e7], 0x45
mov byte [ebp - 0x3e6], 0xfa
mov byte [ebp - 0x3e5], 0x22
mov byte [ebp - 0x424], 0xa5
mov byte [ebp - 0x423], 0xfc
mov byte [ebp - 0x422], 0xc
mov byte [ebp - 0x421], 0x84
mov byte [ebp - 0x420], 0xd5
mov byte [ebp - 0x41f], 0x64
mov byte [ebp - 0x41e], 0xfa
mov byte [ebp - 0x41d], 0x7f
mov byte [ebp - 0x41c], 0xbc
mov byte [ebp - 0x41b], 0x56
mov byte [ebp - 0x41a], 0x3b
mov byte [ebp - 0x419], 0xab
mov byte [ebp - 0x418], 0x1e
mov byte [ebp - 0x417], 0xe4
mov byte [ebp - 0x416], 0x97
mov byte [ebp - 0x415], 0x7d
mov byte [ebp - 0x414], 0x41
mov byte [ebp - 0x413], 0xe
mov byte [ebp - 0x412], 0xd5
mov byte [ebp - 0x411], 0x79
mov byte [ebp - 0x410], 0xf4
mov byte [ebp - 0x40f], 0x12
mov byte [ebp - 0x40e], 0xf2
mov byte [ebp - 0x40d], 0x2f
mov byte [ebp - 0x40c], 0x2e
mov byte [ebp - 0x40b], 0x40
mov byte [ebp - 0x40a], 0x89
mov byte [ebp - 0x409], 0x38
mov byte [ebp - 0x408], 0xa5
mov byte [ebp - 0x407], 9
mov byte [ebp - 0x406], 0x94
mov byte [ebp - 0x405], 0x2a
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x404]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x424]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x590]
call fcn.00507c80
mov dword [ebp - 0x580], eax
jmp 0x51b0d3
mov dword [ebp - 0x580], 0
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x714], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0x710], ecx
lea edx, [ebp - 0x710]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00505ac0
nop
push 0x48
call fcn.00522db5
add esp, 4
mov dword [ebp - 0x57c], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x57c], 0
je 0x51b31e
mov byte [ebp - 0x344], 0xdf
mov byte [ebp - 0x343], 0xb
mov byte [ebp - 0x342], 0xdd
mov byte [ebp - 0x341], 0xee
mov byte [ebp - 0x340], 0xff
mov byte [ebp - 0x33f], 3
mov byte [ebp - 0x33e], 0x92
mov byte [ebp - 0x33d], 0x7c
mov byte [ebp - 0x33c], 0xb3
mov byte [ebp - 0x33b], 0x4c
mov byte [ebp - 0x33a], 0x67
mov byte [ebp - 0x339], 0x35
mov byte [ebp - 0x338], 0x30
mov byte [ebp - 0x337], 0x57
mov byte [ebp - 0x336], 0x26
mov byte [ebp - 0x335], 0x4d
mov byte [ebp - 0x334], 0xa1
mov byte [ebp - 0x333], 0xf8
mov byte [ebp - 0x332], 0xe
mov byte [ebp - 0x331], 0x36
mov byte [ebp - 0x330], 0x9f
mov byte [ebp - 0x32f], 0xcf
mov byte [ebp - 0x32e], 0xf8
mov byte [ebp - 0x32d], 0x34
mov byte [ebp - 0x32c], 0x60
mov byte [ebp - 0x32b], 0xcb
mov byte [ebp - 0x32a], 0xf7
mov byte [ebp - 0x329], 0xf3
mov byte [ebp - 0x328], 0x43
mov byte [ebp - 0x327], 0x45
mov byte [ebp - 0x326], 0xfa
mov byte [ebp - 0x325], 0x22
mov byte [ebp - 0x3a4], 0x47
mov byte [ebp - 0x3a3], 0x3e
mov byte [ebp - 0x3a2], 0xdb
mov byte [ebp - 0x3a1], 0xbd
mov byte [ebp - 0x3a0], 0x23
mov byte [ebp - 0x39f], 0xc
mov byte [ebp - 0x39e], 0xda
mov byte [ebp - 0x39d], 0xde
mov byte [ebp - 0x39c], 0x75
mov byte [ebp - 0x39b], 0x75
mov byte [ebp - 0x39a], 0x81
mov byte [ebp - 0x399], 8
mov byte [ebp - 0x398], 0x74
mov byte [ebp - 0x397], 0xde
mov byte [ebp - 0x396], 5
mov byte [ebp - 0x395], 0x21
mov byte [ebp - 0x394], 0xd1
mov byte [ebp - 0x393], 0x89
mov byte [ebp - 0x392], 7
mov byte [ebp - 0x391], 0x64
mov byte [ebp - 0x390], 0xf4
mov byte [ebp - 0x38f], 0x62
mov byte [ebp - 0x38e], 0xb2
mov byte [ebp - 0x38d], 0xeb
mov byte [ebp - 0x38c], 0x21
mov byte [ebp - 0x38b], 0x88
mov byte [ebp - 0x38a], 0xac
mov byte [ebp - 0x389], 0x95
mov byte [ebp - 0x388], 0xf6
mov byte [ebp - 0x387], 0xd3
mov byte [ebp - 0x386], 0xa2
mov byte [ebp - 0x385], 0x7a
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x344]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x3a4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x57c]
call fcn.00507c80
mov dword [ebp - 0x568], eax
jmp 0x51b328
mov dword [ebp - 0x568], 0
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x70c], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x708], ecx
lea edx, [ebp - 0x708]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00505ac0
nop
lea ecx, [ebp - 0xb4]
call fcn.00507c60
mov byte [ebp - 4], 5
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x2d8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x2c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x2c8], xmm0
jmp 0x51b3b5
movsd xmm0, qword [ebp - 0x2c8]
addsd xmm0, qword [0x5348a8]
movsd qword [ebp - 0x2c8], xmm0
movsd xmm0, qword [0x5378b0]
comisd xmm0, xmmword [ebp - 0x2c8]
jbe 0x51b466
movsd xmm0, qword [0x5377d8]
mulsd xmm0, qword [ebp - 0x2c8]
mulsd xmm0, qword [ebp - 0x2c8]
movsd xmm1, qword [ebp - 0x2c8]
mulsd xmm1, qword [ebp - 0x2c8]
subsd xmm0, xmm1
movsd xmm1, qword [0x5376f8]
mulsd xmm1, qword [ebp - 0x2c8]
mulsd xmm1, qword [ebp - 0x2c8]
addsd xmm1, qword [0x536710]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x2d8]
movsd qword [ebp - 0x2d8], xmm0
movsd xmm0, qword [ebp - 0x2d8]
comisd xmm0, xmmword [0x537790]
jbe 0x51b461
movsd xmm0, qword [0x5376c0]
mulsd xmm0, qword [ebp - 0x2c8]
movsd xmm1, qword [ebp - 0x2d8]
subsd xmm1, xmm0
movsd qword [ebp - 0x2d8], xmm1
jmp 0x51b39d
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x2d8]
jbe 0x51b4c2
inc esi
fadd qword [ebx - 0x29]
dec edx
fadd dword [edi - 0x29]
dec ebx
aad 0x46
fisttp qword [esi - 0x24]
inc edi
fisttp dword [ebp - 0x2a]
dec ebx
xlatb
inc esp
fiadd dword [eax - 0x25]
dec esp
ror byte [eax - 0x27], 1
dec eax
salc
inc ebx
rol dword [ebx - 0x28], cl
inc eax
aam 0x4e
rol dword [ebx - 0x2b], 1
dec ebx
iretd
mov dword [ebp - 0xc0], 0x51b473
mov dword [ebp - 0xc4], 0x51b4ab
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x71c], ecx
mov byte [ebp - 0x1d9], 0x16
mov dword [ebp - 0x164], 0
jmp 0x51b510
mov edx, dword [ebp - 0x164]
add edx, 1
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0x100
jae 0x51b531
mov eax, dword [ebp - 0x164]
mov cl, byte [ebp - 0x164]
mov byte [ebp + eax - 0x6b8], cl
jmp 0x51b501
mov dword [ebp - 0x27c], 0
mov byte [ebp - 0xd9], 0
mov dword [ebp - 0x164], 0xff
jmp 0x51b55d
mov edx, dword [ebp - 0x164]
sub edx, 1
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x164], 0
jbe 0x51b7cd
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x2f4], 1
mov eax, dword [ebp - 0x2f4]
cmp eax, dword [ebp - 0x164]
jae 0x51b59e
mov ecx, dword [ebp - 0x2f4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x2f4], edx
jmp 0x51b57e
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x56c], eax
cmp dword [ebp - 0x56c], 3
ja case.default.0x51b5bd
mov ecx, dword [ebp - 0x56c]
jmp dword [ecx*4 + 0x521978]
movzx edx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + edx - 0x6b8]
movsd xmm0, qword [ebp - 0x2d8]
call fcn.00523390
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51b6a6
movzx eax, byte [ebp - 0xd9]
movzx ebx, byte [ebp + eax - 0x6b8]
movsd xmm0, qword [ebp - 0x2d8]
call fcn.00523390
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51b6a6
movzx ecx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + ecx - 0x6b8]
movsd xmm0, qword [ebp - 0x2d8]
call fcn.00523390
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51b6a6
movzx edx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + edx - 0x6b8]
movsd xmm0, qword [ebp - 0x2d8]
call fcn.00523390
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51b6a6
movzx eax, byte [ebp - 0xd9]
movzx ecx, byte [ebp + eax - 0x6b8]
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x27c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xd9], cl
mov ecx, dword [ebp - 0x27c]
add ecx, 1
mov dword [ebp - 0x27c], ecx
movzx edx, byte [ebp - 0x1d9]
cmp dword [ebp - 0x27c], edx
jb 0x51b6e4
mov dword [ebp - 0x27c], 0
movzx eax, byte [ebp - 0x1d9]
movzx ecx, byte [ebp - 0xd9]
add ecx, eax
mov byte [ebp - 0xd9], cl
movzx edx, byte [ebp - 0xd9]
and edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0xb
jbe 0x51b723
mov eax, dword [ebp - 0x234]
xor edx, edx
div dword [ebp - 0x164]
mov dword [ebp - 0x234], edx
mov ecx, dword [ebp - 0x234]
cmp ecx, dword [ebp - 0x164]
ja 0x51b59e
mov edx, dword [ebp - 0x164]
cmp edx, dword [ebp - 0x234]
je 0x51b7c8
mov eax, dword [ebp - 0x234]
movzx ecx, byte [ebp + eax - 0x6b8]
mov edx, dword [ebp - 0x164]
movzx eax, byte [ebp + edx - 0x6b8]
xor eax, ecx
mov ecx, dword [ebp - 0x164]
mov byte [ebp + ecx - 0x6b8], al
mov edx, dword [ebp - 0x164]
movzx eax, byte [ebp + edx - 0x6b8]
mov ecx, dword [ebp - 0x234]
movzx edx, byte [ebp + ecx - 0x6b8]
xor edx, eax
mov eax, dword [ebp - 0x234]
mov byte [ebp + eax - 0x6b8], dl
mov ecx, dword [ebp - 0x234]
movzx edx, byte [ebp + ecx - 0x6b8]
mov eax, dword [ebp - 0x164]
movzx ecx, byte [ebp + eax - 0x6b8]
xor ecx, edx
mov edx, dword [ebp - 0x164]
mov byte [ebp + edx - 0x6b8], cl
jmp 0x51b54e
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xc8], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xc9], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xd1], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xd9]
mov al, byte [ebp + edx - 0x6b8]
mov byte [ebp - 0xcc], al
mov dword [ebp - 0x570], 0x38
cmp dword [ebp - 0x570], 2
jle 0x51e60e
mov ecx, dword [ebp - 0x570]
and ecx, 1
jne 0x51e60e
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xfc], 0
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0xe0]
shl eax, 1
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x154]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
add eax, 0x40
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x174], edx
mov dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x174]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x160]
add edx, 0xce
mov dword [ebp - 0x160], edx
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x158]
add eax, dword [ebp - 0x148]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x14c], ecx
mov dword [ebp - 0x178], 0
mov edx, dword [ebp - 0x148]
shl edx, 4
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x178]
or ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], ecx
mov byte [ebp - 0xd2], 0
mov dl, byte [ebp - 0x180]
mov byte [ebp - 0xd2], dl
mov byte [ebp - 0xd0], 0
movzx eax, byte [ebp - 0xcc]
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xd0], cl
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp + edx - 0x6b8]
mov dword [ebp - 0x6e0], eax
mov cl, byte [ebp - 0xc8]
add cl, 1
mov byte [ebp - 0xc8], cl
movzx edx, byte [ebp - 0xc9]
add edx, dword [ebp - 0x6e0]
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp - 0xca]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp - 0xd0]
mov byte [ebp + eax - 0x6b8], cl
movsd xmm0, qword [0x537af8]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [0x537ac0]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [0x537a70]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [0x5379e8]
movsd qword [ebp - 0x45c], xmm0
movsd xmm0, qword [0x537970]
movsd qword [ebp - 0x44c], xmm0
movsd xmm0, qword [0x5378d8]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [0x537810]
movsd qword [ebp - 0x254], xmm0
movsd xmm0, qword [ebp - 0x444]
mulsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x31c]
subsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x2e0]
mulsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x45c]
mulsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x45c], xmm0
movsd xmm0, qword [ebp - 0x2c0]
subsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x31c]
mulsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x31c]
comisd xmm0, xmmword [ebp - 0x254]
jbe 0x51bc84
movsd xmm0, qword [ebp - 0x254]
subsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x254], xmm0
movsd xmm0, qword [ebp - 0x444]
addsd xmm0, qword [ebp - 0x45c]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x44c]
addsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x44c], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x44c]
addsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x44c], xmm0
movsd xmm0, qword [ebp - 0x2c0]
addsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x254]
subsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x254], xmm0
movzx edx, byte [ebp - 0xd0]
movzx eax, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp - 0xd1]
add ecx, eax
mov byte [ebp - 0xd1], cl
jmp 0x51bd2c
movsd xmm0, qword [ebp - 0x254]
mulsd xmm0, qword [ebp - 0x2c0]
movsd qword [ebp - 0x254], xmm0
movsd xmm0, qword [ebp - 0x2c0]
divsd xmm0, qword [ebp - 0x45c]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x2e0]
mulsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x444]
subsd xmm0, qword [ebp - 0x44c]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x2c0]
addsd xmm0, qword [ebp - 0x45c]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x44c]
subsd xmm0, qword [ebp - 0x254]
movsd qword [ebp - 0x44c], xmm0
movsd xmm0, qword [ebp - 0x2c0]
addsd xmm0, qword [ebp - 0x45c]
movsd qword [ebp - 0x2c0], xmm0
movzx edx, byte [ebp - 0xd2]
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
xor edx, ecx
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xcc]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
movzx eax, byte [ebp - 0xd1]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
movzx eax, byte [ebp + ecx - 0x6b8]
xor edx, eax
mov byte [ebp - 0xca], dl
mov cl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], cl
mov dl, byte [ebp - 0xca]
mov byte [ebp - 0xd4], dl
cmp dword [ebp - 0xe0], 0
jle 0x51bde6
movsx ax, byte [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
movsd xmm0, qword [0x537b00]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [0x537a38]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [0x537910]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
comisd xmm0, xmmword [ebp - 0x190]
jbe 0x51bee9
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
mov ecx, dword [ebp - 0xe0]
shl ecx, 1
mov dword [ebp - 0x16c], ecx
jmp 0x51c10c
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1c0]
comisd xmm0, xmmword [ebp - 0x1b0]
jbe 0x51bfd8
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
jmp 0x51c10c
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
subsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
mulsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
divsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x190]
comisd xmm0, xmmword [ebp - 0x1b0]
jbe 0x51c0c4
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
jmp 0x51c10c
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
mov edx, dword [ebp - 0x170]
add edx, dword [ebp - 0x16c]
movzx eax, byte [edx]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], 0x40
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x174]
movzx ecx, byte [eax]
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x160], 0xce
mov edx, dword [ebp - 0x154]
sub edx, dword [ebp - 0x158]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x148]
shl ecx, 4
mov dword [ebp - 0x178], ecx
movsd xmm0, qword [0x537a18]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [0x537960]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [0x537870]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1d0]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
addsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
comisd xmm0, xmmword [ebp - 0x198]
jbe 0x51c270
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], edx
jmp 0x51c493
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
divsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
comisd xmm0, xmmword [ebp - 0x1d0]
jbe 0x51c35f
movsd xmm0, qword [ebp - 0x1d0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
jmp 0x51c493
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1d0]
divsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1d0]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [ebp - 0x1d0]
comisd xmm0, xmmword [ebp - 0x198]
jbe 0x51c44b
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1a8], xmm0
jmp 0x51c493
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x1d0]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x198], xmm0
mov eax, dword [ebp - 0x178]
or eax, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
mov cl, byte [ebp - 0x180]
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xcc]
mov al, byte [ebp + edx - 0x6b8]
mov byte [ebp - 0xd0], al
movzx ecx, byte [ebp - 0xc8]
movzx edx, byte [ebp + ecx - 0x6b8]
mov dword [ebp - 0x6dc], edx
mov al, byte [ebp - 0xc8]
add al, 1
mov byte [ebp - 0xc8], al
movzx ecx, byte [ebp - 0xc9]
add ecx, dword [ebp - 0x6dc]
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp - 0xcc]
mov cl, byte [ebp + edx - 0x6b8]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp + edx - 0x6b8]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp - 0xca]
mov cl, byte [ebp + edx - 0x6b8]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp - 0xd0]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xd0]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx eax, byte [ebp - 0xd1]
add eax, edx
mov byte [ebp - 0xd1], al
movzx ecx, byte [ebp - 0xd2]
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x6b8]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x6b8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6b8]
xor ecx, eax
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x6b8]
movzx edx, byte [ebp - 0xcc]
movzx edx, byte [ebp + edx - 0x6b8]
add eax, edx
movzx edx, byte [ebp - 0xd1]
movzx edx, byte [ebp + edx - 0x6b8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6b8]
movzx edx, byte [ebp + eax - 0x6b8]
xor ecx, edx
mov byte [ebp - 0xca], cl
mov al, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], al
mov cl, byte [ebp - 0xca]
mov byte [ebp - 0xd4], cl
cmp dword [ebp - 0xe0], 0
jle 0x51c639
movsx dx, byte [ebp - 0xd4]
mov eax, dword [ebp - 0xe0]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0xfc]
add ecx, 0xa
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0x438], edx
jmp 0x51c668
mov eax, dword [ebp - 0x438]
add eax, 1
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x438]
cmp ecx, dword [ebp - 0xfc]
jge 0x51c8d2
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
shl eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x158], 0x40
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x170]
add edx, dword [ebp - 0x174]
movzx eax, byte [edx]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], 0xce
mov ecx, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x15c]
sub edx, dword [ebp - 0x160]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x148]
shl eax, 4
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x178]
or edx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], edx
mov al, byte [ebp - 0x180]
mov byte [ebp - 0xd2], al
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + ecx - 0x6b8]
mov byte [ebp - 0xd0], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp + eax - 0x6b8]
mov dword [ebp - 0x6d8], ecx
mov dl, byte [ebp - 0xc8]
add dl, 1
mov byte [ebp - 0xc8], dl
movzx eax, byte [ebp - 0xc9]
add eax, dword [ebp - 0x6d8]
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp - 0xcc]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp - 0xc9]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xc8]
movzx edx, byte [ebp - 0xca]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp - 0xd0]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xd0]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx edx, byte [ebp - 0xd1]
add edx, ecx
mov byte [ebp - 0xd1], dl
movzx eax, byte [ebp - 0xd2]
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6b8]
xor eax, edx
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx ecx, byte [ebp - 0xcc]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
movzx ecx, byte [ebp - 0xd1]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp + edx - 0x6b8]
xor eax, ecx
mov byte [ebp - 0xca], al
mov dl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], dl
mov al, byte [ebp - 0xca]
mov byte [ebp - 0xd4], al
cmp dword [ebp - 0xe0], 0
jle 0x51c8cd
movsx cx, byte [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
mov word [ebp + edx*2 - 0x4a], cx
jmp 0x51c659
mov eax, dword [ebp - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
movsd xmm0, qword [0x537b18]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [0x537a60]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [0x537918]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x1d8]
subsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
mulsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
subsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x208]
comisd xmm0, xmmword [ebp - 0x1d8]
jbe 0x51caa5
movsd xmm0, qword [ebp - 0x270]
addsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [ebp - 0x1d8]
addsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x208]
subsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x270]
addsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x270]
subsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [ebp - 0x270]
comisd xmm0, xmmword [ebp - 0x1d8]
jbe 0x51ca5b
movsd xmm0, qword [ebp - 0x270]
mulsd xmm0, qword [ebp - 0x1d8]
movsd qword [ebp - 0x270], xmm0
movsd xmm0, qword [ebp - 0x1d8]
subsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x208]
divsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x208], xmm0
jmp 0x51caa3
movsd xmm0, qword [ebp - 0x1d8]
divsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x208]
divsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x208]
subsd xmm0, qword [ebp - 0x270]
movsd qword [ebp - 0x208], xmm0
jmp 0x51cafc
movsd xmm0, qword [ebp - 0x1d8]
addsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
addsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
movsd xmm0, qword [ebp - 0x1d8]
mulsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x1d8], xmm0
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xe0]
shl eax, 1
mov dword [ebp - 0x16c], eax
movsd xmm0, qword [0x537b08]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [0x537ab0]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [0x5371d8]
movsd qword [ebp - 0x5a4], xmm0
movsd xmm0, qword [0x537958]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [0x537868]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [ebp - 0x314]
subsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x314]
addsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x324]
addsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x29c]
subsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x324]
subsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x28c]
comisd xmm0, xmmword [ebp - 0x324]
jbe 0x51cc70
movsd xmm0, qword [ebp - 0x5a4]
divsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x5a4], xmm0
movsd xmm0, qword [ebp - 0x29c]
subsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x28c]
subsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [ebp - 0x28c]
addsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [ebp - 0x29c]
subsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x29c], xmm0
jmp 0x51ccfd
movsd xmm0, qword [ebp - 0x314]
subsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x314]
addsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x5a4]
subsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x5a4], xmm0
movsd xmm0, qword [ebp - 0x28c]
subsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [ebp - 0x29c]
mulsd xmm0, qword [ebp - 0x5a4]
movsd qword [ebp - 0x29c], xmm0
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x158], 0x40
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x170]
add edx, dword [ebp - 0x174]
movzx eax, byte [edx]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], 0xce
mov ecx, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x15c]
sub edx, dword [ebp - 0x160]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x148]
shl eax, 4
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x178]
or edx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], edx
mov al, byte [ebp - 0x180]
mov byte [ebp - 0xd2], al
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + ecx - 0x6b8]
mov byte [ebp - 0xd0], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp + eax - 0x6b8]
mov dword [ebp - 0x6d4], ecx
mov dl, byte [ebp - 0xc8]
add dl, 1
mov byte [ebp - 0xc8], dl
movzx eax, byte [ebp - 0xc9]
add eax, dword [ebp - 0x6d4]
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp - 0xcc]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp - 0xc9]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xc8]
movzx edx, byte [ebp - 0xca]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp - 0xd0]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xd0]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx edx, byte [ebp - 0xd1]
add edx, ecx
mov byte [ebp - 0xd1], dl
movzx eax, byte [ebp - 0xd2]
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6b8]
xor eax, edx
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx ecx, byte [ebp - 0xcc]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
movzx ecx, byte [ebp - 0xd1]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp + edx - 0x6b8]
xor eax, ecx
mov byte [ebp - 0xca], al
mov dl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], dl
mov al, byte [ebp - 0xca]
mov byte [ebp - 0xd4], al
cmp dword [ebp - 0xe0], 0
jle 0x51cf1e
movsx cx, byte [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0xfc]
add eax, 0xb
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0x434], ecx
jmp 0x51cf4d
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0xfc]
jge 0x51d3c2
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], 0x40
mov edx, dword [ebp - 0xe0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x174]
movzx edx, byte [ecx]
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x160], 0xce
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x158]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp - 0x160]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x148]
shl edx, 4
mov dword [ebp - 0x178], edx
movsd xmm0, qword [0x537b28]
movsd qword [ebp - 0x24c], xmm0
movsd xmm0, qword [0x537a88]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [0x537930]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x1ec]
mulsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1ec]
mulsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1ec]
comisd xmm0, xmmword [ebp - 0x200]
jbe 0x51d0e0
movsd xmm0, qword [ebp - 0x200]
mulsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x24c]
mulsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x24c], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x24c]
movsd qword [ebp - 0x1ec], xmm0
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], eax
jmp 0x51d214
movsd xmm0, qword [ebp - 0x200]
mulsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x24c]
subsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x24c], xmm0
movsd xmm0, qword [ebp - 0x1ec]
addsd xmm0, qword [ebp - 0x24c]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x24c]
subsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x24c], xmm0
movsd xmm0, qword [ebp - 0x24c]
addsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x24c], xmm0
movsd xmm0, qword [ebp - 0x200]
divsd xmm0, qword [ebp - 0x24c]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x200]
comisd xmm0, xmmword [ebp - 0x24c]
jbe 0x51d1cc
movsd xmm0, qword [ebp - 0x200]
divsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x1ec]
subsd xmm0, qword [ebp - 0x24c]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x200]
divsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x200], xmm0
jmp 0x51d214
movsd xmm0, qword [ebp - 0x200]
subsd xmm0, qword [ebp - 0x24c]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x24c]
mulsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x24c], xmm0
movsd xmm0, qword [ebp - 0x1ec]
subsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x1ec], xmm0
mov ecx, dword [ebp - 0x178]
or ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], ecx
mov dl, byte [ebp - 0x180]
mov byte [ebp - 0xd2], dl
movzx eax, byte [ebp - 0xcc]
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xd0], cl
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp + edx - 0x6b8]
mov dword [ebp - 0x6d0], eax
mov cl, byte [ebp - 0xc8]
add cl, 1
mov byte [ebp - 0xc8], cl
movzx edx, byte [ebp - 0xc9]
add edx, dword [ebp - 0x6d0]
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp - 0xca]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp - 0xd0]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xd0]
movzx eax, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp - 0xd1]
add ecx, eax
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xd2]
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
xor edx, ecx
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xcc]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
movzx eax, byte [ebp - 0xd1]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
movzx eax, byte [ebp + ecx - 0x6b8]
xor edx, eax
mov byte [ebp - 0xca], dl
mov cl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], cl
mov dl, byte [ebp - 0xca]
mov byte [ebp - 0xd4], dl
cmp dword [ebp - 0xe0], 0
jle 0x51d3bd
movsx ax, byte [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x4a], ax
jmp 0x51cf3e
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xe0]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], 0x40
mov edx, dword [ebp - 0xe0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x174]
movzx edx, byte [ecx]
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x160], 0xce
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x158]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp - 0x160]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x148]
shl edx, 4
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x178]
or ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], ecx
mov dl, byte [ebp - 0x180]
mov byte [ebp - 0xd2], dl
movzx eax, byte [ebp - 0xcc]
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xd0], cl
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp + edx - 0x6b8]
mov dword [ebp - 0x6e4], eax
mov cl, byte [ebp - 0xc8]
add cl, 1
mov byte [ebp - 0xc8], cl
movzx edx, byte [ebp - 0xc9]
add edx, dword [ebp - 0x6e4]
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp - 0xca]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp - 0xd0]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xd0]
movzx eax, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp - 0xd1]
add ecx, eax
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xd2]
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
xor edx, ecx
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xcc]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
movzx eax, byte [ebp - 0xd1]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
movzx eax, byte [ebp + ecx - 0x6b8]
xor edx, eax
mov byte [ebp - 0xca], dl
mov cl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], cl
mov dl, byte [ebp - 0xca]
mov byte [ebp - 0xd4], dl
cmp dword [ebp - 0xe0], 0
jle 0x51d633
movsx ax, byte [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xfc]
add eax, 1
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xe0]
shl ecx, 1
mov dword [ebp - 0x16c], ecx
movss xmm0, dword [0x537ca0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [0x537c54]
movss dword [ebp - 0x238], xmm0
movss xmm0, dword [0x537bec]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [0x537b7c]
movss dword [ebp - 0x1f4], xmm0
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x1b4]
subss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x238]
addss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x238], xmm0
movss xmm0, dword [ebp - 0x1f4]
comiss xmm0, dword [ebp - 0x1b4]
jbe 0x51d772
movss xmm0, dword [ebp - 0x25c]
addss xmm0, dword [ebp - 0x238]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x238]
mulss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x238], xmm0
movss xmm0, dword [ebp - 0x1b4]
mulss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x1f4]
divss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x1f4], xmm0
jmp 0x51d7e7
movss xmm0, dword [ebp - 0x238]
addss xmm0, dword [ebp - 0x1b4]
movss dword [ebp - 0x238], xmm0
movss xmm0, dword [ebp - 0x1b4]
subss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x1b4]
subss xmm0, dword [ebp - 0x1f4]
movss dword [ebp - 0x1b4], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x238]
movss dword [ebp - 0x25c], xmm0
mov edx, dword [ebp - 0x170]
add edx, dword [ebp - 0x16c]
movzx eax, byte [edx]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x158], 0x40
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x174]
movzx ecx, byte [eax]
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x160], 0xce
mov edx, dword [ebp - 0x154]
sub edx, dword [ebp - 0x158]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x148]
shl ecx, 4
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x178]
or eax, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
mov cl, byte [ebp - 0x180]
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xcc]
mov al, byte [ebp + edx - 0x6b8]
mov byte [ebp - 0xd0], al
movzx ecx, byte [ebp - 0xc8]
movzx edx, byte [ebp + ecx - 0x6b8]
mov dword [ebp - 0x6c8], edx
mov al, byte [ebp - 0xc8]
add al, 1
mov byte [ebp - 0xc8], al
movzx ecx, byte [ebp - 0xc9]
add ecx, dword [ebp - 0x6c8]
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp - 0xcc]
mov cl, byte [ebp + edx - 0x6b8]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp + edx - 0x6b8]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp - 0xca]
mov cl, byte [ebp + edx - 0x6b8]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp - 0xd0]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xd0]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx eax, byte [ebp - 0xd1]
add eax, edx
mov byte [ebp - 0xd1], al
movzx ecx, byte [ebp - 0xd2]
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x6b8]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x6b8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6b8]
xor ecx, eax
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x6b8]
movzx edx, byte [ebp - 0xcc]
movzx edx, byte [ebp + edx - 0x6b8]
add eax, edx
movzx edx, byte [ebp - 0xd1]
movzx edx, byte [ebp + edx - 0x6b8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6b8]
movzx edx, byte [ebp + eax - 0x6b8]
xor ecx, edx
mov byte [ebp - 0xca], cl
mov al, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], al
mov cl, byte [ebp - 0xca]
mov byte [ebp - 0xd4], cl
cmp dword [ebp - 0xe0], 0
jle 0x51da05
movsx dx, byte [ebp - 0xd4]
mov eax, dword [ebp - 0xe0]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xe0]
shl eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
mov dword [ebp - 0x154], edx
movsd xmm0, qword [0x537af0]
movsd qword [ebp - 0x278], xmm0
movsd xmm0, qword [0x537aa8]
movsd qword [ebp - 0x454], xmm0
movsd xmm0, qword [0x537a50]
movsd qword [ebp - 0x30c], xmm0
movsd xmm0, qword [0x5379d8]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [0x537950]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [0x5378c0]
movsd qword [ebp - 0x73c], xmm0
movsd xmm0, qword [0x537808]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x294]
addsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x454]
subsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x454], xmm0
movsd xmm0, qword [ebp - 0x30c]
subsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x30c], xmm0
movsd xmm0, qword [ebp - 0x464]
mulsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x278]
subsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x278], xmm0
movsd xmm0, qword [ebp - 0x278]
addsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x278], xmm0
movsd xmm0, qword [ebp - 0x294]
subsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x244]
comisd xmm0, xmmword [ebp - 0x464]
jbe 0x51dc21
movsd xmm0, qword [ebp - 0x30c]
addsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x30c], xmm0
movsd xmm0, qword [ebp - 0x278]
mulsd xmm0, qword [ebp - 0x454]
movsd qword [ebp - 0x278], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x30c]
divsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x30c], xmm0
movsd xmm0, qword [ebp - 0x278]
addsd xmm0, qword [ebp - 0x454]
movsd qword [ebp - 0x278], xmm0
movsd xmm0, qword [ebp - 0x244]
divsd xmm0, qword [ebp - 0x278]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x278]
mulsd xmm0, qword [ebp - 0x454]
movsd qword [ebp - 0x278], xmm0
jmp 0x51dcd3
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x278]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x30c]
addsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x30c], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x454]
addsd xmm0, qword [ebp - 0x30c]
movsd qword [ebp - 0x454], xmm0
movsd xmm0, qword [ebp - 0x294]
addsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x278]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x278]
movsd qword [ebp - 0x244], xmm0
mov dword [ebp - 0x158], 0x40
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x170]
add edx, dword [ebp - 0x174]
movzx eax, byte [edx]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x160], 0xce
mov ecx, dword [ebp - 0x154]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x15c]
sub edx, dword [ebp - 0x160]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x148]
shl eax, 4
mov dword [ebp - 0x178], eax
movss xmm0, dword [0x537c24]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [0x537c04]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [0x537bdc]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0x537bb4]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [0x537b94]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [0x537b5c]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [0x537b40]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x19c]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x144]
mulss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x19c]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x19c]
mulss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x1e0]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x144]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x144]
comiss xmm0, dword [ebp - 0x100]
jbe 0x51df1b
movss xmm0, dword [ebp - 0x144]
subss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x144]
mulss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x168]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x168]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x19c]
mulss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x100], xmm0
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], ecx
jmp 0x51e1d5
movss xmm0, dword [ebp - 0x19c]
addss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x19c], xmm0
movss xmm0, dword [ebp - 0x144]
mulss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x144]
divss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x104]
divss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x13c]
divss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x168]
mulss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x13c]
subss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x13c]
addss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x1e0]
subss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [ebp - 0x168]
divss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x13c]
comiss xmm0, dword [ebp - 0x1e0]
jbe 0x51e12d
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x144]
divss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x1e0]
subss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x1e0], xmm0
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x13c]
subss xmm0, dword [ebp - 0x144]
movss dword [ebp - 0x13c], xmm0
jmp 0x51e1d5
movss xmm0, dword [ebp - 0x100]
divss 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 - 0x13c]
mulss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x100]
divss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x13c]
divss xmm0, dword [ebp - 0x19c]
movss dword [ebp - 0x13c], xmm0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x104]
divss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x104], xmm0
mov edx, dword [ebp - 0x178]
or edx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], edx
mov al, byte [ebp - 0x180]
mov byte [ebp - 0xd2], al
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + ecx - 0x6b8]
mov byte [ebp - 0xd0], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp + eax - 0x6b8]
mov dword [ebp - 0x6c4], ecx
mov dl, byte [ebp - 0xc8]
add dl, 1
mov byte [ebp - 0xc8], dl
movzx eax, byte [ebp - 0xc9]
add eax, dword [ebp - 0x6c4]
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp - 0xcc]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp - 0xc9]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xc8]
movzx edx, byte [ebp - 0xca]
mov al, byte [ebp + ecx - 0x6b8]
mov byte [ebp + edx - 0x6b8], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp - 0xd0]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xd0]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx edx, byte [ebp - 0xd1]
add edx, ecx
mov byte [ebp - 0xd1], dl
movzx eax, byte [ebp - 0xd2]
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6b8]
xor eax, edx
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x6b8]
movzx ecx, byte [ebp - 0xcc]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
movzx ecx, byte [ebp - 0xd1]
movzx ecx, byte [ebp + ecx - 0x6b8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp + edx - 0x6b8]
xor eax, ecx
mov byte [ebp - 0xca], al
mov dl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], dl
mov al, byte [ebp - 0xca]
mov byte [ebp - 0xd4], al
cmp dword [ebp - 0xe0], 0
jle 0x51e37e
movsx cx, byte [ebp - 0xd4]
mov edx, dword [ebp - 0xe0]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xe0]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], 0x40
mov edx, dword [ebp - 0xe0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x174], eax
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x174]
movzx edx, byte [ecx]
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x160], 0xce
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x158]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x15c]
sub ecx, dword [ebp - 0x160]
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x148]
shl edx, 4
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x178]
or ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], ecx
mov dl, byte [ebp - 0x180]
mov byte [ebp - 0xd2], dl
movzx eax, byte [ebp - 0xcc]
mov cl, byte [ebp + eax - 0x6b8]
mov byte [ebp - 0xd0], cl
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp + edx - 0x6b8]
mov dword [ebp - 0x6c0], eax
mov cl, byte [ebp - 0xc8]
add cl, 1
mov byte [ebp - 0xc8], cl
movzx edx, byte [ebp - 0xc9]
add edx, dword [ebp - 0x6c0]
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xcc]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
movzx ecx, byte [ebp - 0xca]
mov dl, byte [ebp + eax - 0x6b8]
mov byte [ebp + ecx - 0x6b8], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp - 0xd0]
mov byte [ebp + eax - 0x6b8], cl
movzx edx, byte [ebp - 0xd0]
movzx eax, byte [ebp + edx - 0x6b8]
movzx ecx, byte [ebp - 0xd1]
add ecx, eax
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xd2]
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
xor edx, ecx
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x6b8]
movzx eax, byte [ebp - 0xcc]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
movzx eax, byte [ebp - 0xd1]
movzx eax, byte [ebp + eax - 0x6b8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6b8]
movzx eax, byte [ebp + ecx - 0x6b8]
xor edx, eax
mov byte [ebp - 0xca], dl
mov cl, byte [ebp - 0xd2]
mov byte [ebp - 0xcc], cl
mov dl, byte [ebp - 0xca]
mov byte [ebp - 0xd4], dl
cmp dword [ebp - 0xe0], 0
jle 0x51e5e0
movsx ax, byte [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, 2
imul eax, edx, 0x1b
mov dword [ebp - 0x574], eax
cmp dword [ebp - 0x574], 0x38
jae 0x51e5f9
jmp 0x51e5ff
call fcn.00522f55
nop
xor ecx, ecx
mov edx, dword [ebp - 0x574]
mov word [ebp + edx - 0x48], cx
jmp 0x51e660
mov dword [ebp - 0x2e4], 0
jmp 0x51e629
mov eax, dword [ebp - 0x2e4]
add eax, 1
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0x1c
jge 0x51e660
mov ecx, dword [ebp - 0x2e4]
shl ecx, 1
mov dword [ebp - 0x578], ecx
cmp dword [ebp - 0x578], 0x38
jae 0x51e64b
jmp 0x51e651
call fcn.00522f55
nop
xor edx, edx
mov eax, dword [ebp - 0x578]
mov word [ebp + eax - 0x48], dx
jmp 0x51e61a
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x2d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x2b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x2b8], xmm0
jmp 0x51e6af
movsd xmm0, qword [ebp - 0x2b8]
addsd xmm0, qword [0x534558]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [0x537840]
comisd xmm0, xmmword [ebp - 0x2b8]
jbe 0x51e760
movsd xmm0, qword [0x5377b8]
mulsd xmm0, qword [ebp - 0x2b8]
mulsd xmm0, qword [ebp - 0x2b8]
movsd xmm1, qword [ebp - 0x2b8]
mulsd xmm1, qword [ebp - 0x2b8]
subsd xmm0, xmm1
movsd xmm1, qword [0x537380]
mulsd xmm1, qword [ebp - 0x2b8]
mulsd xmm1, qword [ebp - 0x2b8]
addsd xmm1, qword [0x537738]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x2d0]
movsd qword [ebp - 0x2d0], xmm0
movsd xmm0, qword [ebp - 0x2d0]
comisd xmm0, xmmword [0x537798]
jbe 0x51e75b
movsd xmm0, qword [0x5376a8]
mulsd xmm0, qword [ebp - 0x2b8]
movsd xmm1, qword [ebp - 0x2d0]
subsd xmm1, xmm0
movsd qword [ebp - 0x2d0], xmm1
jmp 0x51e697
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x2d0]
jbe 0x51e7d1
out dx, eax
aad 0xef
xlatb
call 0xf124cd45
shl ebx, 1
fsub st(4)
aam 0xef
salc
out dx, al
xlatb
int1
aam 0xe9
shl ebx, cl
sal al, 1
aad 0xe7
iretd
mov dword [ebp - 0xb8], 0x51e76d
mov dword [ebp - 0xbc], 0x51e7b5
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x6bc], edx
mov byte [ebp - 0x1e2], 0x1b
mov dword [ebp - 0x184], 0
jmp 0x51e81f
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0x100
jae 0x51e840
mov ecx, dword [ebp - 0x184]
mov dl, byte [ebp - 0x184]
mov byte [ebp + ecx - 0x564], dl
jmp 0x51e810
mov dword [ebp - 0x280], 0
mov byte [ebp - 0xda], 0
mov dword [ebp - 0x184], 0xff
jmp 0x51e86c
mov eax, dword [ebp - 0x184]
sub eax, 1
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
jbe 0x51eadc
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x2e8], 1
mov ecx, dword [ebp - 0x2e8]
cmp ecx, dword [ebp - 0x184]
jae 0x51e8ad
mov edx, dword [ebp - 0x2e8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x2e8], eax
jmp 0x51e88d
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x584], ecx
cmp dword [ebp - 0x584], 3
ja case.default.0x51e8cc
mov edx, dword [ebp - 0x584]
jmp dword [edx*4 + 0x521988]
movzx eax, byte [ebp - 0xda]
movzx ebx, byte [ebp + eax - 0x564]
movsd xmm0, qword [ebp - 0x2d0]
call fcn.00523390
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x51e9b5
movzx ecx, byte [ebp - 0xda]
movzx ebx, byte [ebp + ecx - 0x564]
movsd xmm0, qword [ebp - 0x2d0]
call fcn.00523390
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x51e9b5
movzx edx, byte [ebp - 0xda]
movzx ebx, byte [ebp + edx - 0x564]
movsd xmm0, qword [ebp - 0x2d0]
call fcn.00523390
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x51e9b5
movzx eax, byte [ebp - 0xda]
movzx ebx, byte [ebp + eax - 0x564]
movsd xmm0, qword [ebp - 0x2d0]
call fcn.00523390
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x51e9b5
movzx ecx, byte [ebp - 0xda]
movzx edx, byte [ebp + ecx - 0x564]
mov eax, dword [ebp - 0x6bc]
add eax, dword [ebp - 0x280]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0xda], dl
mov edx, dword [ebp - 0x280]
add edx, 1
mov dword [ebp - 0x280], edx
movzx eax, byte [ebp - 0x1e2]
cmp dword [ebp - 0x280], eax
jb 0x51e9f3
mov dword [ebp - 0x280], 0
movzx ecx, byte [ebp - 0x1e2]
movzx edx, byte [ebp - 0xda]
add edx, ecx
mov byte [ebp - 0xda], dl
movzx eax, byte [ebp - 0xda]
and eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
cmp dword [ebp - 0x430], 0xb
jbe 0x51ea32
mov eax, dword [ebp - 0x23c]
xor edx, edx
div dword [ebp - 0x184]
mov dword [ebp - 0x23c], edx
mov edx, dword [ebp - 0x23c]
cmp edx, dword [ebp - 0x184]
ja 0x51e8ad
mov eax, dword [ebp - 0x184]
cmp eax, dword [ebp - 0x23c]
je 0x51ead7
mov ecx, dword [ebp - 0x23c]
movzx edx, byte [ebp + ecx - 0x564]
mov eax, dword [ebp - 0x184]
movzx ecx, byte [ebp + eax - 0x564]
xor ecx, edx
mov edx, dword [ebp - 0x184]
mov byte [ebp + edx - 0x564], cl
mov eax, dword [ebp - 0x184]
movzx ecx, byte [ebp + eax - 0x564]
mov edx, dword [ebp - 0x23c]
movzx eax, byte [ebp + edx - 0x564]
xor eax, ecx
mov ecx, dword [ebp - 0x23c]
mov byte [ebp + ecx - 0x564], al
mov edx, dword [ebp - 0x23c]
movzx eax, byte [ebp + edx - 0x564]
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ebp + ecx - 0x564]
xor edx, eax
mov eax, dword [ebp - 0x184]
mov byte [ebp + eax - 0x564], dl
jmp 0x51e85d
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xc5], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xc6], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xce], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xc7], dl
movzx eax, byte [ebp - 0xda]
mov cl, byte [ebp + eax - 0x564]
mov byte [ebp - 0xcb], cl
mov dword [ebp - 0x588], 0x48
cmp dword [ebp - 0x588], 2
jle 0x5217ea
mov edx, dword [ebp - 0x588]
and edx, 1
jne 0x5217ea
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x124], 0
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x10c], 0
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x110]
add ecx, 0xe3
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x12c], 0
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x114]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x120]
add eax, 0xcb
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0x118]
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x11c], 0
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x120]
add edx, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x118]
shl eax, 4
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], 0
movsd xmm0, qword [0x537a08]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [0x5379b0]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [0x537948]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [0x5378f8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [0x537860]
movsd qword [ebp - 0x268], xmm0
movsd xmm0, qword [0x5377f0]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x210]
mulsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x224]
mulsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x224]
addsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x210]
subsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x22c]
subsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x224]
subsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x1c8]
comisd xmm0, xmmword [ebp - 0x224]
jbe 0x51f023
movsd xmm0, qword [ebp - 0x224]
mulsd xmm0, qword [ebp - 0x22c]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x21c]
divsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x1c8]
mulsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x1c8]
subsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x21c]
addsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x1c8]
subsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x1c8]
subsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x1c8]
mulsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x210]
subsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x210]
divsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x22c]
subsd xmm0, qword [ebp - 0x268]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x21c]
addsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x224]
comisd xmm0, xmmword [ebp - 0x268]
jbe 0x51ef8e
movsd xmm0, qword [ebp - 0x22c]
mulsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x22c]
divsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x268]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x22c]
subsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x1c8]
divsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x224]
mulsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x224], xmm0
jmp 0x51f01e
movsd xmm0, qword [ebp - 0x21c]
subsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x22c]
addsd xmm0, qword [ebp - 0x268]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x268]
addsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x268], xmm0
movsd xmm0, qword [ebp - 0x1c8]
addsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [ebp - 0x268]
divsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x268], xmm0
movsd xmm0, qword [ebp - 0x268]
addsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x268], xmm0
jmp 0x51f0c5
movsd xmm0, qword [ebp - 0x268]
subsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x268], xmm0
movsd xmm0, qword [ebp - 0x22c]
mulsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x22c], xmm0
movsd xmm0, qword [ebp - 0x224]
subsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x268]
mulsd xmm0, qword [ebp - 0x1c8]
movsd qword [ebp - 0x268], xmm0
movsd xmm0, qword [ebp - 0x21c]
mulsd xmm0, qword [ebp - 0x22c]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x22c]
addsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x22c], xmm0
mov edx, dword [ebp - 0x138]
or edx, dword [ebp - 0x130]
mov dword [ebp - 0x134], edx
mov byte [ebp - 0xcf], 0
mov al, byte [ebp - 0x134]
mov byte [ebp - 0xcf], al
mov byte [ebp - 0xcd], 0
movzx ecx, byte [ebp - 0xcb]
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xcd], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x564]
mov dword [ebp - 0x730], ecx
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x730]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xcd]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x564]
movzx edx, byte [ebp - 0xce]
add edx, ecx
mov byte [ebp - 0xce], dl
movzx eax, byte [ebp - 0xcf]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x564]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x564]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x564]
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
movzx ecx, byte [ebp - 0xce]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x564]
movzx ecx, byte [ebp + edx - 0x564]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], al
cmp dword [ebp - 0xd8], 0
jle 0x51f26d
movsx cx, byte [ebp - 0xd3]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x92], cx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], 0xe3
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x120], 0xcb
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x110]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x120]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x118]
shl edx, 4
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x138]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], ecx
mov dl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], dl
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + eax - 0x564]
mov byte [ebp - 0xcd], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x564]
mov dword [ebp - 0x6cc], eax
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
add edx, dword [ebp - 0x6cc]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xcb]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xcd]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x564]
movzx ecx, byte [ebp - 0xce]
add ecx, eax
mov byte [ebp - 0xce], cl
movzx edx, byte [ebp - 0xcf]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x564]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x564]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x564]
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
movzx eax, byte [ebp - 0xce]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp + ecx - 0x564]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], dl
cmp dword [ebp - 0xd8], 0
jle 0x51f4d2
movsx ax, byte [ebp - 0xd3]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, dword [ebp - 0xf4]
add edx, 0xd
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0x42c], eax
jmp 0x51f501
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x42c]
cmp edx, dword [ebp - 0xf4]
jge 0x51fef8
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xe3
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x120], 0xcb
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x118]
shl ecx, 4
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], cl
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + edx - 0x564]
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x564]
mov dword [ebp - 0x72c], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x72c]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movss xmm0, dword [0x537c78]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [0x537c3c]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [0x537c08]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [0x537bd0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x537b98]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [0x537b4c]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x188]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x188]
comiss xmm0, dword [ebp - 0xec]
jbe 0x51fba7
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0x188]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x188]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0x188]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0x188]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x188]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [ebp - 0xf0]
comiss xmm0, dword [ebp - 0xe4]
jbe 0x51fb12
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xec]
divss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x188]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0x188]
comiss xmm0, dword [ebp - 0xec]
jbe 0x51fa7d
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
jmp 0x51fb0d
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
jmp 0x51fba2
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf0]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0x188]
movss dword [ebp - 0xe8], xmm0
jmp 0x51fc4b
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0xec]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xe8]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0x188]
movss dword [ebp - 0xec], xmm0
movss xmm0, dword [ebp - 0x188]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x188], xmm0
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xcd]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp - 0xce]
add eax, edx
mov byte [ebp - 0xce], al
movzx ecx, byte [ebp - 0xcf]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
movzx edx, byte [ebp - 0xce]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
movzx edx, byte [ebp + eax - 0x564]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], al
movss xmm0, dword [0x537cac]
movss dword [ebp - 0x1b8], xmm0
movss xmm0, dword [0x537c74]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [0x537c1c]
movss dword [ebp - 0x1f8], xmm0
movss xmm0, dword [0x537bcc]
movss dword [ebp - 0x230], xmm0
movss xmm0, dword [0x537b6c]
movss dword [ebp - 0x1f0], xmm0
movss xmm0, dword [ebp - 0x260]
addss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x1f8]
subss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x1f8], xmm0
movss xmm0, dword [ebp - 0x1f8]
subss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x1f8], xmm0
movss xmm0, dword [ebp - 0x1f8]
mulss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x1f8], xmm0
movss xmm0, dword [ebp - 0x260]
subss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x1f8]
comiss xmm0, dword [ebp - 0x1f0]
jbe 0x51fe5c
movss xmm0, dword [ebp - 0x230]
subss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x230], xmm0
movss xmm0, dword [ebp - 0x1b8]
addss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x1b8], xmm0
movss xmm0, dword [ebp - 0x1b8]
mulss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x1b8], xmm0
movss xmm0, dword [ebp - 0x1b8]
addss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x1b8], xmm0
movss xmm0, dword [ebp - 0x1f0]
mulss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x1f0], xmm0
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], cl
jmp 0x51fed4
movss xmm0, dword [ebp - 0x230]
addss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x230], xmm0
movss xmm0, dword [ebp - 0x1f8]
addss xmm0, dword [ebp - 0x1f0]
movss dword [ebp - 0x1f8], xmm0
movss xmm0, dword [ebp - 0x230]
addss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x230], xmm0
movss xmm0, dword [ebp - 0x1b8]
mulss xmm0, dword [ebp - 0x1f8]
movss dword [ebp - 0x1b8], xmm0
movss xmm0, dword [ebp - 0x230]
subss xmm0, dword [ebp - 0x1b8]
movss dword [ebp - 0x230], xmm0
cmp dword [ebp - 0xd8], 0
jle 0x51fef3
movsx dx, byte [ebp - 0xd3]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x92], dx
jmp 0x51f4f2
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xe3
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x120], 0xcb
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x118]
shl ecx, 4
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], cl
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + edx - 0x564]
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x564]
mov dword [ebp - 0x728], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x728]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xcd]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp - 0xce]
add eax, edx
mov byte [ebp - 0xce], al
movzx ecx, byte [ebp - 0xcf]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
movzx edx, byte [ebp - 0xce]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
movzx edx, byte [ebp + eax - 0x564]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], cl
cmp dword [ebp - 0xd8], 0
jle 0x520169
movsx dx, byte [ebp - 0xd3]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x92], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x110], 0xe3
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x120], 0xcb
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x110]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x120]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x118]
shl eax, 4
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x138]
or edx, dword [ebp - 0x130]
mov dword [ebp - 0x134], edx
mov al, byte [ebp - 0x134]
mov byte [ebp - 0xcf], al
movzx ecx, byte [ebp - 0xcb]
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xcd], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x564]
mov dword [ebp - 0x704], ecx
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x704]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xcd]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x564]
movzx edx, byte [ebp - 0xce]
add edx, ecx
mov byte [ebp - 0xce], dl
movzx eax, byte [ebp - 0xcf]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x564]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x564]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x564]
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
movzx ecx, byte [ebp - 0xce]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x564]
movzx ecx, byte [ebp + edx - 0x564]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], al
cmp dword [ebp - 0xd8], 0
jle 0x5203ce
movsx cx, byte [ebp - 0xd3]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x92], cx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], 0xe3
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x120], 0xcb
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x110]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x120]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x118]
shl edx, 4
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x138]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], ecx
mov dl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], dl
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + eax - 0x564]
mov byte [ebp - 0xcd], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x564]
mov dword [ebp - 0x6f4], eax
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
add edx, dword [ebp - 0x6f4]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xcb]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xcd]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x564]
movzx ecx, byte [ebp - 0xce]
add ecx, eax
mov byte [ebp - 0xce], cl
movzx edx, byte [ebp - 0xcf]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x564]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x564]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x564]
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
movzx eax, byte [ebp - 0xce]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp + ecx - 0x564]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], dl
cmp dword [ebp - 0xd8], 0
jle 0x520633
movsx ax, byte [ebp - 0xd3]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, dword [ebp - 0xf4]
add edx, 0xe
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0x428], eax
jmp 0x520662
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
cmp edx, dword [ebp - 0xf4]
jge 0x520c4c
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xe3
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x120], 0xcb
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x118]
shl ecx, 4
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
movss xmm0, dword [0x537c38]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [0x537bd8]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [0x537b70]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
comiss xmm0, dword [ebp - 0x1a0]
jbe 0x520812
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x1a0]
subss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x140]
mulss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x140], xmm0
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], cl
jmp 0x520945
movss xmm0, dword [ebp - 0x140]
subss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x140]
addss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x1a0]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0x1a0], xmm0
movss xmm0, dword [ebp - 0x108]
divss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
divss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x1a0]
comiss xmm0, dword [ebp - 0x140]
jbe 0x5208fd
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x140]
mulss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
jmp 0x520945
movss xmm0, dword [ebp - 0x140]
mulss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x140]
divss xmm0, dword [ebp - 0x1a0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x108]
divss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x108], xmm0
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + edx - 0x564]
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x564]
mov dword [ebp - 0x700], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x700]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xcd]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp - 0xce]
add eax, edx
mov byte [ebp - 0xce], al
movss xmm0, dword [0x537cb0]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [0x537c5c]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [0x537bf0]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [0x537b84]
movss dword [ebp - 0x214], xmm0
movss xmm0, dword [ebp - 0x150]
mulss xmm0, dword [ebp - 0x214]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
mulss xmm0, dword [ebp - 0x214]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
subss xmm0, dword [ebp - 0x214]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
mulss xmm0, dword [ebp - 0x214]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
comiss xmm0, dword [ebp - 0x214]
jbe 0x520bb0
movss xmm0, dword [ebp - 0x214]
subss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x214], xmm0
movss xmm0, dword [ebp - 0x2ec]
addss xmm0, dword [ebp - 0x150]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x2ec]
addss xmm0, dword [ebp - 0x150]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x214]
subss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x214], xmm0
movzx ecx, byte [ebp - 0xcf]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
movzx edx, byte [ebp - 0xce]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
movzx edx, byte [ebp + eax - 0x564]
xor ecx, edx
mov byte [ebp - 0xc7], cl
jmp 0x520c10
movss xmm0, dword [ebp - 0x150]
mulss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
divss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
divss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x150], xmm0
movss xmm0, dword [ebp - 0x150]
subss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x150], xmm0
mov al, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], cl
cmp dword [ebp - 0xd8], 0
jle 0x520c47
movsx dx, byte [ebp - 0xd3]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x92], dx
jmp 0x520653
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xe3
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x120], 0xcb
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x118]
shl ecx, 4
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], cl
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + edx - 0x564]
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x564]
mov dword [ebp - 0x6fc], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x6fc]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xcd]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp - 0xce]
add eax, edx
mov byte [ebp - 0xce], al
movzx ecx, byte [ebp - 0xcf]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
movzx edx, byte [ebp - 0xce]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
movzx edx, byte [ebp + eax - 0x564]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], cl
cmp dword [ebp - 0xd8], 0
jle 0x520ebd
movsx dx, byte [ebp - 0xd3]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x92], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x124]
movzx edx, byte [ecx]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x110], 0xe3
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x120], 0xcb
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x110]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x120]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x118]
shl eax, 4
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x138]
or edx, dword [ebp - 0x130]
mov dword [ebp - 0x134], edx
mov al, byte [ebp - 0x134]
mov byte [ebp - 0xcf], al
movzx ecx, byte [ebp - 0xcb]
mov dl, byte [ebp + ecx - 0x564]
mov byte [ebp - 0xcd], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x564]
mov dword [ebp - 0x6f8], ecx
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x6f8]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x564]
mov byte [ebp + edx - 0x564], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xcd]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x564]
movzx edx, byte [ebp - 0xce]
add edx, ecx
mov byte [ebp - 0xce], dl
movzx eax, byte [ebp - 0xcf]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x564]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x564]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x564]
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
movzx ecx, byte [ebp - 0xce]
movzx ecx, byte [ebp + ecx - 0x564]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x564]
movzx ecx, byte [ebp + edx - 0x564]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], al
cmp dword [ebp - 0xd8], 0
jle 0x521122
movsx cx, byte [ebp - 0xd3]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x92], cx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 1
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x124]
movzx ecx, byte [eax]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], 0xe3
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x120], 0xcb
mov eax, dword [ebp - 0x10c]
sub eax, dword [ebp - 0x110]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x120]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x118]
shl edx, 4
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x138]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], ecx
mov dl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], dl
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + eax - 0x564]
mov byte [ebp - 0xcd], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x564]
mov dword [ebp - 0x6f0], eax
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
add edx, dword [ebp - 0x6f0]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xcb]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x564]
mov byte [ebp + ecx - 0x564], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xcd]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x564]
movzx ecx, byte [ebp - 0xce]
add ecx, eax
mov byte [ebp - 0xce], cl
movzx edx, byte [ebp - 0xcf]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x564]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x564]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x564]
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
movzx eax, byte [ebp - 0xce]
movzx eax, byte [ebp + eax - 0x564]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp + ecx - 0x564]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], dl
cmp dword [ebp - 0xd8], 0
jle 0x521387
movsx ax, byte [ebp - 0xd3]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x124]
movzx eax, byte [edx]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], 0xe3
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x128]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x120], 0xcb
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x118]
shl ecx, 4
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x130]
mov dword [ebp - 0x134], eax
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0xcf], cl
movzx edx, byte [ebp - 0xcb]
mov al, byte [ebp + edx - 0x564]
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x564]
mov dword [ebp - 0x6ec], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x6ec]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xcb]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x564]
mov byte [ebp + eax - 0x564], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xcd]
mov byte [ebp + edx - 0x564], al
movsd xmm0, qword [0x537b30]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [0x537ad8]
movsd qword [ebp - 0x2ac], xmm0
movsd xmm0, qword [0x537a48]
movsd qword [ebp - 0x2fc], xmm0
movsd xmm0, qword [0x537990]
movsd qword [ebp - 0x304], xmm0
movsd xmm0, qword [0x537888]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x2ac]
mulsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2ac], xmm0
movsd xmm0, qword [ebp - 0x2ac]
mulsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2ac], xmm0
movsd xmm0, qword [ebp - 0x304]
addsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x304], xmm0
movsd xmm0, qword [ebp - 0x5ac]
subsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x5ac], xmm0
movsd xmm0, qword [ebp - 0x304]
subsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x304], xmm0
movsd xmm0, qword [ebp - 0x2ac]
comisd xmm0, xmmword [ebp - 0x2a4]
jbe 0x521686
movsd xmm0, qword [ebp - 0x2fc]
addsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2fc], xmm0
movsd xmm0, qword [ebp - 0x2fc]
addsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2fc], xmm0
movsd xmm0, qword [ebp - 0x2ac]
subsd xmm0, qword [ebp - 0x304]
movsd qword [ebp - 0x2ac], xmm0
movsd xmm0, qword [ebp - 0x2ac]
subsd xmm0, qword [ebp - 0x304]
movsd qword [ebp - 0x2ac], xmm0
movsd xmm0, qword [ebp - 0x5ac]
mulsd xmm0, qword [ebp - 0x2fc]
movsd qword [ebp - 0x5ac], xmm0
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x564]
movzx eax, byte [ebp - 0xce]
add eax, edx
mov byte [ebp - 0xce], al
jmp 0x5216fe
movsd xmm0, qword [ebp - 0x2fc]
divsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2fc], xmm0
movsd xmm0, qword [ebp - 0x2ac]
subsd xmm0, qword [ebp - 0x304]
movsd qword [ebp - 0x2ac], xmm0
movsd xmm0, qword [ebp - 0x304]
divsd xmm0, qword [ebp - 0x5ac]
movsd qword [ebp - 0x304], xmm0
movsd xmm0, qword [ebp - 0x2fc]
addsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2fc], xmm0
movsd xmm0, qword [ebp - 0x2a4]
subsd xmm0, qword [ebp - 0x2ac]
movsd qword [ebp - 0x2a4], xmm0
movzx ecx, byte [ebp - 0xcf]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x564]
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
movzx edx, byte [ebp - 0xce]
movzx edx, byte [ebp + edx - 0x564]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x564]
movzx edx, byte [ebp + eax - 0x564]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcf]
mov byte [ebp - 0xcb], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd3], cl
cmp dword [ebp - 0xd8], 0
jle 0x5217b9
movsx dx, byte [ebp - 0xd3]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x92], dx
mov ecx, 2
imul edx, ecx, 0x23
mov dword [ebp - 0x5b0], edx
cmp dword [ebp - 0x5b0], 0x48
jae 0x5217d2
jmp 0x5217d8
call fcn.00522f55
nop
xor eax, eax
mov ecx, dword [ebp - 0x5b0]
mov word [ebp + ecx - 0x90], ax
jmp 0x52183f
mov dword [ebp - 0x2f0], 0
jmp 0x521805
mov edx, dword [ebp - 0x2f0]
add edx, 1
mov dword [ebp - 0x2f0], edx
cmp dword [ebp - 0x2f0], 0x24
jge 0x52183f
mov eax, dword [ebp - 0x2f0]
shl eax, 1
mov dword [ebp - 0x5b8], eax
cmp dword [ebp - 0x5b8], 0x48
jae 0x521827
jmp 0x52182d
call fcn.00522f55
nop
xor ecx, ecx
mov edx, dword [ebp - 0x5b8]
mov word [ebp + edx - 0x90], cx
jmp 0x5217f6
lea eax, [ebp - 0xb4]
push eax
push 2
push 0
lea ecx, [ebp - 0x9c]
push ecx
push 0x100
lea edx, [ebp - 0x48]
push edx
push SysReAllocStringLen
mov ecx, dword [ebp - 0x5b4]
call fcn.005219a0
lea eax, [ebp - 0xb4]
push eax
push 1
push 0
lea ecx, [ebp - 0x9c]
push ecx
push 0x100
lea edx, [ebp - 0x90]
push edx
push SysReAllocStringLen
mov ecx, dword [ebp - 0x5b4]
call fcn.005219a0
mov byte [ebp - 0x1e1], 0
mov dword [ebp - 0x2b0], 0
jmp 0x5218ba
mov eax, dword [ebp - 0x2b0]
add eax, 1
mov dword [ebp - 0x2b0], eax
lea ecx, [ebp - 0x9c]
call fcn.00505af0
cmp dword [ebp - 0x2b0], eax
jae 0x52191b
mov ecx, dword [ebp - 0x2b0]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.004eaa30
mov edx, dword [eax]
cmp dword [edx + 0x44], 0
je 0x5218ee
mov byte [ebp - 0x1e1], 1
mov eax, dword [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x9c]
call fcn.004eaa30
mov ecx, dword [eax]
mov dword [ebp - 0x6e8], ecx
push 0x48
mov edx, dword [ebp - 0x6e8]
push edx
call fcn.00522de5
add esp, 8
jmp 0x5218ab
lea ecx, [ebp - 0x9c]
call fcn.005221e0
nop
mov al, byte [ebp - 0x1e1]
mov byte [ebp - 0x255], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb4]
call fcn.004a4bc0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.004ea9d0
mov al, byte [ebp - 0x255]
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