Function at 0x51dee0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5349c3
mov eax, dword fs:[0]
push eax
sub esp, 0x668
mov eax, dword [0x613a80]
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 - 0x4c8], ecx
push 0xc
lea ecx, [ebp - 0x9c]
call fcn.004ab290
lea ecx, [ebp - 0x9c]
call fcn.004ea780
mov dword [ebp - 4], 0
push 0x48
call fcn.005250e5
add esp, 4
mov dword [ebp - 0x4cc], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x4cc], 0
je 0x51e14f
mov byte [ebp - 0x3a8], 0xfe
mov byte [ebp - 0x3a7], 0x95
mov byte [ebp - 0x3a6], 0xf
mov byte [ebp - 0x3a5], 0x67
mov byte [ebp - 0x3a4], 0x3c
mov byte [ebp - 0x3a3], 0xcb
mov byte [ebp - 0x3a2], 0xa2
mov byte [ebp - 0x3a1], 0x9f
mov byte [ebp - 0x3a0], 0x57
mov byte [ebp - 0x39f], 0xa0
mov byte [ebp - 0x39e], 0x45
mov byte [ebp - 0x39d], 0x18
mov byte [ebp - 0x39c], 0x9b
mov byte [ebp - 0x39b], 0x93
mov byte [ebp - 0x39a], 0x23
mov byte [ebp - 0x399], 0xd1
mov byte [ebp - 0x398], 0xfb
mov byte [ebp - 0x397], 0x4b
mov byte [ebp - 0x396], 0x33
mov byte [ebp - 0x395], 0x18
mov byte [ebp - 0x394], 0xdd
mov byte [ebp - 0x393], 0xa3
mov byte [ebp - 0x392], 0x6b
mov byte [ebp - 0x391], 0xe8
mov byte [ebp - 0x390], 0xd4
mov byte [ebp - 0x38f], 0x3e
mov byte [ebp - 0x38e], 0xd5
mov byte [ebp - 0x38d], 0xbd
mov byte [ebp - 0x38c], 4
mov byte [ebp - 0x38b], 0xec
mov byte [ebp - 0x38a], 0x23
mov byte [ebp - 0x389], 0xb8
mov byte [ebp - 0x388], 0x55
mov byte [ebp - 0x387], 0x4b
mov byte [ebp - 0x386], 0xd0
mov byte [ebp - 0x385], 0x93
mov byte [ebp - 0x384], 0x95
mov byte [ebp - 0x383], 0x22
mov byte [ebp - 0x382], 0xe8
mov byte [ebp - 0x381], 0x57
mov byte [ebp - 0x380], 0x30
mov byte [ebp - 0x37f], 0x5c
mov byte [ebp - 0x37e], 0xa9
mov byte [ebp - 0x37d], 0x74
mov byte [ebp - 0x37c], 0x19
mov byte [ebp - 0x37b], 0x5b
mov byte [ebp - 0x37a], 0x5e
mov byte [ebp - 0x379], 0xd3
mov byte [ebp - 0x378], 0x10
mov byte [ebp - 0x377], 0x42
mov byte [ebp - 0x376], 0xd5
mov byte [ebp - 0x375], 0xba
mov byte [ebp - 0x374], 0x52
mov byte [ebp - 0x373], 0x55
mov byte [ebp - 0x372], 0xa0
mov byte [ebp - 0x371], 0xdb
mov byte [ebp - 0x370], 0x27
mov byte [ebp - 0x36f], 0x9e
mov byte [ebp - 0x36e], 0xa0
mov byte [ebp - 0x36d], 0x37
mov byte [ebp - 0x36c], 0xa
mov byte [ebp - 0x36b], 0xe1
mov byte [ebp - 0x36a], 0x31
mov byte [ebp - 0x369], 0xd2
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x3a8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x388]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4cc]
call fcn.0050b520
mov dword [ebp - 0x4d0], eax
jmp 0x51e159
mov dword [ebp - 0x4d0], 0
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x520], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0x544], ecx
lea edx, [ebp - 0x544]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00509ac0
nop
push 0x48
call fcn.005250e5
add esp, 4
mov dword [ebp - 0x4d4], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x4d4], 0
je 0x51e3a4
mov byte [ebp - 0x2c8], 0xfe
mov byte [ebp - 0x2c7], 0x95
mov byte [ebp - 0x2c6], 0xf
mov byte [ebp - 0x2c5], 0x67
mov byte [ebp - 0x2c4], 0x3c
mov byte [ebp - 0x2c3], 0xcb
mov byte [ebp - 0x2c2], 0xa2
mov byte [ebp - 0x2c1], 0x9f
mov byte [ebp - 0x2c0], 0x57
mov byte [ebp - 0x2bf], 0xa0
mov byte [ebp - 0x2be], 0x45
mov byte [ebp - 0x2bd], 0x18
mov byte [ebp - 0x2bc], 0x9b
mov byte [ebp - 0x2bb], 0x93
mov byte [ebp - 0x2ba], 0x23
mov byte [ebp - 0x2b9], 0xd1
mov byte [ebp - 0x2b8], 0xfb
mov byte [ebp - 0x2b7], 0x4b
mov byte [ebp - 0x2b6], 0x33
mov byte [ebp - 0x2b5], 0x18
mov byte [ebp - 0x2b4], 0xdd
mov byte [ebp - 0x2b3], 0xa3
mov byte [ebp - 0x2b2], 0x6b
mov byte [ebp - 0x2b1], 0xe8
mov byte [ebp - 0x2b0], 0xd4
mov byte [ebp - 0x2af], 0x3e
mov byte [ebp - 0x2ae], 0xd5
mov byte [ebp - 0x2ad], 0xbd
mov byte [ebp - 0x2ac], 4
mov byte [ebp - 0x2ab], 0xec
mov byte [ebp - 0x2aa], 0x23
mov byte [ebp - 0x2a9], 0xb8
mov byte [ebp - 0x368], 0x91
mov byte [ebp - 0x367], 0x77
mov byte [ebp - 0x366], 0x30
mov byte [ebp - 0x365], 0xf7
mov byte [ebp - 0x364], 0xd
mov byte [ebp - 0x363], 0xca
mov byte [ebp - 0x362], 0x71
mov byte [ebp - 0x361], 0xf2
mov byte [ebp - 0x360], 0xff
mov byte [ebp - 0x35f], 0x8c
mov byte [ebp - 0x35e], 0xf2
mov byte [ebp - 0x35d], 0xbb
mov byte [ebp - 0x35c], 0x1a
mov byte [ebp - 0x35b], 0x26
mov byte [ebp - 0x35a], 0x6a
mov byte [ebp - 0x359], 0xad
mov byte [ebp - 0x358], 0xad
mov byte [ebp - 0x357], 0xd5
mov byte [ebp - 0x356], 0x18
mov byte [ebp - 0x355], 0xfb
mov byte [ebp - 0x354], 0x48
mov byte [ebp - 0x353], 0x9a
mov byte [ebp - 0x352], 0xb8
mov byte [ebp - 0x351], 3
mov byte [ebp - 0x350], 0x56
mov byte [ebp - 0x34f], 0xe7
mov byte [ebp - 0x34e], 0xca
mov byte [ebp - 0x34d], 0xeb
mov byte [ebp - 0x34c], 0x7d
mov byte [ebp - 0x34b], 0x66
mov byte [ebp - 0x34a], 0xeb
mov byte [ebp - 0x349], 0xe8
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x2c8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x368]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4d4]
call fcn.0050b520
mov dword [ebp - 0x4d8], eax
jmp 0x51e3ae
mov dword [ebp - 0x4d8], 0
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x548], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x56c], ecx
lea edx, [ebp - 0x56c]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00509ac0
nop
push 0x48
call fcn.005250e5
add esp, 4
mov dword [ebp - 0x4dc], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0x4dc], 0
je 0x51e5f9
mov byte [ebp - 0x348], 0xdf
mov byte [ebp - 0x347], 0xb
mov byte [ebp - 0x346], 0xdd
mov byte [ebp - 0x345], 0xee
mov byte [ebp - 0x344], 0xff
mov byte [ebp - 0x343], 3
mov byte [ebp - 0x342], 0x92
mov byte [ebp - 0x341], 0x7c
mov byte [ebp - 0x340], 0xb3
mov byte [ebp - 0x33f], 0x4c
mov byte [ebp - 0x33e], 0x67
mov byte [ebp - 0x33d], 0x35
mov byte [ebp - 0x33c], 0x30
mov byte [ebp - 0x33b], 0x57
mov byte [ebp - 0x33a], 0x26
mov byte [ebp - 0x339], 0x4d
mov byte [ebp - 0x338], 0xa1
mov byte [ebp - 0x337], 0xf8
mov byte [ebp - 0x336], 0xe
mov byte [ebp - 0x335], 0x36
mov byte [ebp - 0x334], 0x9f
mov byte [ebp - 0x333], 0xcf
mov byte [ebp - 0x332], 0xf8
mov byte [ebp - 0x331], 0x34
mov byte [ebp - 0x330], 0x60
mov byte [ebp - 0x32f], 0xcb
mov byte [ebp - 0x32e], 0xf7
mov byte [ebp - 0x32d], 0xf3
mov byte [ebp - 0x32c], 0x43
mov byte [ebp - 0x32b], 0x45
mov byte [ebp - 0x32a], 0xfa
mov byte [ebp - 0x329], 0x22
mov byte [ebp - 0x328], 0xa5
mov byte [ebp - 0x327], 0xfc
mov byte [ebp - 0x326], 0xc
mov byte [ebp - 0x325], 0x84
mov byte [ebp - 0x324], 0xd5
mov byte [ebp - 0x323], 0x64
mov byte [ebp - 0x322], 0xfa
mov byte [ebp - 0x321], 0x7f
mov byte [ebp - 0x320], 0xbc
mov byte [ebp - 0x31f], 0x56
mov byte [ebp - 0x31e], 0x3b
mov byte [ebp - 0x31d], 0xab
mov byte [ebp - 0x31c], 0x1e
mov byte [ebp - 0x31b], 0xe4
mov byte [ebp - 0x31a], 0x97
mov byte [ebp - 0x319], 0x7d
mov byte [ebp - 0x318], 0x41
mov byte [ebp - 0x317], 0xe
mov byte [ebp - 0x316], 0xd5
mov byte [ebp - 0x315], 0x79
mov byte [ebp - 0x314], 0xf4
mov byte [ebp - 0x313], 0x12
mov byte [ebp - 0x312], 0xf2
mov byte [ebp - 0x311], 0x2f
mov byte [ebp - 0x310], 0x2e
mov byte [ebp - 0x30f], 0x40
mov byte [ebp - 0x30e], 0x89
mov byte [ebp - 0x30d], 0x38
mov byte [ebp - 0x30c], 0xa5
mov byte [ebp - 0x30b], 9
mov byte [ebp - 0x30a], 0x94
mov byte [ebp - 0x309], 0x2a
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x348]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x328]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4dc]
call fcn.0050b520
mov dword [ebp - 0x4f8], eax
jmp 0x51e603
mov dword [ebp - 0x4f8], 0
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 0x570], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x574], ecx
lea edx, [ebp - 0x574]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00509ac0
nop
push 0x48
call fcn.005250e5
add esp, 4
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x4f4], 0
je 0x51e84e
mov byte [ebp - 0x308], 0xdf
mov byte [ebp - 0x307], 0xb
mov byte [ebp - 0x306], 0xdd
mov byte [ebp - 0x305], 0xee
mov byte [ebp - 0x304], 0xff
mov byte [ebp - 0x303], 3
mov byte [ebp - 0x302], 0x92
mov byte [ebp - 0x301], 0x7c
mov byte [ebp - 0x300], 0xb3
mov byte [ebp - 0x2ff], 0x4c
mov byte [ebp - 0x2fe], 0x67
mov byte [ebp - 0x2fd], 0x35
mov byte [ebp - 0x2fc], 0x30
mov byte [ebp - 0x2fb], 0x57
mov byte [ebp - 0x2fa], 0x26
mov byte [ebp - 0x2f9], 0x4d
mov byte [ebp - 0x2f8], 0xa1
mov byte [ebp - 0x2f7], 0xf8
mov byte [ebp - 0x2f6], 0xe
mov byte [ebp - 0x2f5], 0x36
mov byte [ebp - 0x2f4], 0x9f
mov byte [ebp - 0x2f3], 0xcf
mov byte [ebp - 0x2f2], 0xf8
mov byte [ebp - 0x2f1], 0x34
mov byte [ebp - 0x2f0], 0x60
mov byte [ebp - 0x2ef], 0xcb
mov byte [ebp - 0x2ee], 0xf7
mov byte [ebp - 0x2ed], 0xf3
mov byte [ebp - 0x2ec], 0x43
mov byte [ebp - 0x2eb], 0x45
mov byte [ebp - 0x2ea], 0xfa
mov byte [ebp - 0x2e9], 0x22
mov byte [ebp - 0x2e8], 0x47
mov byte [ebp - 0x2e7], 0x3e
mov byte [ebp - 0x2e6], 0xdb
mov byte [ebp - 0x2e5], 0xbd
mov byte [ebp - 0x2e4], 0x23
mov byte [ebp - 0x2e3], 0xc
mov byte [ebp - 0x2e2], 0xda
mov byte [ebp - 0x2e1], 0xde
mov byte [ebp - 0x2e0], 0x75
mov byte [ebp - 0x2df], 0x75
mov byte [ebp - 0x2de], 0x81
mov byte [ebp - 0x2dd], 8
mov byte [ebp - 0x2dc], 0x74
mov byte [ebp - 0x2db], 0xde
mov byte [ebp - 0x2da], 5
mov byte [ebp - 0x2d9], 0x21
mov byte [ebp - 0x2d8], 0xd1
mov byte [ebp - 0x2d7], 0x89
mov byte [ebp - 0x2d6], 7
mov byte [ebp - 0x2d5], 0x64
mov byte [ebp - 0x2d4], 0xf4
mov byte [ebp - 0x2d3], 0x62
mov byte [ebp - 0x2d2], 0xb2
mov byte [ebp - 0x2d1], 0xeb
mov byte [ebp - 0x2d0], 0x21
mov byte [ebp - 0x2cf], 0x88
mov byte [ebp - 0x2ce], 0xac
mov byte [ebp - 0x2cd], 0x95
mov byte [ebp - 0x2cc], 0xf6
mov byte [ebp - 0x2cb], 0xd3
mov byte [ebp - 0x2ca], 0xa2
mov byte [ebp - 0x2c9], 0x7a
push 0
push 0
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x308]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0x2e8]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4f4]
call fcn.0050b520
mov dword [ebp - 0x4e8], eax
jmp 0x51e858
mov dword [ebp - 0x4e8], 0
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x508], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x554], ecx
lea edx, [ebp - 0x554]
push edx
lea ecx, [ebp - 0x9c]
call fcn.00509ac0
nop
lea ecx, [ebp - 0xb4]
call fcn.0050b500
mov byte [ebp - 4], 5
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x298], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x27c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x27c], xmm0
jmp 0x51e8e5
movsd xmm0, qword [ebp - 0x27c]
addsd xmm0, qword [0x536688]
movsd qword [ebp - 0x27c], xmm0
movsd xmm0, qword [0x539998]
comisd xmm0, xmmword [ebp - 0x27c]
jbe 0x51e996
movsd xmm0, qword [0x539930]
mulsd xmm0, qword [ebp - 0x27c]
mulsd xmm0, qword [ebp - 0x27c]
movsd xmm1, qword [ebp - 0x27c]
mulsd xmm1, qword [ebp - 0x27c]
subsd xmm0, xmm1
movsd xmm1, qword [0x536710]
mulsd xmm1, qword [ebp - 0x27c]
mulsd xmm1, qword [ebp - 0x27c]
addsd xmm1, qword [0x5379d0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x298]
movsd qword [ebp - 0x298], xmm0
movsd xmm0, qword [ebp - 0x298]
comisd xmm0, xmmword [0x5398b8]
jbe 0x51e991
movsd xmm0, qword [0x539828]
mulsd xmm0, qword [ebp - 0x27c]
movsd xmm1, qword [ebp - 0x298]
subsd xmm1, xmm0
movsd qword [ebp - 0x298], xmm1
jmp 0x51e8cd
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x298]
jbe 0x51e9fd
xor dword [esp + 0x3f], ebx
inc ebx
xor esp, dword [esi]
bound esi, qword [0x30747572]
push eax
cmp byte [ecx + 0x73], ah
insb byte es:[edi], dx
jl 0x51ea1d
jns 0x51ea29
pop esp
push ecx
popal
and dword [esp + esi + 0x2e], esp
rcl byte [eax - 0x48], 0x5c
mov edi, 0xc057c45c
push ecx
mov ebx, 0xc452bf4f
push eax
lds ebx, [ecx + edi*4 + 0x59]
les edx, [esi - 0x45]
push edx
mov ebx, 0xbf52bb52
push edx
mov esp, 0xc350bf56
push ebp
rcl byte [edi - 0x3f], 0x5a
mov ecx, 0xc457ba55
pop ebx
mov dh, 0x51
mov bh, 0x54
rcl dword [ebp - 0x41], 0x56
ret
mov dword [ebp - 0xb8], 0x51e9c0
mov dword [ebp - 0xbc], 0x51e9a3
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x50c], ecx
mov byte [ebp - 0x1e7], 0x21
mov dword [ebp - 0x148], 0
jmp 0x51ea4b
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 0x100
jae 0x51ea6c
mov eax, dword [ebp - 0x148]
mov cl, byte [ebp - 0x148]
mov byte [ebp + eax - 0x674], cl
jmp 0x51ea3c
mov dword [ebp - 0x270], 0
mov byte [ebp - 0xd9], 0
mov dword [ebp - 0x148], 0xff
jmp 0x51ea98
mov edx, dword [ebp - 0x148]
sub edx, 1
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 0
jbe 0x51ed08
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x29c], 1
mov eax, dword [ebp - 0x29c]
cmp eax, dword [ebp - 0x148]
jae 0x51ead9
mov ecx, dword [ebp - 0x29c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x29c], edx
jmp 0x51eab9
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x4ec], eax
cmp dword [ebp - 0x4ec], 3
ja case.default.0x51eaf8
mov ecx, dword [ebp - 0x4ec]
jmp dword [ecx*4 + 0x52405c]
movzx edx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + edx - 0x674]
movsd xmm0, qword [ebp - 0x298]
call fcn.00525440
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51ebe1
movzx eax, byte [ebp - 0xd9]
movzx ebx, byte [ebp + eax - 0x674]
movsd xmm0, qword [ebp - 0x298]
call fcn.00525440
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51ebe1
movzx ecx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + ecx - 0x674]
movsd xmm0, qword [ebp - 0x298]
call fcn.00525440
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51ebe1
movzx edx, byte [ebp - 0xd9]
movzx ebx, byte [ebp + edx - 0x674]
movsd xmm0, qword [ebp - 0x298]
call fcn.00525440
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xd9], bl
jmp 0x51ebe1
movzx eax, byte [ebp - 0xd9]
movzx ecx, byte [ebp + eax - 0x674]
mov edx, dword [ebp - 0x50c]
add edx, dword [ebp - 0x270]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xd9], cl
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x270], ecx
movzx edx, byte [ebp - 0x1e7]
cmp dword [ebp - 0x270], edx
jb 0x51ec1f
mov dword [ebp - 0x270], 0
movzx eax, byte [ebp - 0x1e7]
movzx ecx, byte [ebp - 0xd9]
add ecx, eax
mov byte [ebp - 0xd9], cl
movzx edx, byte [ebp - 0xd9]
and edx, dword [ebp - 0x29c]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x3c0]
add eax, 1
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 0xb
jbe 0x51ec5e
mov eax, dword [ebp - 0x248]
xor edx, edx
div dword [ebp - 0x148]
mov dword [ebp - 0x248], edx
mov ecx, dword [ebp - 0x248]
cmp ecx, dword [ebp - 0x148]
ja 0x51ead9
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x248]
je 0x51ed03
mov eax, dword [ebp - 0x248]
movzx ecx, byte [ebp + eax - 0x674]
mov edx, dword [ebp - 0x148]
movzx eax, byte [ebp + edx - 0x674]
xor eax, ecx
mov ecx, dword [ebp - 0x148]
mov byte [ebp + ecx - 0x674], al
mov edx, dword [ebp - 0x148]
movzx eax, byte [ebp + edx - 0x674]
mov ecx, dword [ebp - 0x248]
movzx edx, byte [ebp + ecx - 0x674]
xor edx, eax
mov eax, dword [ebp - 0x248]
mov byte [ebp + eax - 0x674], dl
mov ecx, dword [ebp - 0x248]
movzx edx, byte [ebp + ecx - 0x674]
mov eax, dword [ebp - 0x148]
movzx ecx, byte [ebp + eax - 0x674]
xor ecx, edx
mov edx, dword [ebp - 0x148]
mov byte [ebp + edx - 0x674], cl
jmp 0x51ea89
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xc9], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xcd], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xd2], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xce], cl
movzx edx, byte [ebp - 0xd9]
mov al, byte [ebp + edx - 0x674]
mov byte [ebp - 0xcf], al
mov dword [ebp - 0x4f0], 0x38
cmp dword [ebp - 0x4f0], 2
jle 0x520705
mov ecx, dword [ebp - 0x4f0]
and ecx, 1
jne 0x520705
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x150], 0
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0xe0]
shl eax, 1
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1d0]
add ecx, dword [ebp - 0x1cc]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
add eax, 0xb6
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1d4], 0
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x1d0]
add eax, dword [ebp - 0x1d4]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], 0
mov edx, dword [ebp - 0x1a8]
add edx, 0x4f
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1a4]
sub eax, dword [ebp - 0x1a0]
add eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x19c]
sub ecx, dword [ebp - 0x1a8]
add ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1b4], 0
mov edx, dword [ebp - 0x1ac]
shl edx, 4
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x1b4]
or ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
mov byte [ebp - 0xd3], 0
mov dl, byte [ebp - 0x1bc]
mov byte [ebp - 0xd3], dl
mov byte [ebp - 0xd1], 0
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xd1], cl
movss xmm0, dword [0x539d6c]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [0x539d38]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [0x539d00]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [0x539cc4]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [0x539c94]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [0x539c54]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x130]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x1c8]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x14c]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x130]
mulss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x14c]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0xf8]
comiss xmm0, dword [ebp - 0x130]
jbe 0x51f28a
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x1c8]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x130]
divss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x134]
addss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x134]
addss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x14c]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0xf8]
subss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x14c]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x1c8]
mulss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x1c8]
addss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
comiss xmm0, dword [ebp - 0x134]
jbe 0x51f1f5
movss xmm0, dword [ebp - 0x170]
mulss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x14c]
divss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0x1c8]
addss xmm0, dword [ebp - 0xf8]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x130]
mulss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x130], xmm0
jmp 0x51f285
movss xmm0, dword [ebp - 0x170]
addss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xf8]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0x130]
addss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x130], xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [ebp - 0x14c]
movss dword [ebp - 0x130], xmm0
jmp 0x51f351
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x1c8]
addss xmm0, dword [ebp - 0x130]
movss dword [ebp - 0x1c8], xmm0
movss xmm0, dword [ebp - 0x170]
subss xmm0, dword [ebp - 0x1c8]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x134]
subss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x134]
mulss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x14c]
mulss xmm0, dword [ebp - 0x134]
movss dword [ebp - 0x14c], xmm0
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x674]
mov dword [ebp - 0x510], eax
mov cl, byte [ebp - 0xc9]
add cl, 1
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xcd]
add edx, dword [ebp - 0x510]
mov byte [ebp - 0xcd], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xce]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp - 0xd1]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xd1]
movzx eax, byte [ebp + edx - 0x674]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd3]
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x674]
movzx eax, byte [ebp - 0xc9]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor edx, ecx
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp + eax - 0x674]
movzx eax, byte [ebp - 0xcf]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
movzx eax, byte [ebp - 0xd2]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx eax, byte [ebp + ecx - 0x674]
xor edx, eax
mov byte [ebp - 0xce], dl
mov cl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], cl
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], dl
cmp dword [ebp - 0xe0], 0
jle 0x51f494
movsx ax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, dword [ebp - 0x150]
add edx, 0xc
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0x3bc], eax
jmp 0x51f4c3
mov ecx, dword [ebp - 0x3bc]
add ecx, 1
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3bc]
cmp edx, dword [ebp - 0x150]
jge 0x51fcee
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
shl ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1d0]
add edx, dword [ebp - 0x1cc]
movzx eax, byte [edx]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], 0xb6
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d0]
add eax, dword [ebp - 0x1d4]
movzx ecx, byte [eax]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], 0x4f
mov edx, dword [ebp - 0x1a4]
sub edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x19c]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1ac]
shl ecx, 4
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1b4]
or eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
mov cl, byte [ebp - 0x1bc]
mov byte [ebp - 0xd3], cl
movzx edx, byte [ebp - 0xcf]
mov al, byte [ebp + edx - 0x674]
mov byte [ebp - 0xd1], al
movsd xmm0, qword [0x539c20]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [0x539bd8]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [0x539b58]
movsd qword [ebp - 0x228], xmm0
movsd xmm0, qword [0x539ad8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [0x539a40]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [0x539980]
movsd qword [ebp - 0x164], xmm0
movsd xmm0, qword [ebp - 0x1dc]
mulsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x144]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x198]
comisd xmm0, xmmword [ebp - 0x164]
jbe 0x51f782
movsd xmm0, qword [ebp - 0x144]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x228]
addsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x228], xmm0
movsd xmm0, qword [ebp - 0x228]
subsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x228], xmm0
movsd xmm0, qword [ebp - 0x144]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x674]
mov dword [ebp - 0x514], edx
mov al, byte [ebp - 0xc9]
add al, 1
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xcd]
add ecx, dword [ebp - 0x514]
mov byte [ebp - 0xcd], cl
jmp 0x51fba8
movsd xmm0, qword [ebp - 0x144]
subsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x1dc]
addsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x164]
subsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x164], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1dc]
mulsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x164]
divsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x164], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1dc]
divsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x164]
comisd xmm0, xmmword [ebp - 0x144]
jbe 0x51fb18
movsd xmm0, qword [ebp - 0x144]
divsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x198]
divsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1f8]
mulsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x1dc]
divsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x144]
divsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x198]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x1f8]
mulsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x1dc]
divsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x144]
divsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x144]
subsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x144]
mulsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x1dc]
divsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x164]
comisd xmm0, xmmword [ebp - 0x144]
jbe 0x51fa83
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x228]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x228], xmm0
movsd xmm0, qword [ebp - 0x1f8]
subsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x144]
divsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x1dc]
addsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x164]
addsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x164], xmm0
jmp 0x51fb13
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x164]
addsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x164], xmm0
movsd xmm0, qword [ebp - 0x1f8]
subsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x228]
mulsd xmm0, qword [ebp - 0x1f8]
movsd qword [ebp - 0x228], xmm0
movsd xmm0, qword [ebp - 0x164]
mulsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x164], xmm0
movsd xmm0, qword [ebp - 0x164]
mulsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x164], xmm0
jmp 0x51fba8
movsd xmm0, qword [ebp - 0x1dc]
mulsd xmm0, qword [ebp - 0x144]
movsd qword [ebp - 0x1dc], xmm0
movsd xmm0, qword [ebp - 0x144]
subsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x144]
mulsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x144]
addsd xmm0, qword [ebp - 0x228]
movsd qword [ebp - 0x144], xmm0
movsd xmm0, qword [ebp - 0x1f8]
addsd xmm0, qword [ebp - 0x164]
movsd qword [ebp - 0x1f8], xmm0
movsd xmm0, qword [ebp - 0x164]
divsd xmm0, qword [ebp - 0x1dc]
movsd qword [ebp - 0x164], xmm0
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + edx - 0x674]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xce]
movzx eax, byte [ebp - 0xcd]
mov cl, byte [ebp + edx - 0x674]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp - 0xce]
mov cl, byte [ebp + edx - 0x674]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xc9]
mov al, byte [ebp - 0xd1]
mov byte [ebp + edx - 0x674], al
movzx ecx, byte [ebp - 0xd1]
movzx edx, byte [ebp + ecx - 0x674]
movzx eax, byte [ebp - 0xd2]
add eax, edx
mov byte [ebp - 0xd2], al
movzx ecx, byte [ebp - 0xd3]
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x674]
movzx edx, byte [ebp - 0xc9]
movzx edx, byte [ebp + edx - 0x674]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x674]
xor ecx, eax
movzx edx, byte [ebp - 0xce]
movzx eax, byte [ebp + edx - 0x674]
movzx edx, byte [ebp - 0xcf]
movzx edx, byte [ebp + edx - 0x674]
add eax, edx
movzx edx, byte [ebp - 0xd2]
movzx edx, byte [ebp + edx - 0x674]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x674]
movzx edx, byte [ebp + eax - 0x674]
xor ecx, edx
mov byte [ebp - 0xce], cl
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], al
mov cl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], cl
cmp dword [ebp - 0xe0], 0
jle 0x51fce9
movsx dx, byte [ebp - 0xdb]
mov eax, dword [ebp - 0xe0]
mov word [ebp + eax*2 - 0x92], dx
jmp 0x51f4b4
mov ecx, dword [ebp - 0x150]
add ecx, 1
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0xe0]
shl ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1d0]
add edx, dword [ebp - 0x1cc]
movzx eax, byte [edx]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], 0xb6
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d0]
add eax, dword [ebp - 0x1d4]
movzx ecx, byte [eax]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], 0x4f
mov edx, dword [ebp - 0x1a4]
sub edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x19c]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1ac]
shl ecx, 4
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1b4]
or eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
mov cl, byte [ebp - 0x1bc]
mov byte [ebp - 0xd3], cl
movzx edx, byte [ebp - 0xcf]
mov al, byte [ebp + edx - 0x674]
mov byte [ebp - 0xd1], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp + ecx - 0x674]
mov dword [ebp - 0x568], edx
mov al, byte [ebp - 0xc9]
add al, 1
mov byte [ebp - 0xc9], al
movzx ecx, byte [ebp - 0xcd]
add ecx, dword [ebp - 0x568]
mov byte [ebp - 0xcd], cl
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + edx - 0x674]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xce]
movzx eax, byte [ebp - 0xcd]
mov cl, byte [ebp + edx - 0x674]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp - 0xce]
mov cl, byte [ebp + edx - 0x674]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xc9]
mov al, byte [ebp - 0xd1]
mov byte [ebp + edx - 0x674], al
movzx ecx, byte [ebp - 0xd1]
movzx edx, byte [ebp + ecx - 0x674]
movzx eax, byte [ebp - 0xd2]
add eax, edx
mov byte [ebp - 0xd2], al
movzx ecx, byte [ebp - 0xd3]
movzx edx, byte [ebp - 0xcd]
movzx eax, byte [ebp + edx - 0x674]
movzx edx, byte [ebp - 0xc9]
movzx edx, byte [ebp + edx - 0x674]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x674]
xor ecx, eax
movzx edx, byte [ebp - 0xce]
movzx eax, byte [ebp + edx - 0x674]
movzx edx, byte [ebp - 0xcf]
movzx edx, byte [ebp + edx - 0x674]
add eax, edx
movzx edx, byte [ebp - 0xd2]
movzx edx, byte [ebp + edx - 0x674]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x674]
movzx edx, byte [ebp + eax - 0x674]
xor ecx, edx
mov byte [ebp - 0xce], cl
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], al
mov cl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], cl
cmp dword [ebp - 0xe0], 0
jle 0x51ff5f
movsx dx, byte [ebp - 0xdb]
mov eax, dword [ebp - 0xe0]
mov word [ebp + eax*2 - 0x92], dx
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0xe0]
shl eax, 1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1d0]
add ecx, dword [ebp - 0x1cc]
movzx edx, byte [ecx]
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x1a0], 0xb6
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d0]
add edx, dword [ebp - 0x1d4]
movzx eax, byte [edx]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a8], 0x4f
mov ecx, dword [ebp - 0x1a4]
sub ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x19c]
sub edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x1ac]
shl eax, 4
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1b4]
or edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
mov al, byte [ebp - 0x1bc]
mov byte [ebp - 0xd3], al
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + ecx - 0x674]
mov byte [ebp - 0xd1], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp + eax - 0x674]
mov dword [ebp - 0x564], ecx
mov dl, byte [ebp - 0xc9]
add dl, 1
mov byte [ebp - 0xc9], dl
movzx eax, byte [ebp - 0xcd]
add eax, dword [ebp - 0x564]
mov byte [ebp - 0xcd], al
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp - 0xcf]
mov al, byte [ebp + ecx - 0x674]
mov byte [ebp + edx - 0x674], al
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp - 0xcd]
mov al, byte [ebp + ecx - 0x674]
mov byte [ebp + edx - 0x674], al
movzx ecx, byte [ebp - 0xc9]
movzx edx, byte [ebp - 0xce]
mov al, byte [ebp + ecx - 0x674]
mov byte [ebp + edx - 0x674], al
movzx ecx, byte [ebp - 0xc9]
mov dl, byte [ebp - 0xd1]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xd1]
movzx ecx, byte [ebp + eax - 0x674]
movzx edx, byte [ebp - 0xd2]
add edx, ecx
mov byte [ebp - 0xd2], dl
movzx eax, byte [ebp - 0xd3]
movzx ecx, byte [ebp - 0xcd]
movzx edx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp - 0xc9]
movzx ecx, byte [ebp + ecx - 0x674]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x674]
xor eax, edx
movzx ecx, byte [ebp - 0xce]
movzx edx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp - 0xcf]
movzx ecx, byte [ebp + ecx - 0x674]
add edx, ecx
movzx ecx, byte [ebp - 0xd2]
movzx ecx, byte [ebp + ecx - 0x674]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x674]
movzx ecx, byte [ebp + edx - 0x674]
xor eax, ecx
mov byte [ebp - 0xce], al
mov dl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], dl
mov al, byte [ebp - 0xce]
mov byte [ebp - 0xdb], al
cmp dword [ebp - 0xe0], 0
jle 0x5201c4
movsx cx, byte [ebp - 0xdb]
mov edx, dword [ebp - 0xe0]
mov word [ebp + edx*2 - 0x92], cx
mov eax, dword [ebp - 0x150]
add eax, 0xc
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0x3b8], ecx
jmp 0x5201f3
mov edx, dword [ebp - 0x3b8]
add edx, 1
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3b8]
cmp eax, dword [ebp - 0x150]
jge 0x520460
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
shl edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1d0]
add eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax]
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], 0xb6
mov edx, dword [ebp - 0xe0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d0]
add ecx, dword [ebp - 0x1d4]
movzx edx, byte [ecx]
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x1a8], 0x4f
mov eax, dword [ebp - 0x1a4]
sub eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x19c]
sub ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x1ac]
shl edx, 4
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1b4]
or ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
mov dl, byte [ebp - 0x1bc]
mov byte [ebp - 0xd3], dl
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x674]
mov dword [ebp - 0x560], eax
mov cl, byte [ebp - 0xc9]
add cl, 1
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xcd]
add edx, dword [ebp - 0x560]
mov byte [ebp - 0xcd], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xce]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp - 0xd1]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xd1]
movzx eax, byte [ebp + edx - 0x674]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd3]
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x674]
movzx eax, byte [ebp - 0xc9]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor edx, ecx
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp + eax - 0x674]
movzx eax, byte [ebp - 0xcf]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
movzx eax, byte [ebp - 0xd2]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx eax, byte [ebp + ecx - 0x674]
xor edx, eax
mov byte [ebp - 0xce], dl
mov cl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], cl
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], dl
cmp dword [ebp - 0xe0], 0
jle 0x52045b
movsx ax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x92], ax
jmp 0x5201e4
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x150]
add ecx, 1
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0xe0]
shl edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1d0]
add eax, dword [ebp - 0x1cc]
movzx ecx, byte [eax]
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], 0xb6
mov edx, dword [ebp - 0xe0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d0]
add ecx, dword [ebp - 0x1d4]
movzx edx, byte [ecx]
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x1a8], 0x4f
mov eax, dword [ebp - 0x1a4]
sub eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x19c]
sub ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x1ac]
shl edx, 4
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1b4]
or ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
mov dl, byte [ebp - 0x1bc]
mov byte [ebp - 0xd3], dl
movzx eax, byte [ebp - 0xcf]
mov cl, byte [ebp + eax - 0x674]
mov byte [ebp - 0xd1], cl
movzx edx, byte [ebp - 0xc9]
movzx eax, byte [ebp + edx - 0x674]
mov dword [ebp - 0x55c], eax
mov cl, byte [ebp - 0xc9]
add cl, 1
mov byte [ebp - 0xc9], cl
movzx edx, byte [ebp - 0xcd]
add edx, dword [ebp - 0x55c]
mov byte [ebp - 0xcd], dl
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0xcf]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp - 0xcd]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xc9]
movzx ecx, byte [ebp - 0xce]
mov dl, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], dl
movzx eax, byte [ebp - 0xc9]
mov cl, byte [ebp - 0xd1]
mov byte [ebp + eax - 0x674], cl
movzx edx, byte [ebp - 0xd1]
movzx eax, byte [ebp + edx - 0x674]
movzx ecx, byte [ebp - 0xd2]
add ecx, eax
mov byte [ebp - 0xd2], cl
movzx edx, byte [ebp - 0xd3]
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp + eax - 0x674]
movzx eax, byte [ebp - 0xc9]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor edx, ecx
movzx eax, byte [ebp - 0xce]
movzx ecx, byte [ebp + eax - 0x674]
movzx eax, byte [ebp - 0xcf]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
movzx eax, byte [ebp - 0xd2]
movzx eax, byte [ebp + eax - 0x674]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx eax, byte [ebp + ecx - 0x674]
xor edx, eax
mov byte [ebp - 0xce], dl
mov cl, byte [ebp - 0xd3]
mov byte [ebp - 0xcf], cl
mov dl, byte [ebp - 0xce]
mov byte [ebp - 0xdb], dl
cmp dword [ebp - 0xe0], 0
jle 0x5206d4
movsx ax, byte [ebp - 0xdb]
mov ecx, dword [ebp - 0xe0]
mov word [ebp + ecx*2 - 0x92], ax
mov edx, 2
imul eax, edx, 0x1b
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x4e0], 0x38
jae 0x5206ed
jmp 0x5206f3
call fcn.00525285
nop
xor ecx, ecx
mov edx, dword [ebp - 0x4e0]
mov word [ebp + edx - 0x90], cx
jmp 0x52075a
mov dword [ebp - 0x2a0], 0
jmp 0x520720
mov eax, dword [ebp - 0x2a0]
add eax, 1
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0x1c
jge 0x52075a
mov ecx, dword [ebp - 0x2a0]
shl ecx, 1
mov dword [ebp - 0x4e4], ecx
cmp dword [ebp - 0x4e4], 0x38
jae 0x520742
jmp 0x520748
call fcn.00525285
nop
xor edx, edx
mov eax, dword [ebp - 0x4e4]
mov word [ebp + eax - 0x90], dx
jmp 0x520711
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x290], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x288], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x288], xmm0
jmp 0x5207a9
movsd xmm0, qword [ebp - 0x288]
addsd xmm0, qword [0x536678]
movsd qword [ebp - 0x288], xmm0
movsd xmm0, qword [0x5399f0]
comisd xmm0, xmmword [ebp - 0x288]
jbe 0x52085a
movsd xmm0, qword [0x539938]
mulsd xmm0, qword [ebp - 0x288]
mulsd xmm0, qword [ebp - 0x288]
movsd xmm1, qword [ebp - 0x288]
mulsd xmm1, qword [ebp - 0x288]
subsd xmm0, xmm1
movsd xmm1, qword [0x539868]
mulsd xmm1, qword [ebp - 0x288]
mulsd xmm1, qword [ebp - 0x288]
addsd xmm1, qword [0x539890]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x290]
movsd qword [ebp - 0x290], xmm0
movsd xmm0, qword [ebp - 0x290]
comisd xmm0, xmmword [0x5398e8]
jbe 0x520855
movsd xmm0, qword [str.So_]
mulsd xmm0, qword [ebp - 0x288]
movsd xmm1, qword [ebp - 0x290]
subsd xmm1, xmm0
movsd qword [ebp - 0x290], xmm1
jmp 0x520791
invalid
dec dword [edi]
push edi
shl byte [esi + 0xf], 0x2f
test dword [eax - 3], esi
invalid
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x290]
jbe 0x5208d0
dec ebx
and al, 0x51
jbe 0x5208a6
inc dx
pop ecx
aaa
ja 0x5208aa
inc esp
pop esi
and bl, byte [edi + 0x23]
js 0x5208ec
imul esp, dword [esi], 0x37
jnp 0x5208d7
cmp eax, 0x825a4145
leave
xchg eax, eax
or ebp, 0xffffff81
leave
jle 0x520859
or ecx, 0xc87acc7e
jp 0x520857
test eax, eax
test esp, ecx
add ebp, 0xffffff85
sar dword [edi - 0x40], 0x7c
mov dword [ebp + 0x7cc17fc9], 0x7fc083c1
ret
sar dword [edx + ecx*8 + 0x7d], 0xc0
or eax, 0xcc85bf7e
rol byte [ecx - 0x7a408138], 0xcc
add eax, 0xc37ac57e
add eax, 0xbe81c07f
xchg bl, al
add dh, 0x84
mov byte [edx - 0x7c3b8541], 0xc7
jp 0x520889
jmp 0x523f23
mov dword [ebp - 0xc0], 0x520883
or byte [edx], dl
mov dword [ebp - 0xc4], 0x520867
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x558], edx
mov byte [ebp - 0x1e5], 0x20
mov dword [ebp - 0x154], 0
jmp 0x52091e
in al, 0xfe
invalid
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0x100
jae 0x52093f
mov ecx, dword [ebp - 0x154]
mov dl, byte [ebp - 0x154]
mov byte [ebp + ecx - 0x4c0], dl
jmp 0x52090f
mov dword [ebp - 0x274], 0
mov byte [ebp - 0xda], 0
mov dword [ebp - 0x154], 0xff
jmp 0x52096b
mov eax, dword [ebp - 0x154]
sub eax, 1
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jbe 0x520bdb
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x2a4], 1
mov ecx, dword [ebp - 0x2a4]
cmp ecx, dword [ebp - 0x154]
jae 0x5209ac
mov edx, dword [ebp - 0x2a4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x2a4], eax
jmp 0x52098c
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x4fc], ecx
cmp dword [ebp - 0x4fc], 3
ja case.default.0x5209cb
mov edx, dword [ebp - 0x4fc]
jmp dword [edx*4 + 0x52406c]
movzx eax, byte [ebp - 0xda]
movzx ebx, byte [ebp + eax - 0x4c0]
movsd xmm0, qword [ebp - 0x290]
call fcn.00525440
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x520ab4
movzx ecx, byte [ebp - 0xda]
movzx ebx, byte [ebp + ecx - 0x4c0]
movsd xmm0, qword [ebp - 0x290]
call fcn.00525440
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x520ab4
movzx edx, byte [ebp - 0xda]
movzx ebx, byte [ebp + edx - 0x4c0]
movsd xmm0, qword [ebp - 0x290]
call fcn.00525440
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x520ab4
movzx eax, byte [ebp - 0xda]
movzx ebx, byte [ebp + eax - 0x4c0]
movsd xmm0, qword [ebp - 0x290]
call fcn.00525440
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xda], bl
jmp 0x520ab4
movzx ecx, byte [ebp - 0xda]
movzx edx, byte [ebp + ecx - 0x4c0]
mov eax, dword [ebp - 0x558]
add eax, dword [ebp - 0x274]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0xda], dl
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
movzx eax, byte [ebp - 0x1e5]
cmp dword [ebp - 0x274], eax
jb 0x520af2
mov dword [ebp - 0x274], 0
movzx ecx, byte [ebp - 0x1e5]
movzx edx, byte [ebp - 0xda]
add edx, ecx
mov byte [ebp - 0xda], dl
movzx eax, byte [ebp - 0xda]
and eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x3b4], ecx
cmp dword [ebp - 0x3b4], 0xb
jbe 0x520b31
mov eax, dword [ebp - 0x23c]
xor edx, edx
div dword [ebp - 0x154]
mov dword [ebp - 0x23c], edx
mov edx, dword [ebp - 0x23c]
cmp edx, dword [ebp - 0x154]
ja 0x5209ac
mov eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x23c]
je 0x520bd6
mov ecx, dword [ebp - 0x23c]
movzx edx, byte [ebp + ecx - 0x4c0]
mov eax, dword [ebp - 0x154]
movzx ecx, byte [ebp + eax - 0x4c0]
xor ecx, edx
mov edx, dword [ebp - 0x154]
mov byte [ebp + edx - 0x4c0], cl
mov eax, dword [ebp - 0x154]
movzx ecx, byte [ebp + eax - 0x4c0]
mov edx, dword [ebp - 0x23c]
movzx eax, byte [ebp + edx - 0x4c0]
xor eax, ecx
mov ecx, dword [ebp - 0x23c]
mov byte [ebp + ecx - 0x4c0], al
mov edx, dword [ebp - 0x23c]
movzx eax, byte [ebp + edx - 0x4c0]
mov ecx, dword [ebp - 0x154]
movzx edx, byte [ebp + ecx - 0x4c0]
xor edx, eax
mov eax, dword [ebp - 0x154]
mov byte [ebp + eax - 0x4c0], dl
jmp 0x52095c
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xc5], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xc6], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xcb], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xc7], dl
movzx eax, byte [ebp - 0xda]
mov cl, byte [ebp + eax - 0x4c0]
mov byte [ebp - 0xc8], cl
mov dword [ebp - 0x500], 0x48
cmp dword [ebp - 0x500], 2
jle 0x523ed1
mov edx, dword [ebp - 0x500]
and edx, 1
jne 0x523ed1
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x114], 0
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x114]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x100], 0
mov ecx, dword [ebp - 0x100]
add ecx, 0x78
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x120], 0
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x104], 0
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x120]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
add eax, 0xbe
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x100]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x104]
sub edx, dword [ebp - 0x108]
add edx, dword [ebp - 0x110]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x10c]
shl eax, 4
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x128], 0
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x118], 0
mov edx, dword [ebp - 0x124]
or edx, dword [ebp - 0x128]
mov dword [ebp - 0x118], edx
mov byte [ebp - 0xcc], 0
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xcc], al
mov byte [ebp - 0xca], 0
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xca], dl
movss xmm0, dword [0x539d48]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [0x539d10]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [0x539cd4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [0x539c98]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [0x539c58]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf0]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, dword [ebp - 0xe4]
jbe 0x520f8a
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xfc]
subss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf0], xmm0
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x4c0]
mov dword [ebp - 0x550], ecx
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x550]
mov byte [ebp - 0xc6], al
jmp 0x5212fc
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xf0]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xfc]
addss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xe4]
subss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf0]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xfc]
comiss xmm0, dword [ebp - 0xf4]
jbe 0x521284
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
divss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], 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 - 0xf4]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf0]
divss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf4]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xe4]
divss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe8]
comiss xmm0, dword [ebp - 0xf0]
jbe 0x52120a
movss xmm0, dword [ebp - 0xe8]
mulss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xf4]
subss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
divss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xe4]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
jmp 0x521282
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf0], xmm0
movss xmm0, dword [ebp - 0xf4]
addss xmm0, dword [ebp - 0xe4]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe8], xmm0
jmp 0x5212fc
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe4], xmm0
movss xmm0, dword [ebp - 0xf4]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
mulss xmm0, dword [ebp - 0xe8]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xfc]
divss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xfc], xmm0
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [ebp - 0xfc]
movss dword [ebp - 0xe4], xmm0
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xca]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp - 0xcb]
add edx, ecx
mov byte [ebp - 0xcb], dl
movzx eax, byte [ebp - 0xcc]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4c0]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4c0]
movzx ecx, byte [ebp + edx - 0x4c0]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], al
cmp dword [ebp - 0xd8], 0
jle 0x52143c
movsx cx, byte [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x5a], cx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x100], 0x78
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x120], eax
movsd xmm0, qword [0x539be0]
movsd qword [ebp - 0x26c], xmm0
movsd xmm0, qword [0x539b60]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [0x539ae0]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [0x539a48]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [0x539988]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x26c]
addsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x26c], xmm0
movsd xmm0, qword [ebp - 0x250]
addsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [ebp - 0x26c]
subsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x26c], xmm0
movsd xmm0, qword [ebp - 0x230]
addsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x218]
addsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x250]
comisd xmm0, xmmword [ebp - 0x1c4]
jbe 0x521607
movsd xmm0, qword [ebp - 0x230]
mulsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x250]
subsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [ebp - 0x1c4]
subsd xmm0, qword [ebp - 0x250]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x218]
addsd xmm0, qword [ebp - 0x26c]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x230]
addsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x230], xmm0
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x120]
movzx edx, byte [ecx]
mov dword [ebp - 0x104], edx
jmp 0x5217fb
movsd xmm0, qword [ebp - 0x230]
mulsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x250]
subsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [ebp - 0x26c]
addsd xmm0, qword [ebp - 0x230]
movsd qword [ebp - 0x26c], xmm0
movsd xmm0, qword [ebp - 0x218]
mulsd xmm0, qword [ebp - 0x26c]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x250]
addsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [ebp - 0x230]
divsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x230]
subsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x230]
mulsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x230], xmm0
movsd xmm0, qword [ebp - 0x250]
mulsd xmm0, qword [ebp - 0x230]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [ebp - 0x1c4]
subsd xmm0, qword [ebp - 0x26c]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x26c]
comisd xmm0, xmmword [ebp - 0x230]
jbe 0x521783
movsd xmm0, qword [ebp - 0x218]
mulsd xmm0, qword [ebp - 0x26c]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x250]
divsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x250], xmm0
movsd xmm0, qword [ebp - 0x1c4]
mulsd xmm0, qword [ebp - 0x250]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x1c4]
divsd xmm0, qword [ebp - 0x250]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x1c4]
divsd xmm0, qword [ebp - 0x250]
movsd qword [ebp - 0x1c4], xmm0
jmp 0x5217fb
movsd xmm0, qword [ebp - 0x1c4]
divsd xmm0, qword [ebp - 0x26c]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x218]
subsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x1c4]
mulsd xmm0, qword [ebp - 0x26c]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [ebp - 0x218]
addsd xmm0, qword [ebp - 0x1c4]
movsd qword [ebp - 0x218], xmm0
movsd xmm0, qword [ebp - 0x230]
divsd xmm0, qword [ebp - 0x218]
movsd qword [ebp - 0x230], xmm0
mov dword [ebp - 0x108], 0xbe
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x100]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x104]
sub ecx, dword [ebp - 0x108]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x10c]
shl edx, 4
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x124]
or ecx, dword [ebp - 0x128]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x4c0]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x4c0]
mov dword [ebp - 0x54c], eax
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
add edx, dword [ebp - 0x54c]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x4c0]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4c0]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp + ecx - 0x4c0]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x5219ed
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x5a], ax
mov edx, dword [ebp - 0xec]
add edx, 0xd
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0x3b0], eax
jmp 0x521a1c
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ebp - 0xec]
jge 0x522152
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x100], 0x78
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x120], edx
movsd xmm0, qword [0x539c10]
movsd qword [ebp - 0x238], xmm0
movsd xmm0, qword [0x539bb8]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [0x539b20]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [0x539a80]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [0x5399c8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x13c]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x238]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x238], xmm0
movsd xmm0, qword [ebp - 0x13c]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x13c]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x13c]
comisd xmm0, xmmword [ebp - 0x188]
jbe 0x521bea
movsd xmm0, qword [ebp - 0x13c]
mulsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x1e4]
subsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x1e4]
subsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x1e4]
addsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x120]
movzx ecx, byte [eax]
mov dword [ebp - 0x104], ecx
jmp 0x521f5e
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x188]
subsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x238]
subsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x238], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1e4]
mulsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x13c]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x13c]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x13c]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x1e4]
comisd xmm0, xmmword [ebp - 0x13c]
jbe 0x521ee6
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1e4]
subsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x13c]
divsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x13c]
subsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x188]
subsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x13c]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x238]
addsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x238], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
comisd xmm0, xmmword [ebp - 0x238]
jbe 0x521e6c
movsd xmm0, qword [ebp - 0x13c]
mulsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x188]
subsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x1e4]
mulsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x1e4]
divsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
jmp 0x521ee4
movsd xmm0, qword [ebp - 0x238]
divsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x238], xmm0
movsd xmm0, qword [ebp - 0x190]
subsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x13c]
subsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x13c], xmm0
movsd xmm0, qword [ebp - 0x1e4]
addsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x1e4]
movsd qword [ebp - 0x188], xmm0
jmp 0x521f5e
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x188]
mulsd xmm0, qword [ebp - 0x238]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x1e4]
divsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1e4], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x13c]
movsd qword [ebp - 0x190], xmm0
mov dword [ebp - 0x108], 0xbe
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x108]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x10c]
shl ecx, 4
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
or eax, dword [ebp - 0x128]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x4c0]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x4c0]
mov dword [ebp - 0x540], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x540]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp + eax - 0x4c0]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x52214d
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x5a], dx
jmp 0x521a0d
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x100], 0x78
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x120]
movzx ecx, byte [eax]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], 0xbe
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x108]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x10c]
shl ecx, 4
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
or eax, dword [ebp - 0x128]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x4c0]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x4c0]
mov dword [ebp - 0x53c], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x53c]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp + eax - 0x4c0]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x5223c0
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x5a], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x100], 0x78
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x120]
movzx eax, byte [edx]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], 0xbe
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x104]
sub edx, dword [ebp - 0x108]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x10c]
shl eax, 4
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x124]
or edx, dword [ebp - 0x128]
mov dword [ebp - 0x118], edx
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xcc], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xca], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x4c0]
mov dword [ebp - 0x538], ecx
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x538]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xca]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp - 0xcb]
add edx, ecx
mov byte [ebp - 0xcb], dl
movzx eax, byte [ebp - 0xcc]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4c0]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4c0]
movzx ecx, byte [ebp + edx - 0x4c0]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], al
cmp dword [ebp - 0xd8], 0
jle 0x522622
movsx cx, byte [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x5a], cx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x100], 0x78
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x120]
movzx edx, byte [ecx]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x108], 0xbe
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x100]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x104]
sub ecx, dword [ebp - 0x108]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x10c]
shl edx, 4
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x124]
or ecx, dword [ebp - 0x128]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x4c0]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x4c0]
mov dword [ebp - 0x534], eax
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
add edx, dword [ebp - 0x534]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x4c0]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4c0]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp + ecx - 0x4c0]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x522884
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x5a], ax
mov edx, dword [ebp - 0xec]
add edx, 0xe
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0x3ac], eax
jmp 0x5228b3
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x3ac]
cmp edx, dword [ebp - 0xec]
jge 0x522b1a
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x100], 0x78
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x120]
movzx ecx, byte [eax]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], 0xbe
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x108]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x10c]
shl ecx, 4
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
or eax, dword [ebp - 0x128]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x4c0]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x4c0]
mov dword [ebp - 0x530], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x530]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp + eax - 0x4c0]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x522b15
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x5a], dx
jmp 0x5228a4
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x100], 0x78
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x120]
movzx ecx, byte [eax]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], 0xbe
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x108]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x10c]
shl ecx, 4
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
or eax, dword [ebp - 0x128]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x4c0]
mov byte [ebp - 0xca], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x4c0]
mov dword [ebp - 0x52c], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x52c]
mov byte [ebp - 0xc6], cl
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp + eax - 0x4c0]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x522d88
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x5a], dx
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xec]
add edx, 1
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xd8]
shl eax, 1
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x12c]
movzx edx, byte [ecx]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x100], 0x78
mov eax, dword [ebp - 0xd8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x120]
movzx eax, byte [edx]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], 0xbe
mov ecx, dword [ebp - 0x114]
sub ecx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x104]
sub edx, dword [ebp - 0x108]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x10c]
shl eax, 4
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x124]
or edx, dword [ebp - 0x128]
mov dword [ebp - 0x118], edx
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xcc], al
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + ecx - 0x4c0]
mov byte [ebp - 0xca], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp + eax - 0x4c0]
mov dword [ebp - 0x528], ecx
mov dl, byte [ebp - 0xc5]
add dl, 1
mov byte [ebp - 0xc5], dl
movzx eax, byte [ebp - 0xc6]
add eax, dword [ebp - 0x528]
mov byte [ebp - 0xc6], al
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp - 0xc6]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp - 0xc7]
mov al, byte [ebp + ecx - 0x4c0]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xc5]
mov dl, byte [ebp - 0xca]
mov byte [ebp + ecx - 0x4c0], dl
movsd xmm0, qword [0x539b88]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [0x539b40]
movsd qword [ebp - 0x220], xmm0
movsd xmm0, qword [0x539af0]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [0x539a98]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [0x539a28]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [0x5399e0]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [0x539948]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x1f0]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x15c]
comisd xmm0, xmmword [ebp - 0x180]
jbe 0x52310b
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x178]
subsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x1f0]
subsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movzx eax, byte [ebp - 0xca]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp - 0xcb]
add edx, ecx
mov byte [ebp - 0xcb], dl
jmp 0x5235d9
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x244]
mulsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x244]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x15c]
divsd xmm0, qword [ebp - 0x220]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x1f0]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x16c]
addsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x15c]
mulsd xmm0, qword [ebp - 0x220]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x16c]
divsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x178]
divsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x15c]
subsd xmm0, qword [ebp - 0x220]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x16c]
divsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x16c]
mulsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x16c]
comisd xmm0, xmmword [ebp - 0x180]
jbe 0x52331e
movsd xmm0, qword [ebp - 0x15c]
divsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
divsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x220]
mulsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x220]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x1f0]
addsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x16c]
subsd xmm0, qword [ebp - 0x220]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x220]
subsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
jmp 0x5235d9
movsd xmm0, qword [ebp - 0x244]
addsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x1f0]
mulsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x178]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x220]
subsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
movsd xmm0, qword [ebp - 0x16c]
mulsd xmm0, qword [ebp - 0x220]
movsd qword [ebp - 0x16c], xmm0
movsd xmm0, qword [ebp - 0x220]
divsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
movsd xmm0, qword [ebp - 0x1f0]
divsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x15c]
subsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x15c]
divsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x16c]
comisd xmm0, xmmword [ebp - 0x180]
jbe 0x523531
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x15c]
addsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x15c]
divsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x15c], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x220]
addsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
movsd xmm0, qword [ebp - 0x220]
subsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
movsd xmm0, qword [ebp - 0x220]
divsd xmm0, qword [ebp - 0x1f0]
movsd qword [ebp - 0x220], xmm0
jmp 0x5235d9
movsd xmm0, qword [ebp - 0x244]
divsd xmm0, qword [ebp - 0x15c]
movsd qword [ebp - 0x244], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x178]
divsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x1f0]
addsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x1f0], xmm0
movsd xmm0, qword [ebp - 0x178]
divsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x16c]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x178]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
movzx eax, byte [ebp - 0xcc]
movzx ecx, byte [ebp - 0xc6]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx ecx, byte [ebp - 0xc5]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4c0]
xor eax, edx
movzx ecx, byte [ebp - 0xc7]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx ecx, byte [ebp - 0xc8]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
movzx ecx, byte [ebp - 0xcb]
movzx ecx, byte [ebp + ecx - 0x4c0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x4c0]
movzx ecx, byte [ebp + edx - 0x4c0]
xor eax, ecx
mov byte [ebp - 0xc7], al
mov dl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], dl
mov al, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], al
cmp dword [ebp - 0xd8], 0
jle 0x523693
movsx cx, byte [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov word [ebp + edx*2 - 0x5a], cx
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xec]
add ecx, 1
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xd8]
shl edx, 1
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x12c]
movzx ecx, byte [eax]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x100], 0x78
mov edx, dword [ebp - 0xd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x120]
movzx edx, byte [ecx]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x108], 0xbe
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x100]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x104]
sub ecx, dword [ebp - 0x108]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x10c]
shl edx, 4
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x124]
or ecx, dword [ebp - 0x128]
mov dword [ebp - 0x118], ecx
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], dl
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + eax - 0x4c0]
mov byte [ebp - 0xca], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp + edx - 0x4c0]
mov dword [ebp - 0x524], eax
mov cl, byte [ebp - 0xc5]
add cl, 1
mov byte [ebp - 0xc5], cl
movzx edx, byte [ebp - 0xc6]
add edx, dword [ebp - 0x524]
mov byte [ebp - 0xc6], dl
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp - 0xc8]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp - 0xc6]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc5]
movzx ecx, byte [ebp - 0xc7]
mov dl, byte [ebp + eax - 0x4c0]
mov byte [ebp + ecx - 0x4c0], dl
movzx eax, byte [ebp - 0xc5]
mov cl, byte [ebp - 0xca]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xca]
movzx eax, byte [ebp + edx - 0x4c0]
movzx ecx, byte [ebp - 0xcb]
add ecx, eax
mov byte [ebp - 0xcb], cl
movzx edx, byte [ebp - 0xcc]
movzx eax, byte [ebp - 0xc6]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx eax, byte [ebp - 0xc5]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4c0]
xor edx, ecx
movzx eax, byte [ebp - 0xc7]
movzx ecx, byte [ebp + eax - 0x4c0]
movzx eax, byte [ebp - 0xc8]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
movzx eax, byte [ebp - 0xcb]
movzx eax, byte [ebp + eax - 0x4c0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp + ecx - 0x4c0]
xor edx, eax
mov byte [ebp - 0xc7], dl
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], cl
mov dl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], dl
cmp dword [ebp - 0xd8], 0
jle 0x5238f5
movsx ax, byte [ebp - 0xd0]
mov ecx, dword [ebp - 0xd8]
mov word [ebp + ecx*2 - 0x5a], ax
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xd8]
shl ecx, 1
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x11c]
add edx, dword [ebp - 0x12c]
movzx eax, byte [edx]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x100], 0x78
mov ecx, dword [ebp - 0xd8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x11c]
add eax, dword [ebp - 0x120]
movzx ecx, byte [eax]
mov dword [ebp - 0x104], ecx
mov dword [ebp - 0x108], 0xbe
mov edx, dword [ebp - 0x114]
sub edx, dword [ebp - 0x100]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x108]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x10c]
shl ecx, 4
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x124]
or eax, dword [ebp - 0x128]
mov dword [ebp - 0x118], eax
mov cl, byte [ebp - 0x118]
mov byte [ebp - 0xcc], cl
movzx edx, byte [ebp - 0xc8]
mov al, byte [ebp + edx - 0x4c0]
mov byte [ebp - 0xca], al
movsd xmm0, qword [0x539bc8]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [0x539b50]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [0x539ac8]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [0x539a38]
movsd qword [ebp - 0x258], xmm0
movsd xmm0, qword [0x539978]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x258]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x258], xmm0
movsd xmm0, qword [ebp - 0x258]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x258], xmm0
movsd xmm0, qword [ebp - 0x200]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x208]
subsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x210]
comisd xmm0, xmmword [ebp - 0x264]
jbe 0x523b71
movsd xmm0, qword [ebp - 0x200]
subsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x200]
mulsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x200]
addsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x208]
mulsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x200]
mulsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movzx ecx, byte [ebp - 0xc5]
movzx edx, byte [ebp + ecx - 0x4c0]
mov dword [ebp - 0x518], edx
mov al, byte [ebp - 0xc5]
add al, 1
mov byte [ebp - 0xc5], al
movzx ecx, byte [ebp - 0xc6]
add ecx, dword [ebp - 0x518]
mov byte [ebp - 0xc6], cl
jmp 0x523d65
movsd xmm0, qword [ebp - 0x264]
addsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x210]
mulsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x264]
addsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x264], xmm0
movsd xmm0, qword [ebp - 0x208]
divsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x210]
subsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x208]
addsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x210]
addsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x200]
comisd xmm0, xmmword [ebp - 0x208]
jbe 0x523ced
movsd xmm0, qword [ebp - 0x208]
divsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x200]
subsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x210]
mulsd xmm0, qword [ebp - 0x208]
movsd qword [ebp - 0x210], xmm0
movsd xmm0, qword [ebp - 0x200]
mulsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x264]
subsd xmm0, qword [ebp - 0x200]
movsd qword [ebp - 0x264], xmm0
jmp 0x523d65
movsd xmm0, qword [ebp - 0x258]
divsd xmm0, qword [ebp - 0x264]
movsd qword [ebp - 0x258], xmm0
movsd xmm0, qword [ebp - 0x208]
divsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x208]
subsd xmm0, qword [ebp - 0x258]
movsd qword [ebp - 0x208], xmm0
movsd xmm0, qword [ebp - 0x200]
divsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movsd xmm0, qword [ebp - 0x200]
addsd xmm0, qword [ebp - 0x210]
movsd qword [ebp - 0x200], xmm0
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp - 0xc8]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp - 0xc6]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
movzx eax, byte [ebp - 0xc7]
mov cl, byte [ebp + edx - 0x4c0]
mov byte [ebp + eax - 0x4c0], cl
movzx edx, byte [ebp - 0xc5]
mov al, byte [ebp - 0xca]
mov byte [ebp + edx - 0x4c0], al
movzx ecx, byte [ebp - 0xca]
movzx edx, byte [ebp + ecx - 0x4c0]
movzx eax, byte [ebp - 0xcb]
add eax, edx
mov byte [ebp - 0xcb], al
movzx ecx, byte [ebp - 0xcc]
movzx edx, byte [ebp - 0xc6]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc5]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
xor ecx, eax
movzx edx, byte [ebp - 0xc7]
movzx eax, byte [ebp + edx - 0x4c0]
movzx edx, byte [ebp - 0xc8]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
movzx edx, byte [ebp - 0xcb]
movzx edx, byte [ebp + edx - 0x4c0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x4c0]
movzx edx, byte [ebp + eax - 0x4c0]
xor ecx, edx
mov byte [ebp - 0xc7], cl
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0xc8], al
mov cl, byte [ebp - 0xc7]
mov byte [ebp - 0xd0], cl
cmp dword [ebp - 0xd8], 0
jle 0x523ea3
movsx dx, byte [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov word [ebp + eax*2 - 0x5a], dx
mov ecx, 2
imul edx, ecx, 0x23
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0x48
jae 0x523ebc
jmp 0x523ec2
call fcn.00525285
nop
xor eax, eax
mov ecx, dword [ebp - 0x504]
mov word [ebp + ecx - 0x58], ax
jmp 0x523f23
mov dword [ebp - 0x2a8], 0
jmp 0x523eec
mov edx, dword [ebp - 0x2a8]
add edx, 1
mov dword [ebp - 0x2a8], edx
cmp dword [ebp - 0x2a8], 0x24
jge 0x523f23
mov eax, dword [ebp - 0x2a8]
shl eax, 1
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 0x48
jae 0x523f0e
jmp 0x523f14
call fcn.00525285
nop
xor ecx, ecx
mov edx, dword [ebp - 0x4c4]
mov word [ebp + edx - 0x58], cx
jmp 0x523edd
lea eax, [ebp - 0xb4]
push eax
push 2
push 0
lea ecx, [ebp - 0x9c]
push ecx
push 0x100
lea edx, [ebp - 0x90]
push edx
push SysReAllocStringLen
mov ecx, dword [ebp - 0x4c8]
call fcn.00524080
lea eax, [ebp - 0xb4]
push eax
push 1
push 0
lea ecx, [ebp - 0x9c]
push ecx
push 0x100
lea edx, [ebp - 0x58]
push edx
push SysReAllocStringLen
mov ecx, dword [ebp - 0x4c8]
call fcn.00524080
mov byte [ebp - 0x1e6], 0
mov dword [ebp - 0x280], 0
jmp 0x523f9e
mov eax, dword [ebp - 0x280]
add eax, 1
mov dword [ebp - 0x280], eax
lea ecx, [ebp - 0x9c]
call fcn.00509af0
cmp dword [ebp - 0x280], eax
jae 0x523fff
mov ecx, dword [ebp - 0x280]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.004ee770
mov edx, dword [eax]
cmp dword [edx + 0x44], 0
je 0x523fd2
mov byte [ebp - 0x1e6], 1
mov eax, dword [ebp - 0x280]
push eax
lea ecx, [ebp - 0x9c]
call fcn.004ee770
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
push 0x48
mov edx, dword [ebp - 0x51c]
push edx
call fcn.00525115
add esp, 8
jmp 0x523f8f
lea ecx, [ebp - 0x9c]
call fcn.005248c0
nop
mov al, byte [ebp - 0x1e6]
mov byte [ebp - 0x259], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb4]
call fcn.00422250
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.00426180
mov al, byte [ebp - 0x259]
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.00524f16
mov esp, ebp
pop ebp
ret