Function at 0x52b0d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54663d
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
mov eax, dword [0x5ec268]
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 - 0x2e8], ecx
push 0xc
lea ecx, [ebp - 0x90]
call fcn.00475830
lea ecx, [ebp - 0x90]
call fcn.004b8990
mov dword [ebp - 4], 0
push 0x48
call fcn.00533ecd
add esp, 4
mov dword [ebp - 0x2a8], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2a8], 0
je 0x52b33f
mov byte [ebp - 0x244], 0xbf
mov byte [ebp - 0x243], 0xbb
mov byte [ebp - 0x242], 0xa8
mov byte [ebp - 0x241], 0x24
mov byte [ebp - 0x240], 0x54
mov byte [ebp - 0x23f], 0x32
mov byte [ebp - 0x23e], 0xc3
mov byte [ebp - 0x23d], 0xe4
mov byte [ebp - 0x23c], 0xff
mov byte [ebp - 0x23b], 0xcd
mov byte [ebp - 0x23a], 0x2a
mov byte [ebp - 0x239], 0x5f
mov byte [ebp - 0x238], 0x2e
mov byte [ebp - 0x237], 0xf2
mov byte [ebp - 0x236], 0xf3
mov byte [ebp - 0x235], 0xc
mov byte [ebp - 0x234], 0x4c
mov byte [ebp - 0x233], 0x60
mov byte [ebp - 0x232], 0x94
mov byte [ebp - 0x231], 0xad
mov byte [ebp - 0x230], 0x5b
mov byte [ebp - 0x22f], 0x49
mov byte [ebp - 0x22e], 0x50
mov byte [ebp - 0x22d], 0xfa
mov byte [ebp - 0x22c], 0x8d
mov byte [ebp - 0x22b], 0x92
mov byte [ebp - 0x22a], 0xba
mov byte [ebp - 0x229], 0
mov byte [ebp - 0x228], 0x41
mov byte [ebp - 0x227], 0x11
mov byte [ebp - 0x226], 0xee
mov byte [ebp - 0x225], 0xa1
mov byte [ebp - 0x264], 0x4b
mov byte [ebp - 0x263], 0xe4
mov byte [ebp - 0x262], 0x8b
mov byte [ebp - 0x261], 0x6a
mov byte [ebp - 0x260], 0x92
mov byte [ebp - 0x25f], 0xbc
mov byte [ebp - 0x25e], 0x6d
mov byte [ebp - 0x25d], 0x9b
mov byte [ebp - 0x25c], 0x52
mov byte [ebp - 0x25b], 0x6a
mov byte [ebp - 0x25a], 0x50
mov byte [ebp - 0x259], 0x62
mov byte [ebp - 0x258], 0x6c
mov byte [ebp - 0x257], 0x62
mov byte [ebp - 0x256], 0xec
mov byte [ebp - 0x255], 0x5b
mov byte [ebp - 0x254], 0x43
mov byte [ebp - 0x253], 0xc5
mov byte [ebp - 0x252], 0x73
mov byte [ebp - 0x251], 0x5b
mov byte [ebp - 0x250], 0x69
mov byte [ebp - 0x24f], 0x30
mov byte [ebp - 0x24e], 0xbe
mov byte [ebp - 0x24d], 0x79
mov byte [ebp - 0x24c], 0xf4
mov byte [ebp - 0x24b], 0x5e
mov byte [ebp - 0x24a], 0x90
mov byte [ebp - 0x249], 0x2e
mov byte [ebp - 0x248], 0x3b
mov byte [ebp - 0x247], 0x3a
mov byte [ebp - 0x246], 0xef
mov byte [ebp - 0x245], 0x54
push 0
push 1
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x244]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x264]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x2a8]
call fcn.0051d340
mov dword [ebp - 0x2ac], eax
jmp 0x52b349
mov dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x300], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2c0], ecx
lea edx, [ebp - 0x2c0]
push edx
lea ecx, [ebp - 0x90]
call fcn.004d9660
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1ec], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c8], xmm0
jmp 0x52b3c6
movsd xmm0, qword [ebp - 0x1c8]
addsd xmm0, qword [0x548948]
movsd qword [ebp - 0x1c8], xmm0
movsd xmm0, qword [0x54c4f0]
comisd xmm0, xmmword [ebp - 0x1c8]
jbe 0x52b477
movsd xmm0, qword [0x54c438]
mulsd xmm0, qword [ebp - 0x1c8]
mulsd xmm0, qword [ebp - 0x1c8]
movsd xmm1, qword [ebp - 0x1c8]
mulsd xmm1, qword [ebp - 0x1c8]
subsd xmm0, xmm1
movsd xmm1, qword [0x54c380]
mulsd xmm1, qword [ebp - 0x1c8]
mulsd xmm1, qword [ebp - 0x1c8]
addsd xmm1, qword [0x54c3a0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x1ec]
movsd qword [ebp - 0x1ec], xmm0
movsd xmm0, qword [ebp - 0x1ec]
comisd xmm0, xmmword [0x54c3e0]
jbe 0x52b472
movsd xmm0, qword [0x54c330]
mulsd xmm0, qword [ebp - 0x1c8]
movsd xmm1, qword [ebp - 0x1ec]
subsd xmm1, xmm0
movsd qword [ebp - 0x1ec], xmm1
jmp 0x52b3ae
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x1ec]
jbe 0x52b4b1
sub byte [edx], bh
dec ebp
xor eax, 0x6f745e6a
sub dword [esi + 0x29], edi
sub dword [esi + 0x32], edi
xor dh, byte [esi]
push edi
wait
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
stosb byte es:[edi], al
movsd dword es:[edi], dword [esi]
lodsb al, byte [esi]
mov eax, dword [0xa4a79eab]
movsd dword es:[edi], dword [esi]
pushfd
cmpsd dword [esi], dword es:[edi]
mov dword [0xa5a39aaf], eax
cmpsd dword [esi], dword es:[edi]
popfd
mov eax, dword [0x1da5e9]
add bh, al
test dword [eax - 1], ecx
invalid
mov dword [ebp - 0xb8], 0x52b496
mov dword [ebp - 0xb4], 0x52b484
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x2c4], ecx
mov byte [ebp - 0x17f], 0x16
mov dword [ebp - 0xf4], 0
jmp 0x52b4ff
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0x100
jae 0x52b520
mov eax, dword [ebp - 0xf4]
mov cl, byte [ebp - 0xf4]
mov byte [ebp + eax - 0x404], cl
jmp 0x52b4f0
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0xc7], 0
mov dword [ebp - 0xf4], 0xff
jmp 0x52b54c
mov edx, dword [ebp - 0xf4]
sub edx, 1
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0
jbe 0x52b7bc
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x200], 1
mov eax, dword [ebp - 0x200]
cmp eax, dword [ebp - 0xf4]
jae 0x52b58d
mov ecx, dword [ebp - 0x200]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x200], edx
jmp 0x52b56d
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 3
ja case.default.0x52b5ac
mov ecx, dword [ebp - 0x2bc]
jmp dword [ecx*4 + 0x52ed34]
movzx edx, byte [ebp - 0xc7]
movzx ebx, byte [ebp + edx - 0x404]
movsd xmm0, qword [ebp - 0x1ec]
call fcn.00534880
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc7], bl
jmp 0x52b695
movzx eax, byte [ebp - 0xc7]
movzx ebx, byte [ebp + eax - 0x404]
movsd xmm0, qword [ebp - 0x1ec]
call fcn.00534880
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc7], bl
jmp 0x52b695
movzx ecx, byte [ebp - 0xc7]
movzx ebx, byte [ebp + ecx - 0x404]
movsd xmm0, qword [ebp - 0x1ec]
call fcn.00534880
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc7], bl
jmp 0x52b695
movzx edx, byte [ebp - 0xc7]
movzx ebx, byte [ebp + edx - 0x404]
movsd xmm0, qword [ebp - 0x1ec]
call fcn.00534880
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc7], bl
jmp 0x52b695
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x404]
mov edx, dword [ebp - 0x2c4]
add edx, dword [ebp - 0x1b4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xc7], cl
mov ecx, dword [ebp - 0x1b4]
add ecx, 1
mov dword [ebp - 0x1b4], ecx
movzx edx, byte [ebp - 0x17f]
cmp dword [ebp - 0x1b4], edx
jb 0x52b6d3
mov dword [ebp - 0x1b4], 0
movzx eax, byte [ebp - 0x17f]
movzx ecx, byte [ebp - 0xc7]
add ecx, eax
mov byte [ebp - 0xc7], cl
movzx edx, byte [ebp - 0xc7]
and edx, dword [ebp - 0x200]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x26c]
add eax, 1
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0xb
jbe 0x52b712
mov eax, dword [ebp - 0x190]
xor edx, edx
div dword [ebp - 0xf4]
mov dword [ebp - 0x190], edx
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [ebp - 0xf4]
ja 0x52b58d
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0x190]
je 0x52b7b7
mov eax, dword [ebp - 0x190]
movzx ecx, byte [ebp + eax - 0x404]
mov edx, dword [ebp - 0xf4]
movzx eax, byte [ebp + edx - 0x404]
xor eax, ecx
mov ecx, dword [ebp - 0xf4]
mov byte [ebp + ecx - 0x404], al
mov edx, dword [ebp - 0xf4]
movzx eax, byte [ebp + edx - 0x404]
mov ecx, dword [ebp - 0x190]
movzx edx, byte [ebp + ecx - 0x404]
xor edx, eax
mov eax, dword [ebp - 0x190]
mov byte [ebp + eax - 0x404], dl
mov ecx, dword [ebp - 0x190]
movzx edx, byte [ebp + ecx - 0x404]
mov eax, dword [ebp - 0xf4]
movzx ecx, byte [ebp + eax - 0x404]
xor ecx, edx
mov edx, dword [ebp - 0xf4]
mov byte [ebp + edx - 0x404], cl
jmp 0x52b53d
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xb9], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xbb], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xc2], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xbc], cl
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + edx - 0x404]
mov byte [ebp - 0xbf], al
mov dword [ebp - 0x29c], 0x16
cmp dword [ebp - 0x29c], 2
jle 0x52d205
mov ecx, dword [ebp - 0x29c]
and ecx, 1
jne 0x52d205
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xf8], 0
mov edx, dword [ebp - 0xf8]
add edx, 1
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x160], 0
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x160]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x120]
add eax, 0x98
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x164]
add eax, dword [ebp - 0x168]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x124]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x128]
add edx, 0xa1
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x120]
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x130]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x16c], 0
mov edx, dword [ebp - 0x12c]
shl edx, 4
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x16c]
or ecx, dword [ebp - 0x170]
mov dword [ebp - 0x174], ecx
mov byte [ebp - 0xc3], 0
mov dl, byte [ebp - 0x174]
mov byte [ebp - 0xc3], dl
mov byte [ebp - 0xc1], 0
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x404]
mov dword [ebp - 0x2cc], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x2cc]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movsd xmm0, qword [0x54c6d8]
movsd qword [ebp - 0x284], xmm0
movsd xmm0, qword [0x54c6a0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [0x54c670]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [0x54c5f8]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [0x54c590]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [0x54c508]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [0x54c478]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1dc]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x214]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x1dc]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x20c]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x1c0]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x1b0]
comisd xmm0, xmmword [ebp - 0x1c0]
jbe 0x52bc43
movsd xmm0, qword [ebp - 0x284]
subsd xmm0, qword [ebp - 0x214]
movsd qword [ebp - 0x284], xmm0
movsd xmm0, qword [ebp - 0x1dc]
mulsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x284]
divsd xmm0, qword [ebp - 0x214]
movsd qword [ebp - 0x284], xmm0
movsd xmm0, qword [ebp - 0x1c0]
divsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x28c]
addsd xmm0, qword [ebp - 0x284]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [ebp - 0x214]
divsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x214], xmm0
movsd xmm0, qword [ebp - 0x20c]
divsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x20c], xmm0
jmp 0x52bcff
movsd xmm0, qword [ebp - 0x1b0]
addsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x1dc]
subsd xmm0, qword [ebp - 0x28c]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1b0]
mulsd xmm0, qword [ebp - 0x1c0]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x20c]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x20c], xmm0
movsd xmm0, qword [ebp - 0x1c0]
subsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1c0], xmm0
movsd xmm0, qword [ebp - 0x28c]
mulsd xmm0, qword [ebp - 0x284]
movsd qword [ebp - 0x28c], xmm0
movsd xmm0, qword [ebp - 0x214]
addsd xmm0, qword [ebp - 0x20c]
movsd qword [ebp - 0x214], xmm0
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x404]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x404]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x404]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x404]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x404]
movzx eax, byte [ebp + ecx - 0x404]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc9], dl
cmp dword [ebp - 0xd0], 0
jle 0x52bdd7
movsx ax, byte [ebp - 0xc9]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xf8]
add eax, 1
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x164]
add edx, dword [ebp - 0x160]
movzx eax, byte [edx]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], 0x98
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x164]
add eax, dword [ebp - 0x168]
movzx ecx, byte [eax]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0xa1
mov edx, dword [ebp - 0x11c]
sub edx, dword [ebp - 0x120]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x12c]
shl ecx, 4
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x16c]
or eax, dword [ebp - 0x170]
mov dword [ebp - 0x174], eax
mov cl, byte [ebp - 0x174]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + edx - 0x404]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x404]
mov dword [ebp - 0x2d0], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xbb]
add ecx, dword [ebp - 0x2d0]
mov byte [ebp - 0xbb], cl
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x404], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x404]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x404]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x404]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x404]
xor ecx, eax
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x404]
movzx edx, byte [ebp - 0xbf]
movzx edx, byte [ebp + edx - 0x404]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x404]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x404]
movzx edx, byte [ebp + eax - 0x404]
xor ecx, edx
mov byte [ebp - 0xbc], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], al
mov cl, byte [ebp - 0xbc]
mov byte [ebp - 0xc9], cl
cmp dword [ebp - 0xd0], 0
jle 0x52c036
movsx dx, byte [ebp - 0xc9]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xf8]
add edx, 1
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xd0]
shl eax, 1
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x160]
movzx edx, byte [ecx]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x120], 0x98
movsd xmm0, qword [0x54c718]
movsd qword [ebp - 0x19c], xmm0
movsd xmm0, qword [0x54c6f0]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [0x54c698]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [0x54c630]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [0x54c588]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [0x54c4b8]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0xec]
subsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0xec]
subsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x18c]
subsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0x19c]
addsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0x19c], xmm0
movsd xmm0, qword [ebp - 0xec]
comisd xmm0, xmmword [ebp - 0x104]
jbe 0x52c22c
movsd xmm0, qword [ebp - 0xec]
addsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x104]
subsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0x104]
addsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0xec]
addsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x118]
subsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x118], xmm0
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x168], ecx
jmp 0x52c652
movsd xmm0, qword [ebp - 0x104]
divsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0x104]
divsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0x104]
divsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0x19c]
subsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x19c], xmm0
movsd xmm0, qword [ebp - 0x110]
addsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x118]
divsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x18c]
mulsd xmm0, qword [ebp - 0xec]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0x19c]
subsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x19c], xmm0
movsd xmm0, qword [ebp - 0xec]
addsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x110]
mulsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x19c]
mulsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x19c], xmm0
movsd xmm0, qword [ebp - 0xec]
addsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x104]
comisd xmm0, xmmword [ebp - 0x110]
jbe 0x52c5c2
movsd xmm0, qword [ebp - 0x110]
divsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x110]
subsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x110]
mulsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x110]
mulsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0xec]
divsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x104]
subsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0x110]
divsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x118]
divsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x104]
addsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0xec]
comisd xmm0, xmmword [ebp - 0x104]
jbe 0x52c52d
movsd xmm0, qword [ebp - 0x18c]
addsd xmm0, qword [ebp - 0xec]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0xec]
addsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x110]
mulsd xmm0, qword [ebp - 0x18c]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0xec]
subsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xec], xmm0
jmp 0x52c5bd
movsd xmm0, qword [ebp - 0x110]
subsd xmm0, qword [ebp - 0xec]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x18c]
addsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0x118]
divsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x118]
mulsd xmm0, qword [ebp - 0x19c]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x104]
mulsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x104], xmm0
jmp 0x52c652
movsd xmm0, qword [ebp - 0x18c]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0x104]
subsd xmm0, qword [ebp - 0x110]
movsd qword [ebp - 0x104], xmm0
movsd xmm0, qword [ebp - 0x110]
addsd xmm0, qword [ebp - 0xec]
movsd qword [ebp - 0x110], xmm0
movsd xmm0, qword [ebp - 0x18c]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x18c], xmm0
movsd xmm0, qword [ebp - 0xec]
mulsd xmm0, qword [ebp - 0x104]
movsd qword [ebp - 0xec], xmm0
movsd xmm0, qword [ebp - 0x18c]
addsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x18c], xmm0
mov edx, dword [ebp - 0x164]
add edx, dword [ebp - 0x168]
movzx eax, byte [edx]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], 0xa1
mov ecx, dword [ebp - 0x11c]
sub ecx, dword [ebp - 0x120]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x124]
sub edx, dword [ebp - 0x128]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x12c]
shl eax, 4
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x16c]
or edx, dword [ebp - 0x170]
mov dword [ebp - 0x174], edx
mov al, byte [ebp - 0x174]
mov byte [ebp - 0xc3], al
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + ecx - 0x404]
mov byte [ebp - 0xc1], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp + eax - 0x404]
mov dword [ebp - 0x2d4], ecx
mov dl, byte [ebp - 0xb9]
add dl, 1
mov byte [ebp - 0xb9], dl
movzx eax, byte [ebp - 0xbb]
add eax, dword [ebp - 0x2d4]
mov byte [ebp - 0xbb], al
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + ecx - 0x404]
mov byte [ebp + edx - 0x404], al
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp - 0xbb]
mov al, byte [ebp + ecx - 0x404]
mov byte [ebp + edx - 0x404], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp - 0xbc]
mov al, byte [ebp + ecx - 0x404]
mov byte [ebp + edx - 0x404], al
movzx ecx, byte [ebp - 0xb9]
mov dl, byte [ebp - 0xc1]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xc1]
movzx ecx, byte [ebp + eax - 0x404]
movzx edx, byte [ebp - 0xc2]
add edx, ecx
mov byte [ebp - 0xc2], dl
movzx eax, byte [ebp - 0xc3]
movzx ecx, byte [ebp - 0xbb]
movzx edx, byte [ebp + ecx - 0x404]
movzx ecx, byte [ebp - 0xb9]
movzx ecx, byte [ebp + ecx - 0x404]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x404]
xor eax, edx
movzx ecx, byte [ebp - 0xbc]
movzx edx, byte [ebp + ecx - 0x404]
movzx ecx, byte [ebp - 0xbf]
movzx ecx, byte [ebp + ecx - 0x404]
add edx, ecx
movzx ecx, byte [ebp - 0xc2]
movzx ecx, byte [ebp + ecx - 0x404]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x404]
movzx ecx, byte [ebp + edx - 0x404]
xor eax, ecx
mov byte [ebp - 0xbc], al
mov dl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], dl
mov al, byte [ebp - 0xbc]
mov byte [ebp - 0xc9], al
cmp dword [ebp - 0xd0], 0
jle 0x52c859
movsx cx, byte [ebp - 0xc9]
mov edx, dword [ebp - 0xd0]
mov word [ebp + edx*2 - 0x2a], cx
mov eax, dword [ebp - 0xf8]
add eax, 3
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0x270], ecx
jmp 0x52c888
mov edx, dword [ebp - 0x270]
add edx, 1
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0xf8]
jge 0x52caf2
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x164]
add eax, dword [ebp - 0x160]
movzx ecx, byte [eax]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x120], 0x98
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x168]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0xa1
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x12c]
shl edx, 4
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x16c]
or ecx, dword [ebp - 0x170]
mov dword [ebp - 0x174], ecx
mov dl, byte [ebp - 0x174]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x404]
mov dword [ebp - 0x2d8], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x2d8]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x404]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x404]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x404]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x404]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x404]
movzx eax, byte [ebp + ecx - 0x404]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc9], dl
cmp dword [ebp - 0xd0], 0
jle 0x52caed
movsx ax, byte [ebp - 0xc9]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
jmp 0x52c879
mov edx, dword [ebp - 0xf8]
add edx, 1
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xd0]
shl edx, 1
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x164]
add eax, dword [ebp - 0x160]
movzx ecx, byte [eax]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x120], 0x98
mov edx, dword [ebp - 0xd0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x168]
movzx edx, byte [ecx]
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], 0xa1
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x120]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x130], ecx
mov edx, dword [ebp - 0x12c]
shl edx, 4
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x16c]
or ecx, dword [ebp - 0x170]
mov dword [ebp - 0x174], ecx
mov dl, byte [ebp - 0x174]
mov byte [ebp - 0xc3], dl
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp - 0xc1], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp + edx - 0x404]
mov dword [ebp - 0x2dc], eax
mov cl, byte [ebp - 0xb9]
add cl, 1
mov byte [ebp - 0xb9], cl
movzx edx, byte [ebp - 0xbb]
add edx, dword [ebp - 0x2dc]
mov byte [ebp - 0xbb], dl
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp - 0xbf]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp - 0xbb]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xb9]
movzx ecx, byte [ebp - 0xbc]
mov dl, byte [ebp + eax - 0x404]
mov byte [ebp + ecx - 0x404], dl
movzx eax, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xc1]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp + edx - 0x404]
movzx ecx, byte [ebp - 0xc2]
add ecx, eax
mov byte [ebp - 0xc2], cl
movzx edx, byte [ebp - 0xc3]
movzx eax, byte [ebp - 0xbb]
movzx ecx, byte [ebp + eax - 0x404]
movzx eax, byte [ebp - 0xb9]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x404]
xor edx, ecx
movzx eax, byte [ebp - 0xbc]
movzx ecx, byte [ebp + eax - 0x404]
movzx eax, byte [ebp - 0xbf]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
movzx eax, byte [ebp - 0xc2]
movzx eax, byte [ebp + eax - 0x404]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x404]
movzx eax, byte [ebp + ecx - 0x404]
xor edx, eax
mov byte [ebp - 0xbc], dl
mov cl, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], cl
mov dl, byte [ebp - 0xbc]
mov byte [ebp - 0xc9], dl
cmp dword [ebp - 0xd0], 0
jle 0x52cd63
movsx ax, byte [ebp - 0xc9]
mov ecx, dword [ebp - 0xd0]
mov word [ebp + ecx*2 - 0x2a], ax
mov edx, dword [ebp - 0xf8]
add edx, 4
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0x274], eax
jmp 0x52cd92
mov ecx, dword [ebp - 0x274]
add ecx, 1
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x274]
cmp edx, dword [ebp - 0xf8]
jge 0x52d1c9
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
shl ecx, 1
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x164]
add edx, dword [ebp - 0x160]
movzx eax, byte [edx]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x120], 0x98
mov ecx, dword [ebp - 0xd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x164]
add eax, dword [ebp - 0x168]
movzx ecx, byte [eax]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0xa1
mov edx, dword [ebp - 0x11c]
sub edx, dword [ebp - 0x120]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x12c]
shl ecx, 4
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x16c]
or eax, dword [ebp - 0x170]
mov dword [ebp - 0x174], eax
mov cl, byte [ebp - 0x174]
mov byte [ebp - 0xc3], cl
movzx edx, byte [ebp - 0xbf]
mov al, byte [ebp + edx - 0x404]
mov byte [ebp - 0xc1], al
movzx ecx, byte [ebp - 0xb9]
movzx edx, byte [ebp + ecx - 0x404]
mov dword [ebp - 0x2e0], edx
mov al, byte [ebp - 0xb9]
add al, 1
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xbb]
add ecx, dword [ebp - 0x2e0]
mov byte [ebp - 0xbb], cl
movsd xmm0, qword [0x54c700]
movsd qword [ebp - 0x1fc], xmm0
movsd xmm0, qword [0x54c6a8]
movsd qword [ebp - 0x1a4], xmm0
movsd xmm0, qword [0x54c638]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [0x54c598]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [0x54c4c8]
movsd qword [ebp - 0x224], xmm0
movsd xmm0, qword [ebp - 0x21c]
addsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x1a4]
addsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x1a4], xmm0
movsd xmm0, qword [ebp - 0x1a4]
addsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x1a4], xmm0
movsd xmm0, qword [ebp - 0x21c]
subsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x21c], xmm0
movsd xmm0, qword [ebp - 0x2b8]
subsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x1a4]
comisd xmm0, xmmword [ebp - 0x2b8]
jbe 0x52d02a
movsd xmm0, qword [ebp - 0x2b8]
addsd xmm0, qword [ebp - 0x224]
movsd qword [ebp - 0x2b8], xmm0
movsd xmm0, qword [ebp - 0x1fc]
addsd xmm0, qword [ebp - 0x1a4]
movsd qword [ebp - 0x1fc], xmm0
movsd xmm0, qword [ebp - 0x1a4]
mulsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1a4], xmm0
movsd xmm0, qword [ebp - 0x1fc]
subsd xmm0, qword [ebp - 0x1a4]
movsd qword [ebp - 0x1fc], xmm0
movsd xmm0, qword [ebp - 0x1a4]
addsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1a4], xmm0
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp - 0xbf]
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x404], cl
jmp 0x52d0a2
movsd xmm0, qword [ebp - 0x1a4]
mulsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1a4], xmm0
movsd xmm0, qword [ebp - 0x1fc]
subsd xmm0, qword [ebp - 0x1a4]
movsd qword [ebp - 0x1fc], xmm0
movsd xmm0, qword [ebp - 0x1fc]
mulsd xmm0, qword [ebp - 0x1a4]
movsd qword [ebp - 0x1fc], xmm0
movsd xmm0, qword [ebp - 0x1a4]
mulsd xmm0, qword [ebp - 0x21c]
movsd qword [ebp - 0x1a4], xmm0
movsd xmm0, qword [ebp - 0x224]
subsd xmm0, qword [ebp - 0x1fc]
movsd qword [ebp - 0x224], xmm0
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp - 0xbb]
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xb9]
movzx eax, byte [ebp - 0xbc]
mov cl, byte [ebp + edx - 0x404]
mov byte [ebp + eax - 0x404], cl
movzx edx, byte [ebp - 0xb9]
mov al, byte [ebp - 0xc1]
mov byte [ebp + edx - 0x404], al
movzx ecx, byte [ebp - 0xc1]
movzx edx, byte [ebp + ecx - 0x404]
movzx eax, byte [ebp - 0xc2]
add eax, edx
mov byte [ebp - 0xc2], al
movzx ecx, byte [ebp - 0xc3]
movzx edx, byte [ebp - 0xbb]
movzx eax, byte [ebp + edx - 0x404]
movzx edx, byte [ebp - 0xb9]
movzx edx, byte [ebp + edx - 0x404]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x404]
xor ecx, eax
movzx edx, byte [ebp - 0xbc]
movzx eax, byte [ebp + edx - 0x404]
movzx edx, byte [ebp - 0xbf]
movzx edx, byte [ebp + edx - 0x404]
add eax, edx
movzx edx, byte [ebp - 0xc2]
movzx edx, byte [ebp + edx - 0x404]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x404]
movzx edx, byte [ebp + eax - 0x404]
xor ecx, edx
mov byte [ebp - 0xbc], cl
mov al, byte [ebp - 0xc3]
mov byte [ebp - 0xbf], al
mov cl, byte [ebp - 0xbc]
mov byte [ebp - 0xc9], cl
cmp dword [ebp - 0xd0], 0
jle 0x52d1c4
movsx dx, byte [ebp - 0xc9]
mov eax, dword [ebp - 0xd0]
mov word [ebp + eax*2 - 0x2a], dx
jmp 0x52cd83
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
mov edx, 2
imul eax, edx, 0xa
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0x16
jae 0x52d1f1
jmp 0x52d1f6
call fcn.00534217
xor ecx, ecx
mov edx, dword [ebp - 0x2a0]
mov word [ebp + edx - 0x28], cx
jmp 0x52d256
mov dword [ebp - 0x204], 0
jmp 0x52d220
mov eax, dword [ebp - 0x204]
add eax, 1
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0xb
jge 0x52d256
mov ecx, dword [ebp - 0x204]
shl ecx, 1
mov dword [ebp - 0x2a4], ecx
cmp dword [ebp - 0x2a4], 0x16
jae 0x52d242
jmp 0x52d247
call fcn.00534217
xor edx, edx
mov eax, dword [ebp - 0x2a4]
mov word [ebp + eax - 0x28], dx
jmp 0x52d211
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.00424f2a
mov byte [ebp - 4], 2
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1e4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1d0], xmm0
jmp 0x52d2b8
movsd xmm0, qword [ebp - 0x1d0]
addsd xmm0, qword [0x549110]
movsd qword [ebp - 0x1d0], xmm0
movsd xmm0, qword [0x54c4f8]
comisd xmm0, xmmword [ebp - 0x1d0]
jbe 0x52d369
movsd xmm0, qword [0x54c420]
mulsd xmm0, qword [ebp - 0x1d0]
mulsd xmm0, qword [ebp - 0x1d0]
movsd xmm1, qword [ebp - 0x1d0]
mulsd xmm1, qword [ebp - 0x1d0]
subsd xmm0, xmm1
movsd xmm1, qword [0x54a2f0]
mulsd xmm1, qword [ebp - 0x1d0]
mulsd xmm1, qword [ebp - 0x1d0]
addsd xmm1, qword [0x54c388]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x1e4]
comisd xmm0, xmmword [0x54c3e8]
jbe 0x52d364
movsd xmm0, qword [0x54c368]
mulsd xmm0, qword [ebp - 0x1d0]
movsd xmm1, qword [ebp - 0x1e4]
subsd xmm1, xmm0
movsd qword [ebp - 0x1e4], xmm1
jmp 0x52d2a0
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x1e4]
jbe 0x52d3e9
wait
cwde
pushfd
xchg edi, eax
xchg ebx, eax
xchg esi, eax
cwde
xchg esp, eax
nop
mov al, byte [0x93949491]
xchg ebp, eax
cdq
xchg ecx, eax
xchg edx, eax
xchg ebx, eax
xchg esi, eax
lcall 0x999f, 0x9a9e9e94
xchg ebp, eax
xchg ebp, eax
xchg edi, eax
sahf
cwde
xchg ebx, eax
mov eax, dword [0x95989d99]
lcall 0x9795, 0x979c9b92
mov eax, dword [0x9b989e99]
sahf
mov al, byte [0x9291999a]
xchg esi, eax
xchg edi, eax
xchg ebp, eax
mov eax, dword [0x9f989d93]
xchg edx, eax
xchg edi, eax
lahf
popfd
lahf
pushfd
popfd
lahf
wait
popfd
xchg esi, eax
pushfd
xchg edx, eax
sahf
xchg esp, eax
wait
xchg edi, eax
mov al, byte [0x98989391]
xchg esp, eax
lcall 0x7b60, 0x2469949b
imul ebp, dword [edx], 0x33
jge 0x52d3fe
push ebx
jnp 0x52d43b
sub dword [ebp + 0x2d], ecx
inc edi
push esp
pop esi
pop esp
jmp 0x52ec27
mov dword [ebp - 0xb0], 0x52d376
mov dword [ebp - 0xac], 0x52d3d0
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x2f0], eax
mov byte [ebp - 0x17e], 0x18
mov dword [ebp - 0xfc], 0
jmp 0x52d437
xchg ebp, eax
push eax
invalid
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 0x100
jae 0x52d458
invalid
mov edx, dword [ebp - 0xfc]
mov al, byte [ebp - 0xfc]
mov byte [ebp + edx - 0x504], al
jmp 0x52d428
mov dword [ebp - 0x1b8], 0
mov byte [ebp - 0xc8], 0
mov dword [ebp - 0xfc], 0xff
jmp 0x52d484
mov ecx, dword [ebp - 0xfc]
sub ecx, 1
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 0
jbe 0x52d6f4
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x1f0], 1
mov edx, dword [ebp - 0x1f0]
cmp edx, dword [ebp - 0xfc]
jae 0x52d4c5
mov eax, dword [ebp - 0x1f0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1f0], ecx
jmp 0x52d4a5
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x2b0], edx
cmp dword [ebp - 0x2b0], 3
ja case.default.0x52d4e4
mov eax, dword [ebp - 0x2b0]
jmp dword [eax*4 + 0x52ed44]
movzx ecx, byte [ebp - 0xc8]
movzx ebx, byte [ebp + ecx - 0x504]
movsd xmm0, qword [ebp - 0x1e4]
call fcn.00534880
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x52d5cd
movzx edx, byte [ebp - 0xc8]
movzx ebx, byte [ebp + edx - 0x504]
movsd xmm0, qword [ebp - 0x1e4]
call fcn.00534880
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x52d5cd
movzx eax, byte [ebp - 0xc8]
movzx ebx, byte [ebp + eax - 0x504]
movsd xmm0, qword [ebp - 0x1e4]
call fcn.00534880
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x52d5cd
movzx ecx, byte [ebp - 0xc8]
movzx ebx, byte [ebp + ecx - 0x504]
movsd xmm0, qword [ebp - 0x1e4]
call fcn.00534880
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xc8], bl
jmp 0x52d5cd
movzx edx, byte [ebp - 0xc8]
movzx eax, byte [ebp + edx - 0x504]
mov ecx, dword [ebp - 0x2f0]
add ecx, dword [ebp - 0x1b8]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0xc8], al
mov eax, dword [ebp - 0x1b8]
add eax, 1
mov dword [ebp - 0x1b8], eax
movzx ecx, byte [ebp - 0x17e]
cmp dword [ebp - 0x1b8], ecx
jb 0x52d60b
mov dword [ebp - 0x1b8], 0
movzx edx, byte [ebp - 0x17e]
movzx eax, byte [ebp - 0xc8]
add eax, edx
mov byte [ebp - 0xc8], al
movzx ecx, byte [ebp - 0xc8]
and ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x278]
add edx, 1
mov dword [ebp - 0x278], edx
cmp dword [ebp - 0x278], 0xb
jbe 0x52d64a
mov eax, dword [ebp - 0x194]
xor edx, edx
div dword [ebp - 0xfc]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0xfc]
ja 0x52d4c5
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [ebp - 0x194]
je 0x52d6ef
mov edx, dword [ebp - 0x194]
movzx eax, byte [ebp + edx - 0x504]
mov ecx, dword [ebp - 0xfc]
movzx edx, byte [ebp + ecx - 0x504]
xor edx, eax
mov eax, dword [ebp - 0xfc]
mov byte [ebp + eax - 0x504], dl
mov ecx, dword [ebp - 0xfc]
movzx edx, byte [ebp + ecx - 0x504]
mov eax, dword [ebp - 0x194]
movzx ecx, byte [ebp + eax - 0x504]
xor ecx, edx
mov edx, dword [ebp - 0x194]
mov byte [ebp + edx - 0x504], cl
mov eax, dword [ebp - 0x194]
movzx ecx, byte [ebp + eax - 0x504]
mov edx, dword [ebp - 0xfc]
movzx eax, byte [ebp + edx - 0x504]
xor eax, ecx
mov ecx, dword [ebp - 0xfc]
mov byte [ebp + ecx - 0x504], al
jmp 0x52d475
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x504]
mov byte [ebp - 0xba], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x504]
mov byte [ebp - 0xbd], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x504]
mov byte [ebp - 0xc5], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x504]
mov byte [ebp - 0xbe], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x504]
mov byte [ebp - 0xc0], dl
mov dword [ebp - 0x290], 0x5a
cmp dword [ebp - 0x290], 2
jle 0x52ebd3
mov eax, dword [ebp - 0x290]
and eax, 1
jne 0x52ebd3
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0xd4]
shl edx, 1
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x17c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x134]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x148]
add edx, 0x90
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x138], 0
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
add eax, dword [ebp - 0x138]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0
mov ecx, dword [ebp - 0x13c]
add ecx, 0x92
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x140], 0
mov edx, dword [ebp - 0x134]
sub edx, dword [ebp - 0x148]
add edx, dword [ebp - 0x140]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x138]
sub eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x144]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x140]
shl ecx, 4
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], 0
movss xmm0, dword [0x54c7e8]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [0x54c7cc]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [0x54c7b0]
movss dword [ebp - 0x178], xmm0
movss xmm0, dword [0x54c790]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [0x54c770]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [0x54c754]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [0x54c730]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x184]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, dword [ebp - 0xe0]
jbe 0x52dcac
movss xmm0, dword [ebp - 0xe0]
mulss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x184]
mulss xmm0, dword [ebp - 0x178]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xe0]
divss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0x178]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0x178]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x108]
comiss xmm0, dword [ebp - 0xd8]
jbe 0x52dbff
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0x178]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x178], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xd8]
addss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
jmp 0x52dca7
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x108]
mulss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0x184]
subss xmm0, dword [ebp - 0x178]
movss dword [ebp - 0x184], xmm0
movss xmm0, dword [ebp - 0xd8]
divss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ebp - 0xd8]
movss dword [ebp - 0xe0], xmm0
movss xmm0, dword [ebp - 0x178]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x178], xmm0
jmp 0x52dd60
movss xmm0, dword [ebp - 0x178]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x178], xmm0
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x178]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0x178], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0x108]
addss xmm0, dword [ebp - 0x184]
movss dword [ebp - 0x108], xmm0
movss xmm0, dword [ebp - 0xdc]
mulss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xdc], xmm0
movss xmm0, dword [ebp - 0xd8]
subss xmm0, dword [ebp - 0x108]
movss dword [ebp - 0xd8], xmm0
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x154]
or eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 0xc6], 0
mov cl, byte [ebp - 0x15c]
mov byte [ebp - 0xc6], cl
mov byte [ebp - 0xc4], 0
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x504]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x504]
mov dword [ebp - 0x2f4], edx
mov al, byte [ebp - 0xba]
add al, 1
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xbd]
add ecx, dword [ebp - 0x2f4]
mov byte [ebp - 0xbd], cl
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x504]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x504]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x504]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp - 0xc4]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp + ecx - 0x504]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp + edx - 0x504]
movzx edx, byte [ebp - 0xba]
movzx edx, byte [ebp + edx - 0x504]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x504]
xor ecx, eax
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x504]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x504]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x504]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x504]
movzx edx, byte [ebp + eax - 0x504]
xor ecx, edx
mov byte [ebp - 0xbe], cl
mov al, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbe]
mov byte [ebp - 0xca], cl
cmp dword [ebp - 0xd4], 0
jle 0x52df21
movsx dx, byte [ebp - 0xca]
mov eax, dword [ebp - 0xd4]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, dword [ebp - 0xf0]
add ecx, 0x14
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0x27c], edx
jmp 0x52df50
mov eax, dword [ebp - 0x27c]
add eax, 1
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x27c]
cmp ecx, dword [ebp - 0xf0]
jge 0x52e1bd
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x148], 0x90
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0x92
mov ecx, dword [ebp - 0x134]
sub ecx, dword [ebp - 0x148]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x138]
sub edx, dword [ebp - 0x13c]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x140]
shl eax, 4
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x154]
or edx, dword [ebp - 0x158]
mov dword [ebp - 0x15c], edx
mov al, byte [ebp - 0x15c]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x504]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x504]
mov dword [ebp - 0x2f8], ecx
mov dl, byte [ebp - 0xba]
add dl, 1
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xbd]
add eax, dword [ebp - 0x2f8]
mov byte [ebp - 0xbd], al
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp - 0xc4]
mov byte [ebp + ecx - 0x504], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x504]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp + ecx - 0x504]
movzx ecx, byte [ebp - 0xba]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x504]
xor eax, edx
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x504]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x504]
movzx ecx, byte [ebp + edx - 0x504]
xor eax, ecx
mov byte [ebp - 0xbe], al
mov dl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xca], al
cmp dword [ebp - 0xd4], 0
jle 0x52e1b8
movsx cx, byte [ebp - 0xca]
mov edx, dword [ebp - 0xd4]
mov word [ebp + edx*2 - 0x86], cx
jmp 0x52df41
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
add ecx, 0x15
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0x268], edx
jmp 0x52e1fb
mov eax, dword [ebp - 0x268]
add eax, 1
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
cmp ecx, dword [ebp - 0xf0]
jge 0x52e468
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x148], 0x90
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0x92
mov ecx, dword [ebp - 0x134]
sub ecx, dword [ebp - 0x148]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x138]
sub edx, dword [ebp - 0x13c]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x140]
shl eax, 4
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x154]
or edx, dword [ebp - 0x158]
mov dword [ebp - 0x15c], edx
mov al, byte [ebp - 0x15c]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x504]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x504]
mov dword [ebp - 0x2fc], ecx
mov dl, byte [ebp - 0xba]
add dl, 1
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xbd]
add eax, dword [ebp - 0x2fc]
mov byte [ebp - 0xbd], al
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp - 0xc4]
mov byte [ebp + ecx - 0x504], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x504]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp + ecx - 0x504]
movzx ecx, byte [ebp - 0xba]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x504]
xor eax, edx
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x504]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x504]
movzx ecx, byte [ebp + edx - 0x504]
xor eax, ecx
mov byte [ebp - 0xbe], al
mov dl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xca], al
cmp dword [ebp - 0xd4], 0
jle 0x52e463
movsx cx, byte [ebp - 0xca]
mov edx, dword [ebp - 0xd4]
mov word [ebp + edx*2 - 0x86], cx
jmp 0x52e1ec
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xf0]
add edx, 1
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xd4]
shl eax, 1
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x17c]
movzx edx, byte [ecx]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x148], 0x90
mov eax, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x150]
movzx eax, byte [edx]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x13c], 0x92
mov ecx, dword [ebp - 0x134]
sub ecx, dword [ebp - 0x148]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x138]
sub edx, dword [ebp - 0x13c]
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x140]
shl eax, 4
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x154]
or edx, dword [ebp - 0x158]
mov dword [ebp - 0x15c], edx
mov al, byte [ebp - 0x15c]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + ecx - 0x504]
mov byte [ebp - 0xc4], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp + eax - 0x504]
mov dword [ebp - 0x2c8], ecx
mov dl, byte [ebp - 0xba]
add dl, 1
mov byte [ebp - 0xba], dl
movzx eax, byte [ebp - 0xbd]
add eax, dword [ebp - 0x2c8]
mov byte [ebp - 0xbd], al
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp - 0xbd]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp - 0xbe]
mov al, byte [ebp + ecx - 0x504]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xba]
mov dl, byte [ebp - 0xc4]
mov byte [ebp + ecx - 0x504], dl
movzx eax, byte [ebp - 0xc4]
movzx ecx, byte [ebp + eax - 0x504]
movzx edx, byte [ebp - 0xc5]
add edx, ecx
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xbd]
movzx edx, byte [ebp + ecx - 0x504]
movzx ecx, byte [ebp - 0xba]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x504]
xor eax, edx
movzx ecx, byte [ebp - 0xbe]
movzx edx, byte [ebp + ecx - 0x504]
movzx ecx, byte [ebp - 0xc0]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x504]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x504]
movzx ecx, byte [ebp + edx - 0x504]
xor eax, ecx
mov byte [ebp - 0xbe], al
mov dl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], dl
mov al, byte [ebp - 0xbe]
mov byte [ebp - 0xca], al
cmp dword [ebp - 0xd4], 0
jle 0x52e6dc
movsx cx, byte [ebp - 0xca]
mov edx, dword [ebp - 0xd4]
mov word [ebp + edx*2 - 0x86], cx
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xd4]
shl edx, 1
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x17c]
movzx ecx, byte [eax]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x148], 0x90
mov edx, dword [ebp - 0xd4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x14c]
add ecx, dword [ebp - 0x150]
movzx edx, byte [ecx]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x13c], 0x92
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x148]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x138]
sub ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x140]
shl edx, 4
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x154]
or ecx, dword [ebp - 0x158]
mov dword [ebp - 0x15c], ecx
mov dl, byte [ebp - 0x15c]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + eax - 0x504]
mov byte [ebp - 0xc4], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp + edx - 0x504]
mov dword [ebp - 0x304], eax
mov cl, byte [ebp - 0xba]
add cl, 1
mov byte [ebp - 0xba], cl
movzx edx, byte [ebp - 0xbd]
add edx, dword [ebp - 0x304]
mov byte [ebp - 0xbd], dl
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp - 0xc0]
mov dl, byte [ebp + eax - 0x504]
mov byte [ebp + ecx - 0x504], dl
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp - 0xbd]
mov dl, byte [ebp + eax - 0x504]
mov byte [ebp + ecx - 0x504], dl
movzx eax, byte [ebp - 0xba]
movzx ecx, byte [ebp - 0xbe]
mov dl, byte [ebp + eax - 0x504]
mov byte [ebp + ecx - 0x504], dl
movzx eax, byte [ebp - 0xba]
mov cl, byte [ebp - 0xc4]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xc4]
movzx eax, byte [ebp + edx - 0x504]
movzx ecx, byte [ebp - 0xc5]
add ecx, eax
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xbd]
movzx ecx, byte [ebp + eax - 0x504]
movzx eax, byte [ebp - 0xba]
movzx eax, byte [ebp + eax - 0x504]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x504]
xor edx, ecx
movzx eax, byte [ebp - 0xbe]
movzx ecx, byte [ebp + eax - 0x504]
movzx eax, byte [ebp - 0xc0]
movzx eax, byte [ebp + eax - 0x504]
add ecx, eax
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x504]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x504]
movzx eax, byte [ebp + ecx - 0x504]
xor edx, eax
mov byte [ebp - 0xbe], dl
mov cl, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], cl
mov dl, byte [ebp - 0xbe]
mov byte [ebp - 0xca], dl
cmp dword [ebp - 0xd4], 0
jle 0x52e941
movsx ax, byte [ebp - 0xca]
mov ecx, dword [ebp - 0xd4]
mov word [ebp + ecx*2 - 0x86], ax
mov edx, dword [ebp - 0xd4]
add edx, 1
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xd4]
shl ecx, 1
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x14c]
add edx, dword [ebp - 0x17c]
movzx eax, byte [edx]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x148], 0x90
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x150]
movzx ecx, byte [eax]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x13c], 0x92
mov edx, dword [ebp - 0x134]
sub edx, dword [ebp - 0x148]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x138]
sub eax, dword [ebp - 0x13c]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x140]
shl ecx, 4
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x154]
or eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], eax
mov cl, byte [ebp - 0x15c]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc0]
mov al, byte [ebp + edx - 0x504]
mov byte [ebp - 0xc4], al
movzx ecx, byte [ebp - 0xba]
movzx edx, byte [ebp + ecx - 0x504]
mov dword [ebp - 0x2e4], edx
mov al, byte [ebp - 0xba]
add al, 1
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xbd]
add ecx, dword [ebp - 0x2e4]
mov byte [ebp - 0xbd], cl
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp - 0xc0]
mov cl, byte [ebp + edx - 0x504]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp - 0xbd]
mov cl, byte [ebp + edx - 0x504]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xba]
movzx eax, byte [ebp - 0xbe]
mov cl, byte [ebp + edx - 0x504]
mov byte [ebp + eax - 0x504], cl
movzx edx, byte [ebp - 0xba]
mov al, byte [ebp - 0xc4]
mov byte [ebp + edx - 0x504], al
movzx ecx, byte [ebp - 0xc4]
movzx edx, byte [ebp + ecx - 0x504]
movzx eax, byte [ebp - 0xc5]
add eax, edx
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xbd]
movzx eax, byte [ebp + edx - 0x504]
movzx edx, byte [ebp - 0xba]
movzx edx, byte [ebp + edx - 0x504]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x504]
xor ecx, eax
movzx edx, byte [ebp - 0xbe]
movzx eax, byte [ebp + edx - 0x504]
movzx edx, byte [ebp - 0xc0]
movzx edx, byte [ebp + edx - 0x504]
add eax, edx
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x504]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x504]
movzx edx, byte [ebp + eax - 0x504]
xor ecx, edx
mov byte [ebp - 0xbe], cl
mov al, byte [ebp - 0xc6]
mov byte [ebp - 0xc0], al
mov cl, byte [ebp - 0xbe]
mov byte [ebp - 0xca], cl
cmp dword [ebp - 0xd4], 0
jle 0x52eba3
movsx dx, byte [ebp - 0xca]
mov eax, dword [ebp - 0xd4]
mov word [ebp + eax*2 - 0x86], dx
mov ecx, 2
imul edx, ecx, 0x2c
mov dword [ebp - 0x294], edx
cmp dword [ebp - 0x294], 0x5a
jae 0x52ebbc
jmp 0x52ebc1
call fcn.00534217
xor eax, eax
mov ecx, dword [ebp - 0x294]
mov word [ebp + ecx - 0x84], ax
jmp 0x52ec27
mov dword [ebp - 0x1f4], 0
jmp 0x52ebee
mov edx, dword [ebp - 0x1f4]
add edx, 1
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 0x2d
jge 0x52ec27
mov eax, dword [ebp - 0x1f4]
shl eax, 1
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0x5a
jae 0x52ec10
jmp 0x52ec15
call fcn.00534217
xor ecx, ecx
mov edx, dword [ebp - 0x298]
mov word [ebp + edx - 0x84], cx
jmp 0x52ebdf
lea eax, [ebp - 0xa8]
push eax
push 0
push 0
lea ecx, [ebp - 0x90]
push ecx
push 0x100
lea edx, [ebp - 0x84]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
mov ecx, dword [ebp - 0x2e8]
call fcn.00533420
mov byte [ebp - 0x17d], 0
mov dword [ebp - 0x1d4], 0
jmp 0x52ec77
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x1d4], eax
lea ecx, [ebp - 0x90]
call fcn.004d9800
cmp dword [ebp - 0x1d4], eax
jae 0x52ecd8
mov ecx, dword [ebp - 0x1d4]
push ecx
lea ecx, [ebp - 0x90]
call fcn.004bd520
mov edx, dword [eax]
cmp dword [edx + 0x44], 0
je 0x52ecab
mov byte [ebp - 0x17d], 1
mov eax, dword [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x90]
call fcn.004bd520
mov ecx, dword [eax]
mov dword [ebp - 0x2ec], ecx
push 0x48
mov edx, dword [ebp - 0x2ec]
push edx
call fcn.00533efd
add esp, 8
jmp 0x52ec68
lea ecx, [ebp - 0x90]
call fcn.00533c90
mov al, byte [ebp - 0x17d]
mov byte [ebp - 0x1a5], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa8]
call fcn.0042529e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.004bd4c0
mov al, byte [ebp - 0x1a5]
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.00533c96
mov esp, ebp
pop ebp
ret