Function at 0x516320
Capabilities:
Create thread

Disassembly:
push 0x40c7dd6d
add al, 0xac
pop edx
push es
xor eax, 0x890840c7
pop ebx
mov ecx, 0xc40c7c0
mov eax, dword [0xc78ae727]
inc eax
adc byte [ebx + 0x32], cl
and al, 0x49
jmp 0x494d00
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494d40
mov dword [eax], 0x64179c34
mov dword [eax + 4], 0x2c6d4b2a
mov dword [eax + 8], 0x1ec91883
mov dword [eax + 0xc], 0x5b3c7cb9
mov dword [eax + 0x10], 0xfdab3a2e
jmp 0x494d42
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494d82
mov dword [eax], 0xb0a21547
mov dword [eax + 4], 0xbaa6d37
mov dword [eax + 8], 0xd92b3361
mov dword [eax + 0xc], 0xfac0a0e6
mov dword [eax + 0x10], 0xd6517cdf
jmp 0x494d84
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494dc4
mov dword [eax], 0x7adaf0f0
mov dword [eax + 4], 0x8c32963f
mov dword [eax + 8], 0xb5302e90
mov dword [eax + 0xc], 0xcb6ee441
mov dword [eax + 0x10], 0x5c0cb116
jmp 0x494dc6
xor eax, eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494e06
mov dword [eax], 0x536b05ae
mov dword [eax + 4], 0xd7af76c5
mov dword [eax + 8], 0xd39294dd
mov dword [eax + 0xc], 0xcdaed2fc
mov dword [eax + 0x10], 0xf70007ac
jmp 0x494e08
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494e48
mov dword [eax], 0xca897352
mov dword [eax + 4], 0x5f366ab4
mov dword [eax + 8], 0xe433b3e3
mov dword [eax + 0xc], 0xa69560ac
mov dword [eax + 0x10], 0x6850a4a5
jmp 0x494e4a
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494e8a
mov dword [eax], 0x7a632ded
mov dword [eax + 4], 0xebe1ea5a
mov dword [eax + 8], 0x4e5ec248
mov dword [eax + 0xc], 0x14afc5d4
mov dword [eax + 0x10], 0x8f73940f
jmp 0x494e8c
xor eax, eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494ecc
mov dword [eax], 0x19773689
mov dword [eax + 4], 0x19d35a85
mov dword [eax + 8], 0xd3ad0c99
mov dword [eax + 0xc], 0xedb01f9e
mov dword [eax + 0x10], 0xccdacf
jmp 0x494ece
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494f0e
mov dword [eax], 0x84d1a54e
mov dword [eax + 4], 0x549072b1
mov dword [eax + 8], 0xc75e53f0
mov dword [eax + 0xc], 0xe9e17f18
mov dword [eax + 0x10], 0xdf9066d0
jmp 0x494f10
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494f50
mov dword [eax], 0xd2dc90e6
mov dword [eax + 4], 0x8629e283
mov dword [eax + 8], 0xc73decef
mov dword [eax + 0xc], 0x874053c9
mov dword [eax + 0x10], 0x5545ee2e
jmp 0x494f52
xor eax, eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494f92
mov dword [eax], 0xe1c9ad2d
mov dword [eax + 4], 0xf78205da
mov dword [eax + 8], 0xde6617b6
mov dword [eax + 0xc], 0x79680b15
mov dword [eax + 0x10], 0x34f138b
jmp 0x494f94
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x494fd4
mov dword [eax], 0x3cb28909
mov dword [eax + 4], 0x4b111074
mov dword [eax + 8], 0xae7a181a
mov dword [eax + 0xc], 0xdc6e45b7
mov dword [eax + 0x10], 0xe384cfbd
jmp 0x494fd6
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x495016
mov dword [eax], 0x69ad2f89
mov dword [eax + 4], 0xd71bb20c
mov dword [eax + 8], 0x85e36f48
mov dword [eax + 0xc], 0xdf578ff2
mov dword [eax + 0x10], 0xd35d176
jmp 0x495018
xor eax, eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x495058
mov dword [eax], 0x99a668de
mov dword [eax + 4], 0xac6a659b
mov dword [eax + 8], 0xec04963f
mov dword [eax + 0xc], 0x7295684a
mov dword [eax + 0x10], 0xe57a9064
jmp 0x49505a
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x49509a
mov dword [eax], 0x1121ffc9
mov dword [eax + 4], 0x56450bbf
mov dword [eax + 8], 0xfc20e648
mov dword [eax + 0xc], 0x83e9dcca
mov dword [eax + 0x10], 0xd45ebdc7
jmp 0x49509c
xor eax, eax
lea edx, [ebp + 0xc]
push edx
mov ecx, esi
mov dword [ebp + 0xc], eax
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x4950dc
mov dword [eax], 0xe35d9dc5
mov dword [eax + 4], 0x3bc91421
mov dword [eax + 8], 0xc5aba1d2
mov dword [eax + 0xc], 0xe0704b61
mov dword [eax + 0x10], 0x7db416df
jmp 0x4950de
xor eax, eax
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.0094a730
lea ecx, [ebp + 0x10]
push ecx
mov ecx, ebx
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x495118
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax], 0x200000
mov esi, eax
jmp 0x49511a
xor esi, esi
push 0x14
mov dword [ebp + 0x10], esi
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x49514f
mov dword [eax], 0x99551877
mov dword [eax + 4], 0xb5f1cb1a
mov dword [eax + 8], 0x212f3015
mov dword [eax + 0xc], 0xb1cd2ada
mov dword [eax + 0x10], 0x7e6d6f0a
jmp 0x495151
xor eax, eax
lea edx, [ebp + 0xc]
push edx
lea ecx, [esi + 4]
mov dword [ebp + 0xc], eax
call fcn.0094a730
lea eax, [ebp + 0x10]
push eax
mov ecx, ebx
call fcn.0094a730
push 0x14
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x49518c
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax], 0x400000
mov esi, eax
jmp 0x49518e
xor esi, esi
push 0x14
mov dword [ebp + 0x10], esi
call fcn.0094ee5f
add esp, 4
cmp eax, edi
je 0x4951c3
mov dword [eax], 0x313742d6
mov dword [eax + 4], 0xc3d3a557
mov dword [eax + 8], 0x65a8cfb8
mov dword [eax + 0xc], 0xb7ec025e
mov dword [eax + 0x10], 0x1e635687
jmp 0x4951c5
xor eax, eax
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [esi + 4]
mov dword [ebp + 0xc], eax
call fcn.0094a730
lea edx, [ebp + 0x10]
push edx
mov ecx, ebx
call fcn.0094a730
pop edi
pop esi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9b6c99
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x10f8
call fcn.009502c0
push esi
push edi
mov byte [ebp - 0x245], 0
xor eax, eax
mov word [ebp - 0x214], ax
push 0x206
push 0
lea ecx, [ebp - 0x212]
push ecx
call fcn.0094ea60
add esp, 0xc
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x230], 0
fldz
fstp qword [ebp - 0x244]
fldz
fstp qword [ebp - 0x23c]
fldz
fstp qword [ebp - 0x23c]
jmp 0x5163aa
fld qword [ebp - 0x23c]
fadd qword [0x9b9c30]
fstp qword [ebp - 0x23c]
fld qword [0x9babb0]
fcomp qword [ebp - 0x23c]
fnstsw ax
test ah, 0x41
jne 0x516433
fld qword [0x9baba8]
fmul qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fld qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fsubp st(1)
fld qword [0x9baba0]
fmul qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fadd qword [0x9bab98]
fdivp st(1)
fadd qword [ebp - 0x244]
fstp qword [ebp - 0x244]
fld qword [0x9bab90]
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 5
jp 0x51642e
fld qword [0x9bab88]
fmul qword [ebp - 0x23c]
fsubr qword [ebp - 0x244]
fstp qword [ebp - 0x244]
jmp 0x516398
fldz
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 0x41
jne 0x516481
xchg ecx, eax
push 0x5d975f9e
xchg edx, eax
pushal
lcall 0x955c, 0x9b5a935c
pop esp
xchg ebp, eax
pop edx
pushfd
pop esp
cwde
pushal
sahf
pop esp
lahf
push 0x62916799
nop
push 0x699f6497
xchg ecx, eax
imul ebp, dword [eax + 0x52], 0x7b747270
pop esp
jp 0x5164d0
and al, byte [edx + 0x28]
ja 0x516498
inc ebx
jge 0x5164a8
insb byte es:[edi], dx
pop edx
inc esi
jmp 0x517e11
mov dword [ebp - 0x22c], 0x516442
mov dword [ebp - 0x230], 0x516468
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x24c], eax
mov byte [ebp - 0x371], 0x18
mov dword [ebp - 0x368], 0
jmp 0x5164cf
std
invalid
test dword [ebp + edi*8 - 0x7a390001], esi
invalid
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x368], 0x100
mov ebp, 0xfffffc98
add byte [ecx], al
add byte [eax], al
jae 0x5164f0
mov edx, dword [ebp - 0x368]
mov al, byte [ebp - 0x368]
mov byte [ebp + edx - 0x35c], al
jmp 0x5164c0
mov dword [ebp - 0x254], 0
mov byte [ebp - 0x372], 0
mov dword [ebp - 0x368], 0xff
jmp 0x51651c
mov ecx, dword [ebp - 0x368]
sub ecx, 1
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x368], 0
jbe 0x516830
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x388], 1
mov edx, dword [ebp - 0x388]
cmp edx, dword [ebp - 0x368]
jae 0x51655d
mov eax, dword [ebp - 0x388]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x388], ecx
jmp 0x51653d
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0xf84], edx
cmp dword [ebp - 0xf84], 3
ja case.default.0x51657c
mov eax, dword [ebp - 0xf84]
jmp dword [eax*4 + 0x51fa74]
movzx ecx, byte [ebp - 0x372]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xf86]
movzx eax, word [ebp - 0xf86]
or eax, 0xc00
mov dword [ebp - 0xf8c], eax
fldcw word [ebp - 0xf8c]
fistp qword [ebp - 0xf94]
fldcw word [ebp - 0xf86]
mov eax, dword [ebp - 0xf94]
and eax, 0xff
add edx, eax
mov byte [ebp - 0x372], dl
jmp 0x516709
movzx ecx, byte [ebp - 0x372]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xf96]
movzx eax, word [ebp - 0xf96]
or eax, 0xc00
mov dword [ebp - 0xf9c], eax
fldcw word [ebp - 0xf9c]
fistp qword [ebp - 0xfa4]
fldcw word [ebp - 0xf96]
mov eax, dword [ebp - 0xfa4]
shr eax, 8
and eax, 0xff
add edx, eax
mov byte [ebp - 0x372], dl
jmp 0x516709
movzx ecx, byte [ebp - 0x372]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xfa6]
movzx eax, word [ebp - 0xfa6]
or eax, 0xc00
mov dword [ebp - 0xfac], eax
fldcw word [ebp - 0xfac]
fistp qword [ebp - 0xfb4]
fldcw word [ebp - 0xfa6]
mov eax, dword [ebp - 0xfb4]
shr eax, 0x10
and eax, 0xff
add edx, eax
mov byte [ebp - 0x372], dl
jmp 0x516709
movzx ecx, byte [ebp - 0x372]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xfb6]
movzx eax, word [ebp - 0xfb6]
or eax, 0xc00
mov dword [ebp - 0xfbc], eax
fldcw word [ebp - 0xfbc]
fistp qword [ebp - 0xfc4]
fldcw word [ebp - 0xfb6]
mov eax, dword [ebp - 0xfc4]
shr eax, 0x18
and eax, 0xff
add edx, eax
mov byte [ebp - 0x372], dl
jmp 0x516709
movzx ecx, byte [ebp - 0x372]
movzx edx, byte [ebp + ecx - 0x35c]
mov eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x254]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x372], dl
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
movzx eax, byte [ebp - 0x371]
cmp dword [ebp - 0x254], eax
jb 0x516747
mov dword [ebp - 0x254], 0
movzx ecx, byte [ebp - 0x371]
movzx edx, byte [ebp - 0x372]
add edx, ecx
mov byte [ebp - 0x372], dl
movzx eax, byte [ebp - 0x372]
and eax, dword [ebp - 0x388]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x380]
add ecx, 1
mov dword [ebp - 0x380], ecx
cmp dword [ebp - 0x380], 0xb
jbe 0x516786
mov eax, dword [ebp - 0x384]
xor edx, edx
div dword [ebp - 0x368]
mov dword [ebp - 0x384], edx
mov edx, dword [ebp - 0x384]
cmp edx, dword [ebp - 0x368]
ja 0x51655d
mov eax, dword [ebp - 0x368]
cmp eax, dword [ebp - 0x384]
je 0x51682b
mov ecx, dword [ebp - 0x384]
movzx edx, byte [ebp + ecx - 0x35c]
mov eax, dword [ebp - 0x368]
movzx ecx, byte [ebp + eax - 0x35c]
xor ecx, edx
mov edx, dword [ebp - 0x368]
mov byte [ebp + edx - 0x35c], cl
mov eax, dword [ebp - 0x368]
movzx ecx, byte [ebp + eax - 0x35c]
mov edx, dword [ebp - 0x384]
movzx eax, byte [ebp + edx - 0x35c]
xor eax, ecx
mov ecx, dword [ebp - 0x384]
mov byte [ebp + ecx - 0x35c], al
mov edx, dword [ebp - 0x384]
movzx eax, byte [ebp + edx - 0x35c]
mov ecx, dword [ebp - 0x368]
movzx edx, byte [ebp + ecx - 0x35c]
xor edx, eax
mov eax, dword [ebp - 0x368]
mov byte [ebp + eax - 0x35c], dl
jmp 0x51650d
mov cl, byte [ebp - 0x35b]
mov byte [ebp - 0x379], cl
mov dl, byte [ebp - 0x359]
mov byte [ebp - 0x259], dl
fld dword [0x9bab80]
fstp dword [ebp - 0x360]
fld dword [0x9bab7c]
fstp dword [ebp - 0x258]
fld dword [0x9bab78]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x360]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x360]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x360]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x378]
fld dword [ebp - 0x360]
fcompp
fnstsw ax
test ah, 5
jp 0x5169ac
fld dword [ebp - 0x378]
fsub dword [ebp - 0x360]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x360]
fmul dword [ebp - 0x258]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x360]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fdiv dword [ebp - 0x258]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fdiv dword [ebp - 0x258]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fdiv dword [ebp - 0x258]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fld dword [ebp - 0x258]
fcompp
fnstsw ax
test ah, 0x41
jne 0x516974
fld dword [ebp - 0x378]
fsub dword [ebp - 0x258]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fadd dword [ebp - 0x258]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x258]
fsub dword [ebp - 0x360]
fstp dword [ebp - 0x258]
jmp 0x5169aa
fld dword [ebp - 0x258]
fadd dword [ebp - 0x360]
fstp dword [ebp - 0x258]
fld dword [ebp - 0x258]
fadd dword [ebp - 0x360]
fstp dword [ebp - 0x258]
fld dword [ebp - 0x258]
fsub dword [ebp - 0x360]
fstp dword [ebp - 0x258]
jmp 0x5169ee
fld dword [ebp - 0x360]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x258]
fsub dword [ebp - 0x360]
fstp dword [ebp - 0x258]
fld dword [ebp - 0x258]
fmul dword [ebp - 0x360]
fstp dword [ebp - 0x258]
mov al, byte [ebp - 0x357]
mov byte [ebp - 0x361], al
mov cl, byte [ebp - 0x355]
mov byte [ebp - 0x369], cl
movzx edx, byte [ebp - 0x372]
mov al, byte [ebp + edx - 0x35c]
mov byte [ebp - 0x246], al
mov dword [ebp - 0x370], 0x26
cmp dword [ebp - 0x370], 2
jle 0x517ddd
mov ecx, dword [ebp - 0x370]
and ecx, 1
jne 0x517ddd
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0
mov edx, dword [ebp - 0x3c4]
add edx, 1
mov dword [ebp - 0x3c4], edx
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x3c8]
shl eax, 1
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x3d8]
mov dword [ebp - 0x3d8], edx
mov dword [ebp - 0x3a0], 0
mov eax, dword [ebp - 0x3a0]
add eax, 0x90
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x3b4], 0
mov ecx, dword [ebp - 0x3c8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3b4], edx
mov dword [ebp - 0x3e8], 0
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x3e8]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3d4], 0
mov edx, dword [ebp - 0x3d4]
add edx, 0x5a
mov dword [ebp - 0x3d4], edx
mov dword [ebp - 0x3e4], 0
mov eax, dword [ebp - 0x3d8]
sub eax, dword [ebp - 0x3a0]
add eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x3d4]
add ecx, dword [ebp - 0x390]
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x3e0], 0
mov edx, dword [ebp - 0x3e4]
shl edx, 4
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x3d0], 0
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3c0], 0
mov ecx, dword [ebp - 0x3e0]
or ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c0], ecx
mov byte [ebp - 0x3ad], 0
mov dl, byte [ebp - 0x3c0]
mov byte [ebp - 0x3ad], dl
mov byte [ebp - 0x3d9], 0
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3d9], cl
movzx edx, byte [ebp - 0x379]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x259]
add ecx, eax
mov byte [ebp - 0x259], cl
mov dl, byte [ebp - 0x379]
add dl, 1
mov byte [ebp - 0x379], dl
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [ebp - 0x246]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x369]
movzx ecx, byte [ebp - 0x259]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x379]
movzx ecx, byte [ebp - 0x369]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x379]
mov cl, byte [ebp - 0x3d9]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x3d9]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x361]
add ecx, eax
mov byte [ebp - 0x361], cl
movzx edx, byte [ebp - 0x3ad]
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x379]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor edx, ecx
movzx eax, byte [ebp - 0x369]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
movzx eax, byte [ebp - 0x361]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp + ecx - 0x35c]
xor edx, eax
mov byte [ebp - 0x369], dl
mov cl, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], cl
mov dl, byte [ebp - 0x369]
mov byte [ebp - 0x3c9], dl
cmp dword [ebp - 0x3c8], 0
jle 0x516d31
mov eax, dword [ebp - 0x3c8]
mov cl, byte [ebp - 0x3c9]
mov byte [ebp + eax - 0x229], cl
mov edx, dword [ebp - 0x3c8]
add edx, 1
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x3c4]
add eax, 1
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c8]
shl ecx, 1
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x250]
add edx, dword [ebp - 0x38c]
movzx eax, byte [edx]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3a0], 0x90
mov ecx, dword [ebp - 0x3c8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx ecx, byte [eax]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3d4], 0x5a
mov edx, dword [ebp - 0x3d8]
sub edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e8]
sub eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x3e4]
shl ecx, 4
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x390]
mov dword [ebp - 0x3d0], edx
mov eax, dword [ebp - 0x3e0]
or eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c0], eax
mov cl, byte [ebp - 0x3c0]
mov byte [ebp - 0x3ad], cl
movzx edx, byte [ebp - 0x246]
mov al, byte [ebp + edx - 0x35c]
mov byte [ebp - 0x3d9], al
movzx ecx, byte [ebp - 0x379]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x259]
add eax, edx
mov byte [ebp - 0x259], al
mov cl, byte [ebp - 0x379]
add cl, 1
mov byte [ebp - 0x379], cl
movzx edx, byte [ebp - 0x259]
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x369]
movzx eax, byte [ebp - 0x259]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x379]
movzx eax, byte [ebp - 0x369]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x379]
mov al, byte [ebp - 0x3d9]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x3d9]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x361]
add eax, edx
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x3ad]
movzx edx, byte [ebp - 0x259]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x379]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
xor ecx, eax
movzx edx, byte [ebp - 0x369]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
movzx edx, byte [ebp - 0x361]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
movzx edx, byte [ebp + eax - 0x35c]
xor ecx, edx
mov byte [ebp - 0x369], cl
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov cl, byte [ebp - 0x369]
mov byte [ebp - 0x3c9], cl
cmp dword [ebp - 0x3c8], 0
jle 0x516f87
mov edx, dword [ebp - 0x3c8]
mov al, byte [ebp - 0x3c9]
mov byte [ebp + edx - 0x229], al
mov ecx, dword [ebp - 0x3c8]
add ecx, 1
mov dword [ebp - 0x3c8], ecx
mov edx, dword [ebp - 0x3c4]
add edx, 1
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x3c8]
shl eax, 1
mov dword [ebp - 0x38c], eax
fld qword [0x9bab70]
fstp qword [ebp - 0x3bc]
fld qword [0x9bab68]
fstp qword [ebp - 0x3ac]
fld qword [0x9bab60]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x39c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3bc]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x39c]
fcomp qword [ebp - 0x3ac]
fnstsw ax
test ah, 0x41
jne 0x517113
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x3ac]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x3bc]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3bc]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3bc]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3ac]
fcomp qword [ebp - 0x39c]
fnstsw ax
test ah, 5
jp 0x5170db
fld qword [ebp - 0x39c]
fdiv qword [ebp - 0x3ac]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x3ac]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fdiv qword [ebp - 0x3ac]
fstp qword [ebp - 0x39c]
jmp 0x517111
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x39c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3ac]
fdiv qword [ebp - 0x39c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3bc]
fdiv qword [ebp - 0x3ac]
fstp qword [ebp - 0x3bc]
jmp 0x51715e
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x3bc]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x3bc]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3bc]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3bc]
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x38c]
movzx edx, byte [ecx]
mov dword [ebp - 0x3d8], edx
mov dword [ebp - 0x3a0], 0x90
mov eax, dword [ebp - 0x3c8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x250]
add edx, dword [ebp - 0x3b4]
movzx eax, byte [edx]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3d4], 0x5a
mov ecx, dword [ebp - 0x3d8]
sub ecx, dword [ebp - 0x3a0]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e8]
sub edx, dword [ebp - 0x3d4]
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x3e4]
shl eax, 4
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x390]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [ebp - 0x3e0]
or edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c0], edx
mov al, byte [ebp - 0x3c0]
mov byte [ebp - 0x3ad], al
movzx ecx, byte [ebp - 0x246]
mov dl, byte [ebp + ecx - 0x35c]
mov byte [ebp - 0x3d9], dl
movzx eax, byte [ebp - 0x379]
movzx ecx, byte [ebp + eax - 0x35c]
movzx edx, byte [ebp - 0x259]
add edx, ecx
mov byte [ebp - 0x259], dl
mov al, byte [ebp - 0x379]
add al, 1
mov byte [ebp - 0x379], al
movzx ecx, byte [ebp - 0x259]
movzx edx, byte [ebp - 0x246]
mov al, byte [ebp + ecx - 0x35c]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x369]
movzx edx, byte [ebp - 0x259]
mov al, byte [ebp + ecx - 0x35c]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x379]
movzx edx, byte [ebp - 0x369]
mov al, byte [ebp + ecx - 0x35c]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x379]
mov dl, byte [ebp - 0x3d9]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x3d9]
movzx ecx, byte [ebp + eax - 0x35c]
movzx edx, byte [ebp - 0x361]
add edx, ecx
mov byte [ebp - 0x361], dl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x259]
movzx edx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp - 0x379]
movzx ecx, byte [ebp + ecx - 0x35c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x35c]
xor eax, edx
movzx ecx, byte [ebp - 0x369]
movzx edx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp - 0x246]
movzx ecx, byte [ebp + ecx - 0x35c]
add edx, ecx
movzx ecx, byte [ebp - 0x361]
movzx ecx, byte [ebp + ecx - 0x35c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp + edx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x369], al
mov dl, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], dl
mov al, byte [ebp - 0x369]
mov byte [ebp - 0x3c9], al
cmp dword [ebp - 0x3c8], 0
jle 0x517374
mov ecx, dword [ebp - 0x3c8]
mov dl, byte [ebp - 0x3c9]
mov byte [ebp + ecx - 0x229], dl
mov eax, dword [ebp - 0x3c4]
add eax, 8
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c8]
add ecx, 1
mov dword [ebp - 0x3ec], ecx
jmp 0x5173a3
mov edx, dword [ebp - 0x3ec]
add edx, 1
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [ebp - 0x3c4]
jge 0x517603
mov ecx, dword [ebp - 0x3c8]
add ecx, 1
mov dword [ebp - 0x3c8], ecx
mov edx, dword [ebp - 0x3c8]
shl edx, 1
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3a0], 0x90
mov edx, dword [ebp - 0x3c8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x3b4]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3d4], 0x5a
mov eax, dword [ebp - 0x3d8]
sub eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x3e4]
shl edx, 4
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3e0]
or ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c0], ecx
mov dl, byte [ebp - 0x3c0]
mov byte [ebp - 0x3ad], dl
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3d9], cl
movzx edx, byte [ebp - 0x379]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x259]
add ecx, eax
mov byte [ebp - 0x259], cl
mov dl, byte [ebp - 0x379]
add dl, 1
mov byte [ebp - 0x379], dl
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [ebp - 0x246]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x369]
movzx ecx, byte [ebp - 0x259]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x379]
movzx ecx, byte [ebp - 0x369]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x379]
mov cl, byte [ebp - 0x3d9]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x3d9]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x361]
add ecx, eax
mov byte [ebp - 0x361], cl
movzx edx, byte [ebp - 0x3ad]
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x379]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor edx, ecx
movzx eax, byte [ebp - 0x369]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
movzx eax, byte [ebp - 0x361]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp + ecx - 0x35c]
xor edx, eax
mov byte [ebp - 0x369], dl
mov cl, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], cl
mov dl, byte [ebp - 0x369]
mov byte [ebp - 0x3c9], dl
cmp dword [ebp - 0x3c8], 0
jle 0x5175fe
mov eax, dword [ebp - 0x3c8]
mov cl, byte [ebp - 0x3c9]
mov byte [ebp + eax - 0x229], cl
jmp 0x517394
mov edx, dword [ebp - 0x3c4]
add edx, 1
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x3c4]
add eax, 8
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c8]
add ecx, 1
mov dword [ebp - 0x3f0], ecx
jmp 0x517641
mov edx, dword [ebp - 0x3f0]
add edx, 1
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x3c4]
jge 0x517dc5
mov ecx, dword [ebp - 0x3c8]
add ecx, 1
mov dword [ebp - 0x3c8], ecx
mov edx, dword [ebp - 0x3c8]
shl edx, 1
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x38c]
movzx ecx, byte [eax]
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3a0], 0x90
mov edx, dword [ebp - 0x3c8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x3b4]
movzx edx, byte [ecx]
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3d4], 0x5a
mov eax, dword [ebp - 0x3d8]
sub eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3e4], eax
fld dword [0x9bab5c]
fstp dword [ebp - 0x438]
fld dword [0x9bab58]
fstp dword [ebp - 0x424]
fld dword [0x9bab54]
fstp dword [ebp - 0x40c]
fld dword [0x9bab50]
fstp dword [ebp - 0x420]
fld dword [0x9bab4c]
fstp dword [ebp - 0x408]
fld dword [0x9bab48]
fstp dword [ebp - 0x448]
fld dword [ebp - 0x438]
fsub dword [ebp - 0x448]
fstp dword [ebp - 0x438]
fld dword [ebp - 0x424]
fmul dword [ebp - 0x448]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x438]
fadd dword [ebp - 0x448]
fstp dword [ebp - 0x438]
fld dword [ebp - 0x424]
fsub dword [ebp - 0x448]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x408]
fmul dword [ebp - 0x448]
fstp dword [ebp - 0x408]
fld dword [ebp - 0x408]
fsub dword [ebp - 0x448]
fstp dword [ebp - 0x408]
fld dword [ebp - 0x448]
fld dword [ebp - 0x424]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51781d
fld dword [ebp - 0x420]
fadd dword [ebp - 0x408]
fstp dword [ebp - 0x420]
fld dword [ebp - 0x424]
fsub dword [ebp - 0x40c]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x40c]
fsub dword [ebp - 0x420]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x420]
fmul dword [ebp - 0x408]
fstp dword [ebp - 0x420]
fld dword [ebp - 0x408]
fsub dword [ebp - 0x448]
fstp dword [ebp - 0x408]
fld dword [ebp - 0x424]
fadd dword [ebp - 0x40c]
fstp dword [ebp - 0x424]
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x390], ecx
jmp 0x517889
fld dword [ebp - 0x40c]
fadd dword [ebp - 0x420]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x420]
fmul dword [ebp - 0x408]
fstp dword [ebp - 0x420]
fld dword [ebp - 0x424]
fmul dword [ebp - 0x40c]
fstp dword [ebp - 0x424]
fld dword [ebp - 0x420]
fsub dword [ebp - 0x408]
fstp dword [ebp - 0x420]
fld dword [ebp - 0x40c]
fmul dword [ebp - 0x420]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x438]
fdiv dword [ebp - 0x424]
fstp dword [ebp - 0x438]
mov edx, dword [ebp - 0x3e4]
shl edx, 4
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x3e0]
or ecx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c0], ecx
mov dl, byte [ebp - 0x3c0]
mov byte [ebp - 0x3ad], dl
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3d9], cl
movzx edx, byte [ebp - 0x379]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x259]
add ecx, eax
mov byte [ebp - 0x259], cl
mov dl, byte [ebp - 0x379]
add dl, 1
mov byte [ebp - 0x379], dl
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [ebp - 0x246]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
fld qword [0x9bab40]
fstp qword [ebp - 0x434]
fld qword [0x9bab38]
fstp qword [ebp - 0x41c]
fld qword [0x9bab30]
fstp qword [ebp - 0x404]
fld qword [0x9bab28]
fstp qword [ebp - 0x444]
fld qword [0x9bab20]
fstp qword [ebp - 0x42c]
fld qword [0x9bab18]
fstp qword [ebp - 0x414]
fld qword [0x9bab10]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x434]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x404]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x434]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x41c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x41c]
fld qword [ebp - 0x3fc]
fcomp qword [ebp - 0x414]
fnstsw ax
test ah, 0x41
jne 0x517c1e
fld qword [ebp - 0x404]
fdiv qword [ebp - 0x444]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x41c]
fsub qword [ebp - 0x404]
fstp qword [ebp - 0x41c]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x404]
fmul qword [ebp - 0x444]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x3fc]
fdiv qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x41c]
fdiv qword [ebp - 0x404]
fstp qword [ebp - 0x41c]
fld qword [ebp - 0x42c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x42c]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x42c]
fdiv qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x42c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x42c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x434]
fdiv qword [ebp - 0x404]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x444]
fdiv qword [ebp - 0x414]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x414]
fcomp qword [ebp - 0x444]
fnstsw ax
test ah, 0x41
jne 0x517b9b
fld qword [ebp - 0x404]
fmul qword [ebp - 0x42c]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x42c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x3fc]
fdiv qword [ebp - 0x41c]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x41c]
fmul qword [ebp - 0x444]
fstp qword [ebp - 0x41c]
fld qword [ebp - 0x414]
fsub qword [ebp - 0x434]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x42c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x414]
fadd qword [ebp - 0x434]
fstp qword [ebp - 0x414]
jmp 0x517c19
fld qword [ebp - 0x414]
fsub qword [ebp - 0x434]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x42c]
fmul qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x434]
fsub qword [ebp - 0x404]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x414]
fsub qword [ebp - 0x434]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x404]
fdiv qword [ebp - 0x42c]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x41c]
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x41c]
fld qword [ebp - 0x42c]
fadd qword [ebp - 0x3fc]
fstp qword [ebp - 0x42c]
jmp 0x517cb8
fld qword [ebp - 0x444]
fadd qword [ebp - 0x42c]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x42c]
fadd qword [ebp - 0x414]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x3fc]
fmul qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x3fc]
fadd qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x41c]
fmul qword [ebp - 0x404]
fstp qword [ebp - 0x41c]
fld qword [ebp - 0x434]
fsub qword [ebp - 0x41c]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x42c]
fadd qword [ebp - 0x414]
fstp qword [ebp - 0x42c]
movzx eax, byte [ebp - 0x369]
movzx ecx, byte [ebp - 0x259]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x379]
movzx ecx, byte [ebp - 0x369]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x379]
mov cl, byte [ebp - 0x3d9]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x3d9]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x361]
add ecx, eax
mov byte [ebp - 0x361], cl
movzx edx, byte [ebp - 0x3ad]
movzx eax, byte [ebp - 0x259]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x379]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor edx, ecx
movzx eax, byte [ebp - 0x369]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
movzx eax, byte [ebp - 0x361]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp + ecx - 0x35c]
xor edx, eax
mov byte [ebp - 0x369], dl
mov cl, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], cl
mov dl, byte [ebp - 0x369]
mov byte [ebp - 0x3c9], dl
cmp dword [ebp - 0x3c8], 0
jle 0x517dc0
mov eax, dword [ebp - 0x3c8]
mov cl, byte [ebp - 0x3c9]
mov byte [ebp + eax - 0x229], cl
jmp 0x517632
mov edx, dword [ebp - 0x3c4]
add edx, 1
mov dword [ebp - 0x3c4], edx
mov byte [ebp - 0x216], 0
jmp 0x517e11
mov dword [ebp - 0x44c], 0
jmp 0x517df8
mov eax, dword [ebp - 0x44c]
add eax, 1
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x44c], 0x13
jge 0x517e11
mov ecx, dword [ebp - 0x44c]
mov byte [ebp + ecx - 0x228], 0
jmp 0x517de9
lea edx, [ebp - 0x228]
push edx
mov ecx, dword [0x9f1a1c]
call fcn.0044dbb0
mov dword [ebp - 0x234], eax
push 0x104
lea eax, [ebp - 0x214]
push eax
push 0
call dword [ebp - 0x234]
test eax, eax
je 0x51fa5d
xor ecx, ecx
mov word [ebp - 0x6c4], cx
push 0x206
push 0
lea edx, [ebp - 0x6c2]
push edx
call fcn.0094ea60
add esp, 0xc
lea eax, [ebp - 0x214]
mov dword [ebp - 0xfc8], eax
lea ecx, [ebp - 0x6c4]
mov dword [ebp - 0xfcc], ecx
mov edx, dword [ebp - 0xfcc]
mov dword [ebp - 0xfd0], edx
mov eax, dword [ebp - 0xfc8]
mov cx, word [eax]
mov word [ebp - 0xfd2], cx
mov edx, dword [ebp - 0xfcc]
mov ax, word [ebp - 0xfd2]
mov word [edx], ax
mov ecx, dword [ebp - 0xfc8]
add ecx, 2
mov dword [ebp - 0xfc8], ecx
mov edx, dword [ebp - 0xfcc]
add edx, 2
mov dword [ebp - 0xfcc], edx
cmp word [ebp - 0xfd2], 0
jne 0x517e88
push 0x2e
lea eax, [ebp - 0x6c4]
push eax
call fcn.00504700
add esp, 8
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
movzx edx, word [ecx + 4]
cmp edx, 0x78
jne 0x517f09
mov eax, dword [ebp - 0x460]
movzx ecx, word [eax + 6]
cmp ecx, 0x65
je 0x51963c
mov dword [ebp - 0x6f4], 0
mov dword [ebp - 0x6f8], 0
fldz
fstp qword [ebp - 0x714]
fldz
fstp qword [ebp - 0x70c]
fldz
fstp qword [ebp - 0x70c]
jmp 0x517f49
fld qword [ebp - 0x70c]
fadd qword [0x9ba948]
fstp qword [ebp - 0x70c]
fld qword [0x9be9c0]
fcomp qword [ebp - 0x70c]
fnstsw ax
test ah, 0x41
jne 0x517fd2
fld qword [0x9be9b8]
fmul qword [ebp - 0x70c]
fmul qword [ebp - 0x70c]
fld qword [ebp - 0x70c]
fmul qword [ebp - 0x70c]
fsubp st(1)
fld qword [0x9bb928]
invalid
hlt
add eax, 0x9bb928
fmul qword [ebp - 0x70c]
fmul qword [ebp - 0x70c]
fadd qword [0x9be9b0]
fdivp st(1)
fadd qword [ebp - 0x714]
fstp qword [ebp - 0x714]
fld qword [0x9be9a8]
fcomp qword [ebp - 0x714]
fnstsw ax
test ah, 5
jp 0x517fcd
invalid
fld qword [0x9be9a0]
fmul qword [ebp - 0x70c]
fsubr qword [ebp - 0x714]
fstp qword [ebp - 0x714]
jmp 0x517f37
fldz
fcomp qword [ebp - 0x714]
fnstsw ax
test ah, 0x41
jne 0x51800c
jne 0x517f75
jb 0x517f7d
jl 0x517f82
jae 0x517f76
jle 0x517f87
pop ecx
jge 0x51803a
popal
pushal
jo 0x518044
and al, 0x52
dec esp
push 0x61
sub eax, 0x6c6f7c5b
insd dword es:[edi], dx
dec edi
xor al, 0x3d
inc esi
push edi
imul ebp, dword [ebx], 0x69
imul esi, dword [ebx - 0x17], 0x1558
mov dword [ebp - 0x6f4], 0x517fe1
mov dword [ebp - 0x6f8], 0x517feb
mov edx, dword [ebp - 0x6f4]
mov dword [ebp - 0x720], edx
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 0x83d], 0x20
mov dword [ebp - 0x834], 0
jmp 0x51805a
ret
inc dword [eax]
add byte [eax], al
add bl, ch
jnp 0x494cdd
mov ecx, dword [ebp - 0x834]
add ecx, 1
mov dword [ebp - 0x834], ecx
inc dword [ebx - 0x7276fe3f]
int3
cmp dword [ebp - 0x834], 0x100
jae 0x51807b
mov edx, dword [ebp - 0x834]
mov al, byte [ebp - 0x834]
mov byte [ebp + edx - 0x82c], al
jmp 0x51804b
mov dword [ebp - 0x724], 0
mov byte [ebp - 0x83e], 0
mov dword [ebp - 0x834], 0xff
jmp 0x5180a7
mov ecx, dword [ebp - 0x834]
sub ecx, 1
mov dword [ebp - 0x834], ecx
cmp dword [ebp - 0x834], 0
jbe 0x5183bb
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x84c], 1
mov edx, dword [ebp - 0x84c]
cmp edx, dword [ebp - 0x834]
jae 0x5180e8
mov eax, dword [ebp - 0x84c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x84c], ecx
jmp 0x5180c8
mov edx, dword [ebp - 0x724]
mov dword [ebp - 0xfd8], edx
cmp dword [ebp - 0xfd8], 3
ja case.default.0x518107
mov eax, dword [ebp - 0xfd8]
jmp dword [eax*4 + 0x51fa84]
movzx ecx, byte [ebp - 0x83e]
movzx edx, byte [ebp + ecx - 0x82c]
fld qword [ebp - 0x714]
fnstcw word [ebp - 0xfda]
movzx eax, word [ebp - 0xfda]
or eax, 0xc00
mov dword [ebp - 0xfe0], eax
fldcw word [ebp - 0xfe0]
fistp qword [ebp - 0xfe8]
fldcw word [ebp - 0xfda]
mov eax, dword [ebp - 0xfe8]
and eax, 0xff
add edx, eax
mov byte [ebp - 0x83e], dl
jmp 0x518294
movzx ecx, byte [ebp - 0x83e]
movzx edx, byte [ebp + ecx - 0x82c]
fld qword [ebp - 0x714]
fnstcw word [ebp - 0xfea]
movzx eax, word [ebp - 0xfea]
or eax, 0xc00
mov dword [ebp - 0xff0], eax
fldcw word [ebp - 0xff0]
fistp qword [ebp - 0xff8]
fldcw word [ebp - 0xfea]
mov eax, dword [ebp - 0xff8]
shr eax, 8
and eax, 0xff
add edx, eax
mov byte [ebp - 0x83e], dl
jmp 0x518294
movzx ecx, byte [ebp - 0x83e]
movzx edx, byte [ebp + ecx - 0x82c]
fld qword [ebp - 0x714]
fnstcw word [ebp - 0xffa]
movzx eax, word [ebp - 0xffa]
or eax, 0xc00
mov dword [ebp - 0x1000], eax
fldcw word [ebp - 0x1000]
fistp qword [ebp - 0x1008]
fldcw word [ebp - 0xffa]
mov eax, dword [ebp - 0x1008]
shr eax, 0x10
and eax, 0xff
add edx, eax
mov byte [ebp - 0x83e], dl
jmp 0x518294
movzx ecx, byte [ebp - 0x83e]
movzx edx, byte [ebp + ecx - 0x82c]
fld qword [ebp - 0x714]
fnstcw word [ebp - 0x100a]
movzx eax, word [ebp - 0x100a]
or eax, 0xc00
mov dword [ebp - 0x1010], eax
fldcw word [ebp - 0x1010]
fistp qword [ebp - 0x1018]
fldcw word [ebp - 0x100a]
mov eax, dword [ebp - 0x1018]
shr eax, 0x18
and eax, 0xff
add edx, eax
mov byte [ebp - 0x83e], dl
jmp 0x518294
movzx ecx, byte [ebp - 0x83e]
movzx edx, byte [ebp + ecx - 0x82c]
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x724]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x83e], dl
mov edx, dword [ebp - 0x724]
add edx, 1
mov dword [ebp - 0x724], edx
movzx eax, byte [ebp - 0x83d]
cmp dword [ebp - 0x724], eax
jb 0x5182d2
mov dword [ebp - 0x724], 0
movzx ecx, byte [ebp - 0x83d]
movzx edx, byte [ebp - 0x83e]
add edx, ecx
mov byte [ebp - 0x83e], dl
movzx eax, byte [ebp - 0x83e]
and eax, dword [ebp - 0x84c]
mov dword [ebp - 0x848], eax
mov ecx, dword [ebp - 0x844]
add ecx, 1
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 0xb
jbe 0x518311
mov eax, dword [ebp - 0x848]
xor edx, edx
div dword [ebp - 0x834]
mov dword [ebp - 0x848], edx
mov edx, dword [ebp - 0x848]
cmp edx, dword [ebp - 0x834]
ja 0x5180e8
mov eax, dword [ebp - 0x834]
cmp eax, dword [ebp - 0x848]
je 0x5183b6
mov ecx, dword [ebp - 0x848]
movzx edx, byte [ebp + ecx - 0x82c]
mov eax, dword [ebp - 0x834]
movzx ecx, byte [ebp + eax - 0x82c]
xor ecx, edx
mov edx, dword [ebp - 0x834]
mov byte [ebp + edx - 0x82c], cl
mov eax, dword [ebp - 0x834]
movzx ecx, byte [ebp + eax - 0x82c]
mov edx, dword [ebp - 0x848]
movzx eax, byte [ebp + edx - 0x82c]
xor eax, ecx
mov ecx, dword [ebp - 0x848]
mov byte [ebp + ecx - 0x82c], al
mov edx, dword [ebp - 0x848]
movzx eax, byte [ebp + edx - 0x82c]
mov ecx, dword [ebp - 0x834]
movzx edx, byte [ebp + ecx - 0x82c]
xor edx, eax
mov eax, dword [ebp - 0x834]
mov byte [ebp + eax - 0x82c], dl
jmp 0x518098
mov cl, byte [ebp - 0x82b]
mov byte [ebp - 0x83f], cl
mov dl, byte [ebp - 0x829]
mov byte [ebp - 0x725], dl
mov al, byte [ebp - 0x827]
mov byte [ebp - 0x82d], al
mov cl, byte [ebp - 0x825]
mov byte [ebp - 0x835], cl
movzx edx, byte [ebp - 0x83e]
mov al, byte [ebp + edx - 0x82c]
mov byte [ebp - 0x715], al
mov dword [ebp - 0x83c], 0xa
cmp dword [ebp - 0x83c], 2
jle 0x51952e
mov ecx, dword [ebp - 0x83c]
and ecx, 1
jne 0x51952e
mov dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
mov edx, dword [ebp - 0x890]
add edx, 1
mov dword [ebp - 0x890], edx
mov dword [ebp - 0x850], 0
mov eax, dword [ebp - 0x894]
shl eax, 1
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x8b4], 0
mov ecx, dword [ebp - 0x720]
add ecx, dword [ebp - 0x850]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x8b4]
mov dword [ebp - 0x8b4], edx
mov dword [ebp - 0x868], 0
mov eax, dword [ebp - 0x868]
add eax, 0x70
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x888], 0
mov ecx, dword [ebp - 0x894]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x888], edx
mov dword [ebp - 0x8d4], 0
mov eax, dword [ebp - 0x720]
add eax, dword [ebp - 0x888]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x8d4]
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8b0], 0
mov edx, dword [ebp - 0x8b0]
add edx, 0x8d
mov dword [ebp - 0x8b0], edx
mov dword [ebp - 0x8d0], 0
mov eax, dword [ebp - 0x8b4]
sub eax, dword [ebp - 0x868]
add eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x854], 0
mov ecx, dword [ebp - 0x8d4]
sub ecx, dword [ebp - 0x8b0]
add ecx, dword [ebp - 0x854]
mov dword [ebp - 0x854], ecx
mov dword [ebp - 0x8cc], 0
mov edx, dword [ebp - 0x8d0]
shl edx, 4
mov dword [ebp - 0x8cc], edx
mov dword [ebp - 0x8ac], 0
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x88c], 0
mov ecx, dword [ebp - 0x8cc]
or ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x88c], ecx
mov byte [ebp - 0x869], 0
mov dl, byte [ebp - 0x88c]
mov byte [ebp - 0x869], dl
mov byte [ebp - 0x8c5], 0
movzx eax, byte [ebp - 0x715]
mov cl, byte [ebp + eax - 0x82c]
mov byte [ebp - 0x8c5], cl
movzx edx, byte [ebp - 0x83f]
movzx eax, byte [ebp + edx - 0x82c]
movzx ecx, byte [ebp - 0x725]
add ecx, eax
mov byte [ebp - 0x725], cl
mov dl, byte [ebp - 0x83f]
add dl, 1
mov byte [ebp - 0x83f], dl
movzx eax, byte [ebp - 0x725]
movzx ecx, byte [ebp - 0x715]
mov dl, byte [ebp + eax - 0x82c]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x835]
movzx ecx, byte [ebp - 0x725]
mov dl, byte [ebp + eax - 0x82c]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x83f]
movzx ecx, byte [ebp - 0x835]
mov dl, byte [ebp + eax - 0x82c]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x83f]
mov cl, byte [ebp - 0x8c5]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x8c5]
movzx eax, byte [ebp + edx - 0x82c]
movzx ecx, byte [ebp - 0x82d]
add ecx, eax
mov byte [ebp - 0x82d], cl
movzx edx, byte [ebp - 0x869]
movzx eax, byte [ebp - 0x725]
movzx ecx, byte [ebp + eax - 0x82c]
movzx eax, byte [ebp - 0x83f]
movzx eax, byte [ebp + eax - 0x82c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x82c]
xor edx, ecx
movzx eax, byte [ebp - 0x835]
movzx ecx, byte [ebp + eax - 0x82c]
movzx eax, byte [ebp - 0x715]
movzx eax, byte [ebp + eax - 0x82c]
add ecx, eax
movzx eax, byte [ebp - 0x82d]
movzx eax, byte [ebp + eax - 0x82c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x82c]
movzx eax, byte [ebp + ecx - 0x82c]
xor edx, eax
mov byte [ebp - 0x835], dl
mov cl, byte [ebp - 0x869]
mov byte [ebp - 0x715], cl
mov dl, byte [ebp - 0x835]
mov byte [ebp - 0x8a5], dl
cmp dword [ebp - 0x894], 0
jle 0x518726
movsx ax, byte [ebp - 0x8a5]
mov ecx, dword [ebp - 0x894]
mov word [ebp + ecx*2 - 0x706], ax
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x890]
add eax, 1
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x894]
shl ecx, 1
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x720]
add edx, dword [ebp - 0x850]
movzx eax, byte [edx]
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x868], 0x70
mov ecx, dword [ebp - 0x894]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x720]
add eax, dword [ebp - 0x888]
movzx ecx, byte [eax]
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8b0], 0x8d
mov edx, dword [ebp - 0x8b4]
sub edx, dword [ebp - 0x868]
mov dword [ebp - 0x8d0], edx
fld qword [0x9be998]
fstp qword [ebp - 0x884]
fld qword [0x9be990]
fstp qword [ebp - 0x8a4]
fld qword [0x9be988]
fstp qword [ebp - 0x8c4]
fld qword [ebp - 0x8a4]
fmul qword [ebp - 0x8c4]
fstp qword [ebp - 0x8a4]
fld qword [ebp - 0x884]
fmul qword [ebp - 0x8c4]
fstp qword [ebp - 0x884]
fld qword [ebp - 0x8a4]
fmul qword [ebp - 0x8c4]
fstp qword [ebp - 0x8a4]
fld qword [ebp - 0x8c4]
fcomp qword [ebp - 0x8a4]
fnstsw ax
test ah, 5
jp 0x51886c
fld qword [ebp - 0x8c4]
fmul qword [ebp - 0x8a4]
fstp qword [ebp - 0x8c4]
fld qword [ebp - 0x8c4]
fmul qword [ebp - 0x8a4]
fstp qword [ebp - 0x8c4]
fld qword [ebp - 0x8c4]
fsub qword [ebp - 0x8a4]
fstp qword [ebp - 0x8c4]
mov eax, dword [ebp - 0x8d4]
sub eax, dword [ebp - 0x8b0]
mov dword [ebp - 0x854], eax
jmp 0x518959
fld qword [ebp - 0x884]
fmul qword [ebp - 0x8c4]
fstp qword [ebp - 0x884]
fld qword [ebp - 0x884]
fdiv qword [ebp - 0x8c4]
fstp qword [ebp - 0x884]
fld qword [ebp - 0x8a4]
fmul qword [ebp - 0x884]
fstp qword [ebp - 0x8a4]
fld qword [ebp - 0x8a4]
fadd qword [ebp - 0x884]
fstp qword [ebp - 0x8a4]
fld qword [ebp - 0x8c4]
fadd qword [ebp - 0x8a4]
fstp qword [ebp - 0x8c4]
fld qword [ebp - 0x884]
fsub qword [ebp - 0x8c4]
fstp qword [ebp - 0x884]
fld qword [ebp - 0x8c4]
fcomp qword [ebp - 0x884]
fnstsw ax
test ah, 5
jp 0x518923
fld qword [ebp - 0x8a4]
fdiv qword [ebp - 0x884]
fstp qword [ebp - 0x8a4]
fld qword [ebp - 0x884]
fdiv qword [ebp - 0x8c4]
fstp qword [ebp - 0x884]
fld qword [ebp - 0x884]
fmul qword [ebp - 0x8c4]
fstp qword [ebp - 0x884]
jmp 0x518959
fld qword [ebp - 0x8c4]
fadd qword [ebp - 0x884]
fstp qword [ebp - 0x8c4]
fld qword [ebp - 0x8a4]
fadd qword [ebp - 0x8c4]
fstp qword [ebp - 0x8a4]
fld qword [ebp - 0x8a4]
fmul qword [ebp - 0x8c4]
fstp qword [ebp - 0x8a4]
mov ecx, dword [ebp - 0x8d0]
shl ecx, 4
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x8ac], edx
mov eax, dword [ebp - 0x8cc]
or eax, dword [ebp - 0x8ac]
mov dword [ebp - 0x88c], eax
mov cl, byte [ebp - 0x88c]
mov byte [ebp - 0x869], cl
movzx edx, byte [ebp - 0x715]
mov al, byte [ebp + edx - 0x82c]
mov byte [ebp - 0x8c5], al
movzx ecx, byte [ebp - 0x83f]
movzx edx, byte [ebp + ecx - 0x82c]
movzx eax, byte [ebp - 0x725]
add eax, edx
mov byte [ebp - 0x725], al
mov cl, byte [ebp - 0x83f]
add cl, 1
mov byte [ebp - 0x83f], cl
movzx edx, byte [ebp - 0x725]
movzx eax, byte [ebp - 0x715]
mov cl, byte [ebp + edx - 0x82c]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x835]
movzx eax, byte [ebp - 0x725]
mov cl, byte [ebp + edx - 0x82c]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x83f]
movzx eax, byte [ebp - 0x835]
mov cl, byte [ebp + edx - 0x82c]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x83f]
mov al, byte [ebp - 0x8c5]
mov byte [ebp + edx - 0x82c], al
movzx ecx, byte [ebp - 0x8c5]
movzx edx, byte [ebp + ecx - 0x82c]
movzx eax, byte [ebp - 0x82d]
add eax, edx
mov byte [ebp - 0x82d], al
movzx ecx, byte [ebp - 0x869]
movzx edx, byte [ebp - 0x725]
movzx eax, byte [ebp + edx - 0x82c]
movzx edx, byte [ebp - 0x83f]
movzx edx, byte [ebp + edx - 0x82c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x82c]
xor ecx, eax
movzx edx, byte [ebp - 0x835]
movzx eax, byte [ebp + edx - 0x82c]
movzx edx, byte [ebp - 0x715]
movzx edx, byte [ebp + edx - 0x82c]
add eax, edx
movzx edx, byte [ebp - 0x82d]
movzx edx, byte [ebp + edx - 0x82c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x82c]
movzx edx, byte [ebp + eax - 0x82c]
xor ecx, edx
mov byte [ebp - 0x835], cl
mov al, byte [ebp - 0x869]
mov byte [ebp - 0x715], al
mov cl, byte [ebp - 0x835]
mov byte [ebp - 0x8a5], cl
cmp dword [ebp - 0x894], 0
jle 0x518b14
movsx dx, byte [ebp - 0x8a5]
mov eax, dword [ebp - 0x894]
mov word [ebp + eax*2 - 0x706], dx
mov ecx, dword [ebp - 0x894]
add ecx, 1
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x890]
add edx, 1
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x894]
shl eax, 1
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x720]
add ecx, dword [ebp - 0x850]
movzx edx, byte [ecx]
mov dword [ebp - 0x8b4], edx
mov dword [ebp - 0x868], 0x70
mov eax, dword [ebp - 0x894]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x720]
add edx, dword [ebp - 0x888]
movzx eax, byte [edx]
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8b0], 0x8d
mov ecx, dword [ebp - 0x8b4]
sub ecx, dword [ebp - 0x868]
mov dword [ebp - 0x8d0], ecx
mov edx, dword [ebp - 0x8d4]
sub edx, dword [ebp - 0x8b0]
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x8d0]
shl eax, 4
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x854]
mov dword [ebp - 0x8ac], ecx
mov edx, dword [ebp - 0x8cc]
or edx, dword [ebp - 0x8ac]
mov dword [ebp - 0x88c], edx
mov al, byte [ebp - 0x88c]
mov byte [ebp - 0x869], al
movzx ecx, byte [ebp - 0x715]
mov dl, byte [ebp + ecx - 0x82c]
mov byte [ebp - 0x8c5], dl
movzx eax, byte [ebp - 0x83f]
movzx ecx, byte [ebp + eax - 0x82c]
movzx edx, byte [ebp - 0x725]
add edx, ecx
mov byte [ebp - 0x725], dl
mov al, byte [ebp - 0x83f]
add al, 1
mov byte [ebp - 0x83f], al
movzx ecx, byte [ebp - 0x725]
movzx edx, byte [ebp - 0x715]
mov al, byte [ebp + ecx - 0x82c]
mov byte [ebp + edx - 0x82c], al
movzx ecx, byte [ebp - 0x835]
movzx edx, byte [ebp - 0x725]
mov al, byte [ebp + ecx - 0x82c]
mov byte [ebp + edx - 0x82c], al
movzx ecx, byte [ebp - 0x83f]
movzx edx, byte [ebp - 0x835]
mov al, byte [ebp + ecx - 0x82c]
mov byte [ebp + edx - 0x82c], al
movzx ecx, byte [ebp - 0x83f]
mov dl, byte [ebp - 0x8c5]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x8c5]
movzx ecx, byte [ebp + eax - 0x82c]
movzx edx, byte [ebp - 0x82d]
add edx, ecx
mov byte [ebp - 0x82d], dl
movzx eax, byte [ebp - 0x869]
movzx ecx, byte [ebp - 0x725]
movzx edx, byte [ebp + ecx - 0x82c]
movzx ecx, byte [ebp - 0x83f]
movzx ecx, byte [ebp + ecx - 0x82c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x82c]
xor eax, edx
movzx ecx, byte [ebp - 0x835]
movzx edx, byte [ebp + ecx - 0x82c]
movzx ecx, byte [ebp - 0x715]
movzx ecx, byte [ebp + ecx - 0x82c]
add edx, ecx
movzx ecx, byte [ebp - 0x82d]
movzx ecx, byte [ebp + ecx - 0x82c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x82c]
movzx ecx, byte [ebp + edx - 0x82c]
xor eax, ecx
mov byte [ebp - 0x835], al
mov dl, byte [ebp - 0x869]
mov byte [ebp - 0x715], dl
mov al, byte [ebp - 0x835]
mov byte [ebp - 0x8a5], al
cmp dword [ebp - 0x894], 0
jle 0x518d6e
movsx cx, byte [ebp - 0x8a5]
mov edx, dword [ebp - 0x894]
mov word [ebp + edx*2 - 0x706], cx
mov eax, dword [ebp - 0x894]
add eax, 1
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x890]
add ecx, 1
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x894]
shl edx, 1
mov dword [ebp - 0x850], edx
mov eax, dword [ebp - 0x720]
add eax, dword [ebp - 0x850]
movzx ecx, byte [eax]
mov dword [ebp - 0x8b4], ecx
mov dword [ebp - 0x868], 0x70
mov edx, dword [ebp - 0x894]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x720]
add ecx, dword [ebp - 0x888]
movzx edx, byte [ecx]
mov dword [ebp - 0x8d4], edx
mov dword [ebp - 0x8b0], 0x8d
mov eax, dword [ebp - 0x8b4]
sub eax, dword [ebp - 0x868]
mov dword [ebp - 0x8d0], eax
mov ecx, dword [ebp - 0x8d4]
sub ecx, dword [ebp - 0x8b0]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x8d0]
shl edx, 4
mov dword [ebp - 0x8cc], edx
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x8ac], eax
fld qword [0x9be980]
fstp qword [ebp - 0x864]
fld qword [0x9be978]
fstp qword [ebp - 0x87c]
fld qword [0x9be970]
fstp qword [ebp - 0x89c]
fld qword [0x9bd258]
fstp qword [ebp - 0x8bc]
fld qword [0x9be968]
fstp qword [ebp - 0x85c]
fld qword [0x9be960]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x8bc]
fmul qword [ebp - 0x874]
fstp qword [ebp - 0x8bc]
fld qword [ebp - 0x89c]
fmul qword [ebp - 0x874]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x87c]
fmul qword [ebp - 0x874]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x87c]
fsub qword [ebp - 0x874]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x89c]
fsub qword [ebp - 0x874]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x8bc]
fmul qword [ebp - 0x874]
fstp qword [ebp - 0x8bc]
fld qword [ebp - 0x8bc]
fcomp qword [ebp - 0x874]
fnstsw ax
test ah, 0x41
jne 0x518f75
fld qword [ebp - 0x87c]
fsub qword [ebp - 0x8bc]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x89c]
fadd qword [ebp - 0x85c]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x864]
fadd qword [ebp - 0x89c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x87c]
fadd qword [ebp - 0x8bc]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x8bc]
fmul qword [ebp - 0x874]
fstp qword [ebp - 0x8bc]
fld qword [ebp - 0x864]
fadd qword [ebp - 0x89c]
fstp qword [ebp - 0x864]
mov ecx, dword [ebp - 0x8cc]
or ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x88c], ecx
jmp 0x51913a
fld qword [ebp - 0x874]
fsub qword [ebp - 0x87c]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x864]
fmul qword [ebp - 0x89c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x87c]
fsub qword [ebp - 0x8bc]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x8bc]
fdiv qword [ebp - 0x874]
fstp qword [ebp - 0x8bc]
fld qword [ebp - 0x89c]
fsub qword [ebp - 0x85c]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x874]
fadd qword [ebp - 0x87c]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x8bc]
fsub qword [ebp - 0x85c]
fstp qword [ebp - 0x8bc]
fld qword [ebp - 0x85c]
fadd qword [ebp - 0x874]
fstp qword [ebp - 0x85c]
fld qword [ebp - 0x864]
fdiv qword [ebp - 0x87c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x89c]
fmul qword [ebp - 0x8bc]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x89c]
fadd qword [ebp - 0x8bc]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x89c]
fsub qword [ebp - 0x8bc]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x89c]
fcomp qword [ebp - 0x864]
fnstsw ax
test ah, 0x41
jne 0x5190ce
fld qword [ebp - 0x864]
fadd qword [ebp - 0x89c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x8bc]
fadd qword [ebp - 0x874]
fstp qword [ebp - 0x8bc]
fld qword [ebp - 0x85c]
fadd qword [ebp - 0x864]
fstp qword [ebp - 0x85c]
fld qword [ebp - 0x87c]
fadd qword [ebp - 0x8bc]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x864]
fadd qword [ebp - 0x89c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x8bc]
fadd qword [ebp - 0x874]
fstp qword [ebp - 0x8bc]
jmp 0x51913a
fld qword [ebp - 0x864]
fadd qword [ebp - 0x87c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x89c]
fadd qword [ebp - 0x8bc]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x864]
fadd qword [ebp - 0x87c]
fstp qword [ebp - 0x864]
fld qword [ebp - 0x89c]
fmul qword [ebp - 0x8bc]
fstp qword [ebp - 0x89c]
fld qword [ebp - 0x87c]
fdiv qword [ebp - 0x89c]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x85c]
fadd qword [ebp - 0x874]
fstp qword [ebp - 0x85c]
mov dl, byte [ebp - 0x88c]
mov byte [ebp - 0x869], dl
movzx eax, byte [ebp - 0x715]
mov cl, byte [ebp + eax - 0x82c]
mov byte [ebp - 0x8c5], cl
movzx edx, byte [ebp - 0x83f]
movzx eax, byte [ebp + edx - 0x82c]
movzx ecx, byte [ebp - 0x725]
add ecx, eax
mov byte [ebp - 0x725], cl
mov dl, byte [ebp - 0x83f]
add dl, 1
mov byte [ebp - 0x83f], dl
movzx eax, byte [ebp - 0x725]
movzx ecx, byte [ebp - 0x715]
mov dl, byte [ebp + eax - 0x82c]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x835]
movzx ecx, byte [ebp - 0x725]
mov dl, byte [ebp + eax - 0x82c]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x83f]
movzx ecx, byte [ebp - 0x835]
mov dl, byte [ebp + eax - 0x82c]
mov byte [ebp + ecx - 0x82c], dl
movzx eax, byte [ebp - 0x83f]
mov cl, byte [ebp - 0x8c5]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x8c5]
movzx eax, byte [ebp + edx - 0x82c]
movzx ecx, byte [ebp - 0x82d]
add ecx, eax
mov byte [ebp - 0x82d], cl
movzx edx, byte [ebp - 0x869]
movzx eax, byte [ebp - 0x725]
movzx ecx, byte [ebp + eax - 0x82c]
movzx eax, byte [ebp - 0x83f]
movzx eax, byte [ebp + eax - 0x82c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x82c]
xor edx, ecx
movzx eax, byte [ebp - 0x835]
movzx ecx, byte [ebp + eax - 0x82c]
movzx eax, byte [ebp - 0x715]
movzx eax, byte [ebp + eax - 0x82c]
add ecx, eax
movzx eax, byte [ebp - 0x82d]
movzx eax, byte [ebp + eax - 0x82c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x82c]
movzx eax, byte [ebp + ecx - 0x82c]
xor edx, eax
mov byte [ebp - 0x835], dl
mov cl, byte [ebp - 0x869]
mov byte [ebp - 0x715], cl
mov dl, byte [ebp - 0x835]
mov byte [ebp - 0x8a5], dl
cmp dword [ebp - 0x894], 0
jle 0x5192ca
movsx ax, byte [ebp - 0x8a5]
mov ecx, dword [ebp - 0x894]
mov word [ebp + ecx*2 - 0x706], ax
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x890]
add eax, 1
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x894]
shl ecx, 1
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x720]
add edx, dword [ebp - 0x850]
movzx eax, byte [edx]
mov dword [ebp - 0x8b4], eax
mov dword [ebp - 0x868], 0x70
mov ecx, dword [ebp - 0x894]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x720]
add eax, dword [ebp - 0x888]
movzx ecx, byte [eax]
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8b0], 0x8d
mov edx, dword [ebp - 0x8b4]
sub edx, dword [ebp - 0x868]
mov dword [ebp - 0x8d0], edx
mov eax, dword [ebp - 0x8d4]
sub eax, dword [ebp - 0x8b0]
mov dword [ebp - 0x854], eax
mov ecx, dword [ebp - 0x8d0]
shl ecx, 4
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x8ac], edx
mov eax, dword [ebp - 0x8cc]
or eax, dword [ebp - 0x8ac]
mov dword [ebp - 0x88c], eax
mov cl, byte [ebp - 0x88c]
mov byte [ebp - 0x869], cl
movzx edx, byte [ebp - 0x715]
mov al, byte [ebp + edx - 0x82c]
mov byte [ebp - 0x8c5], al
movzx ecx, byte [ebp - 0x83f]
movzx edx, byte [ebp + ecx - 0x82c]
movzx eax, byte [ebp - 0x725]
add eax, edx
mov byte [ebp - 0x725], al
mov cl, byte [ebp - 0x83f]
add cl, 1
mov byte [ebp - 0x83f], cl
movzx edx, byte [ebp - 0x725]
movzx eax, byte [ebp - 0x715]
mov cl, byte [ebp + edx - 0x82c]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x835]
movzx eax, byte [ebp - 0x725]
mov cl, byte [ebp + edx - 0x82c]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x83f]
movzx eax, byte [ebp - 0x835]
mov cl, byte [ebp + edx - 0x82c]
mov byte [ebp + eax - 0x82c], cl
movzx edx, byte [ebp - 0x83f]
mov al, byte [ebp - 0x8c5]
mov byte [ebp + edx - 0x82c], al
movzx ecx, byte [ebp - 0x8c5]
movzx edx, byte [ebp + ecx - 0x82c]
movzx eax, byte [ebp - 0x82d]
add eax, edx
mov byte [ebp - 0x82d], al
movzx ecx, byte [ebp - 0x869]
movzx edx, byte [ebp - 0x725]
movzx eax, byte [ebp + edx - 0x82c]
movzx edx, byte [ebp - 0x83f]
movzx edx, byte [ebp + edx - 0x82c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x82c]
xor ecx, eax
movzx edx, byte [ebp - 0x835]
movzx eax, byte [ebp + edx - 0x82c]
movzx edx, byte [ebp - 0x715]
movzx edx, byte [ebp + edx - 0x82c]
add eax, edx
movzx edx, byte [ebp - 0x82d]
movzx edx, byte [ebp + edx - 0x82c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x82c]
movzx edx, byte [ebp + eax - 0x82c]
xor ecx, edx
mov byte [ebp - 0x835], cl
mov al, byte [ebp - 0x869]
mov byte [ebp - 0x715], al
mov cl, byte [ebp - 0x835]
mov byte [ebp - 0x8a5], cl
cmp dword [ebp - 0x894], 0
jle 0x519523
movsx dx, byte [ebp - 0x8a5]
mov eax, dword [ebp - 0x894]
mov word [ebp + eax*2 - 0x706], dx
xor ecx, ecx
mov word [ebp - 0x6fc], cx
jmp 0x519564
mov dword [ebp - 0x8d8], 0
jmp 0x519549
mov edx, dword [ebp - 0x8d8]
add edx, 1
mov dword [ebp - 0x8d8], edx
cmp dword [ebp - 0x8d8], 5
jge 0x519564
xor eax, eax
mov ecx, dword [ebp - 0x8d8]
mov word [ebp + ecx*2 - 0x704], ax
jmp 0x51953a
xor edx, edx
mov eax, dword [ebp - 0x460]
mov word [eax], dx
lea ecx, [ebp - 0x704]
mov dword [ebp - 0x101c], ecx
mov edx, dword [ebp - 0x101c]
mov dword [ebp - 0x1020], edx
mov eax, dword [ebp - 0x101c]
mov cx, word [eax]
mov word [ebp - 0x1022], cx
add dword [ebp - 0x101c], 2
cmp word [ebp - 0x1022], 0
jne 0x519587
mov edx, dword [ebp - 0x101c]
sub edx, dword [ebp - 0x1020]
mov eax, dword [ebp - 0x1020]
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x102c], edx
lea ecx, [ebp - 0x6c4]
add ecx, 0xfffffffe
mov dword [ebp - 0x1030], ecx
mov edx, dword [ebp - 0x1030]
mov ax, word [edx + 2]
mov word [ebp - 0x1032], ax
add dword [ebp - 0x1030], 2
cmp word [ebp - 0x1032], 0
jne 0x5195d5
mov edi, dword [ebp - 0x1030]
mov esi, dword [ebp - 0x1028]
mov edx, dword [ebp - 0x102c]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x6c4]
push eax
lea ecx, [ebp - 0x214]
push ecx
call fcn.00950a82
add esp, 8
lea edx, [ebp - 0x6c4]
push edx
mov ecx, dword [ebp + 8]
call fcn.004a9150
lea eax, [ebp - 0x458]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0x50c860
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x454]
call fcn.00900120
mov dword [ebp - 4], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x6f0], 0
fldz
fstp qword [ebp - 0x48c]
fldz
fstp qword [ebp - 0x4bc]
fldz
fstp qword [ebp - 0x4bc]
jmp 0x5196aa
fld qword [ebp - 0x4bc]
fadd qword [0x9bacb0]
fstp qword [ebp - 0x4bc]
fld qword [0x9bd020]
fcomp qword [ebp - 0x4bc]
fnstsw ax
test ah, 0x41
jne 0x519733
fld qword [0x9bd018]
fmul qword [ebp - 0x4bc]
fmul qword [ebp - 0x4bc]
fld qword [ebp - 0x4bc]
fmul qword [ebp - 0x4bc]
fsubp st(1)
fld qword [0x9bd010]
fmul qword [ebp - 0x4bc]
fmul qword [ebp - 0x4bc]
fadd qword [0x9bd008]
fdivp st(1)
fadd qword [ebp - 0x48c]
fstp qword [ebp - 0x48c]
fld qword [0x9bd000]
fcomp qword [ebp - 0x48c]
fnstsw ax
test ah, 5
jp 0x51972e
fld qword [0x9bcff8]
fmul qword [ebp - 0x4bc]
fsubr qword [ebp - 0x48c]
fstp qword [ebp - 0x48c]
jmp 0x519698
fldz
fcomp qword [ebp - 0x48c]
fnstsw ax
test ah, 0x41
jne 0x51977a
retf
mov dword [ebp - 0x45c], 0x519742
mov dword [ebp - 0x6f0], 0x51975a
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x6f0]
mov dword [ebp - 0x8e0], eax
mov byte [ebp - 0xa15], 0x1f
mov dword [ebp - 0xa0c], 0
jmp 0x5197c8
mov ecx, dword [ebp - 0xa0c]
add ecx, 1
mov dword [ebp - 0xa0c], ecx
cmp dword [ebp - 0xa0c], 0x100
jae 0x5197e9
mov edx, dword [ebp - 0xa0c]
mov al, byte [ebp - 0xa0c]
mov byte [ebp + edx - 0x9f4], al
jmp 0x5197b9
mov dword [ebp - 0x8e8], 0
mov byte [ebp - 0xa16], 0
mov dword [ebp - 0xa0c], 0xff
jmp 0x519815
mov ecx, dword [ebp - 0xa0c]
sub ecx, 1
mov dword [ebp - 0xa0c], ecx
cmp dword [ebp - 0xa0c], 0
jbe 0x519b29
mov dword [ebp - 0xa24], 0
mov dword [ebp - 0xa2c], 1
mov edx, dword [ebp - 0xa2c]
cmp edx, dword [ebp - 0xa0c]
jae 0x519856
mov eax, dword [ebp - 0xa2c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa2c], ecx
jmp 0x519836
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x1038], edx
cmp dword [ebp - 0x1038], 3
ja case.default.0x519875
mov eax, dword [ebp - 0x1038]
jmp dword [eax*4 + 0x51fa94]
movzx ecx, byte [ebp - 0xa16]
movzx edx, byte [ebp + ecx - 0x9f4]
fld qword [ebp - 0x48c]
fnstcw word [ebp - 0x103a]
movzx eax, word [ebp - 0x103a]
or eax, 0xc00
mov dword [ebp - 0x1040], eax
fldcw word [ebp - 0x1040]
fistp qword [ebp - 0x1048]
fldcw word [ebp - 0x103a]
mov eax, dword [ebp - 0x1048]
and eax, 0xff
add edx, eax
mov byte [ebp - 0xa16], dl
jmp 0x519a02
movzx ecx, byte [ebp - 0xa16]
movzx edx, byte [ebp + ecx - 0x9f4]
fld qword [ebp - 0x48c]
fnstcw word [ebp - 0x104a]
movzx eax, word [ebp - 0x104a]
or eax, 0xc00
mov dword [ebp - 0x1050], eax
fldcw word [ebp - 0x1050]
fistp qword [ebp - 0x1058]
fldcw word [ebp - 0x104a]
mov eax, dword [ebp - 0x1058]
shr eax, 8
and eax, 0xff
add edx, eax
mov byte [ebp - 0xa16], dl
jmp 0x519a02
movzx ecx, byte [ebp - 0xa16]
movzx edx, byte [ebp + ecx - 0x9f4]
fld qword [ebp - 0x48c]
fnstcw word [ebp - 0x105a]
movzx eax, word [ebp - 0x105a]
or eax, 0xc00
mov dword [ebp - 0x1060], eax
fldcw word [ebp - 0x1060]
fistp qword [ebp - 0x1068]
fldcw word [ebp - 0x105a]
mov eax, dword [ebp - 0x1068]
shr eax, 0x10
and eax, 0xff
add edx, eax
mov byte [ebp - 0xa16], dl
jmp 0x519a02
movzx ecx, byte [ebp - 0xa16]
movzx edx, byte [ebp + ecx - 0x9f4]
fld qword [ebp - 0x48c]
fnstcw word [ebp - 0x106a]
movzx eax, word [ebp - 0x106a]
or eax, 0xc00
mov dword [ebp - 0x1070], eax
fldcw word [ebp - 0x1070]
fistp qword [ebp - 0x1078]
fldcw word [ebp - 0x106a]
mov eax, dword [ebp - 0x1078]
shr eax, 0x18
and eax, 0xff
add edx, eax
mov byte [ebp - 0xa16], dl
jmp 0x519a02
movzx ecx, byte [ebp - 0xa16]
movzx edx, byte [ebp + ecx - 0x9f4]
mov eax, dword [ebp - 0x8e0]
add eax, dword [ebp - 0x8e8]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0xa16], dl
mov edx, dword [ebp - 0x8e8]
add edx, 1
mov dword [ebp - 0x8e8], edx
movzx eax, byte [ebp - 0xa15]
cmp dword [ebp - 0x8e8], eax
jb 0x519a40
mov dword [ebp - 0x8e8], 0
movzx ecx, byte [ebp - 0xa15]
movzx edx, byte [ebp - 0xa16]
add edx, ecx
mov byte [ebp - 0xa16], dl
movzx eax, byte [ebp - 0xa16]
and eax, dword [ebp - 0xa2c]
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0xa24]
add ecx, 1
mov dword [ebp - 0xa24], ecx
cmp dword [ebp - 0xa24], 0xb
jbe 0x519a7f
mov eax, dword [ebp - 0xa28]
xor edx, edx
div dword [ebp - 0xa0c]
mov dword [ebp - 0xa28], edx
mov edx, dword [ebp - 0xa28]
cmp edx, dword [ebp - 0xa0c]
ja 0x519856
mov eax, dword [ebp - 0xa0c]
cmp eax, dword [ebp - 0xa28]
je 0x519b24
mov ecx, dword [ebp - 0xa28]
movzx edx, byte [ebp + ecx - 0x9f4]
mov eax, dword [ebp - 0xa0c]
movzx ecx, byte [ebp + eax - 0x9f4]
xor ecx, edx
mov edx, dword [ebp - 0xa0c]
mov byte [ebp + edx - 0x9f4], cl
mov eax, dword [ebp - 0xa0c]
movzx ecx, byte [ebp + eax - 0x9f4]
mov edx, dword [ebp - 0xa28]
movzx eax, byte [ebp + edx - 0x9f4]
xor eax, ecx
mov ecx, dword [ebp - 0xa28]
mov byte [ebp + ecx - 0x9f4], al
mov edx, dword [ebp - 0xa28]
movzx eax, byte [ebp + edx - 0x9f4]
mov ecx, dword [ebp - 0xa0c]
movzx edx, byte [ebp + ecx - 0x9f4]
xor edx, eax
mov eax, dword [ebp - 0xa0c]
mov byte [ebp + eax - 0x9f4], dl
jmp 0x519806
fld dword [0x9bcff4]
fstp dword [ebp - 0xa08]
fld dword [0x9bcff0]
fstp dword [ebp - 0x9fc]
fld dword [0x9bcfec]
fstp dword [ebp - 0x8ec]
fld dword [0x9bcfe8]
fstp dword [ebp - 0xa1c]
fld dword [0x9bcfe4]
fstp dword [ebp - 0xa04]
fld dword [0x9bcfe0]
fstp dword [ebp - 0x9f8]
fld dword [ebp - 0x8ec]
fmul dword [ebp - 0x9f8]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0xa04]
fsub dword [ebp - 0x9f8]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa1c]
fsub dword [ebp - 0x9f8]
fstp dword [ebp - 0xa1c]
fld dword [ebp - 0xa08]
fadd dword [ebp - 0x9f8]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa08]
fadd dword [ebp - 0x9f8]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa08]
fmul dword [ebp - 0x9f8]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa04]
fld dword [ebp - 0xa08]
fcompp
fnstsw ax
test ah, 0x41
jne 0x519c6f
fld dword [ebp - 0x8ec]
fmul dword [ebp - 0xa1c]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0xa1c]
fsub dword [ebp - 0xa04]
fstp dword [ebp - 0xa1c]
fld dword [ebp - 0xa04]
fmul dword [ebp - 0x9f8]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x9fc]
fmul dword [ebp - 0x8ec]
fstp dword [ebp - 0x9fc]
fld dword [ebp - 0x9f8]
fsub dword [ebp - 0xa08]
fstp dword [ebp - 0x9f8]
fld dword [ebp - 0x8ec]
fsub dword [ebp - 0xa1c]
fstp dword [ebp - 0x8ec]
mov cl, byte [ebp - 0x9f3]
mov byte [ebp - 0xa1d], cl
jmp 0x519e36
fld dword [ebp - 0xa1c]
fdiv dword [ebp - 0x9f8]
fstp dword [ebp - 0xa1c]
fld dword [ebp - 0xa1c]
fdiv dword [ebp - 0x9f8]
fstp dword [ebp - 0xa1c]
fld dword [ebp - 0x9fc]
fsub dword [ebp - 0xa1c]
fstp dword [ebp - 0x9fc]
fld dword [ebp - 0x8ec]
fsub dword [ebp - 0xa04]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0x9f8]
fdiv dword [ebp - 0x9fc]
fstp dword [ebp - 0x9f8]
fld dword [ebp - 0xa1c]
fmul dword [ebp - 0x9f8]
fstp dword [ebp - 0xa1c]
fld dword [ebp - 0xa04]
fadd dword [ebp - 0xa08]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x8ec]
fmul dword [ebp - 0xa04]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0xa08]
fsub dword [ebp - 0x8ec]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0x8ec]
fsub dword [ebp - 0xa04]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0xa04]
fdiv dword [ebp - 0xa08]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x8ec]
fadd dword [ebp - 0xa04]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0xa08]
fld dword [ebp - 0x8ec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x519dca
fld dword [ebp - 0xa08]
fadd dword [ebp - 0x8ec]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa04]
fmul dword [ebp - 0xa08]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fadd dword [ebp - 0xa08]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fdiv dword [ebp - 0xa08]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa1c]
fsub dword [ebp - 0x9f8]
fstp dword [ebp - 0xa1c]
fld dword [ebp - 0xa1c]
fmul dword [ebp - 0x9f8]
fstp dword [ebp - 0xa1c]
jmp 0x519e36
fld dword [ebp - 0x9fc]
fsub dword [ebp - 0xa1c]
fstp dword [ebp - 0x9fc]
fld dword [ebp - 0x9fc]
fadd dword [ebp - 0xa1c]
fstp dword [ebp - 0x9fc]
fld dword [ebp - 0x9f8]
fadd dword [ebp - 0x9fc]
fstp dword [ebp - 0x9f8]
fld dword [ebp - 0xa08]
fadd dword [ebp - 0x8ec]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0x8ec]
fsub dword [ebp - 0xa04]
fstp dword [ebp - 0x8ec]
fld dword [ebp - 0x8ec]
fadd dword [ebp - 0xa04]
fstp dword [ebp - 0x8ec]
mov dl, byte [ebp - 0x9f1]
mov byte [ebp - 0x8ed], dl
mov al, byte [ebp - 0x9ef]
mov byte [ebp - 0x9fd], al
mov cl, byte [ebp - 0x9ed]
mov byte [ebp - 0xa0d], cl
movzx edx, byte [ebp - 0xa16]
mov al, byte [ebp + edx - 0x9f4]
mov byte [ebp - 0x8d9], al
mov dword [ebp - 0xa14], 0x18
cmp dword [ebp - 0xa14], 2
jle 0x51b8b9
mov ecx, dword [ebp - 0xa14]
and ecx, 1
jne 0x51b8b9
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa88], 0
fld qword [0x9bcfd8]
fstp qword [ebp - 0xa44]
fld qword [0x9bcfd0]
fstp qword [ebp - 0xa4c]
fld qword [0x9bcfc8]
fstp qword [ebp - 0xacc]
fld qword [0x9bcfc0]
fstp qword [ebp - 0xa94]
fld qword [0x9bcfb8]
fstp qword [ebp - 0xa6c]
fld qword [ebp - 0xa4c]
fsub qword [ebp - 0xa6c]
fstp qword [ebp - 0xa4c]
fld qword [ebp - 0xa94]
fadd qword [ebp - 0xa6c]
fstp qword [ebp - 0xa94]
fld qword [ebp - 0xacc]
fadd qword [ebp - 0xa6c]
fstp qword [ebp - 0xacc]
fld qword [ebp - 0xacc]
fadd qword [ebp - 0xa6c]
fstp qword [ebp - 0xacc]
fld qword [ebp - 0xa94]
fsub qword [ebp - 0xa6c]
fstp qword [ebp - 0xa94]
fld qword [ebp - 0xacc]
fcomp qword [ebp - 0xa6c]
fnstsw ax
test ah, 5
jp 0x519fad
fld qword [ebp - 0xa44]
fdiv qword [ebp - 0xa4c]
fstp qword [ebp - 0xa44]
fld qword [ebp - 0xa6c]
fsub qword [ebp - 0xa44]
fstp qword [ebp - 0xa6c]
fld qword [ebp - 0xa6c]
fdiv qword [ebp - 0xa44]
fstp qword [ebp - 0xa6c]
fld qword [ebp - 0xa4c]
fadd qword [ebp - 0xacc]
fstp qword [ebp - 0xa4c]
fld qword [ebp - 0xa94]
fdiv qword [ebp - 0xa6c]
fstp qword [ebp - 0xa94]
jmp 0x51a016
fld qword [ebp - 0xacc]
fmul qword [ebp - 0xa6c]
fstp qword [ebp - 0xacc]
fld qword [ebp - 0xa94]
fmul qword [ebp - 0xa44]
fstp qword [ebp - 0xa94]
fld qword [ebp - 0xa94]
fadd qword [ebp - 0xa44]
fstp qword [ebp - 0xa94]
fld qword [ebp - 0xa6c]
fsub qword [ebp - 0xa4c]
fstp qword [ebp - 0xa6c]
fld qword [ebp - 0xa4c]
fadd qword [ebp - 0xa94]
fstp qword [ebp - 0xa4c]
mov edx, dword [ebp - 0xa88]
add edx, 1
mov dword [ebp - 0xa88], edx
mov dword [ebp - 0xa38], 0
mov eax, dword [ebp - 0xa8c]
shl eax, 1
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xab0], 0
mov ecx, dword [ebp - 0x8e4]
add ecx, dword [ebp - 0xa38]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xab0]
mov dword [ebp - 0xab0], edx
mov dword [ebp - 0xa5c], 0
mov eax, dword [ebp - 0xa5c]
add eax, 0xbe
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa7c], 0
mov ecx, dword [ebp - 0xa8c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa7c], edx
mov dword [ebp - 0xac0], 0
mov eax, dword [ebp - 0x8e4]
add eax, dword [ebp - 0xa7c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0xac0]
mov dword [ebp - 0xac0], ecx
mov dword [ebp - 0xaac], 0
mov edx, dword [ebp - 0xaac]
add edx, 0x98
mov dword [ebp - 0xaac], edx
mov dword [ebp - 0xabc], 0
mov eax, dword [ebp - 0xab0]
sub eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xabc]
mov dword [ebp - 0xabc], eax
mov dword [ebp - 0xa3c], 0
mov ecx, dword [ebp - 0xac0]
sub ecx, dword [ebp - 0xaac]
add ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0xa3c], ecx
mov dword [ebp - 0xab8], 0
mov edx, dword [ebp - 0xabc]
shl edx, 4
mov dword [ebp - 0xab8], edx
mov dword [ebp - 0xaa8], 0
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xaa8], eax
mov dword [ebp - 0xa84], 0
mov ecx, dword [ebp - 0xab8]
or ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xa84], ecx
mov byte [ebp - 0xa5d], 0
mov dl, byte [ebp - 0xa84]
mov byte [ebp - 0xa5d], dl
mov byte [ebp - 0xab1], 0
movzx eax, byte [ebp - 0x8d9]
mov cl, byte [ebp + eax - 0x9f4]
mov byte [ebp - 0xab1], cl
movzx edx, byte [ebp - 0xa1d]
movzx eax, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp - 0x8ed]
add ecx, eax
mov byte [ebp - 0x8ed], cl
mov dl, byte [ebp - 0xa1d]
add dl, 1
mov byte [ebp - 0xa1d], dl
movzx eax, byte [ebp - 0x8ed]
movzx ecx, byte [ebp - 0x8d9]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8ed]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa1d]
movzx ecx, byte [ebp - 0xa0d]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa1d]
mov cl, byte [ebp - 0xab1]
mov byte [ebp + eax - 0x9f4], cl
movzx edx, byte [ebp - 0xab1]
movzx eax, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp - 0x9fd]
add ecx, eax
mov byte [ebp - 0x9fd], cl
movzx edx, byte [ebp - 0xa5d]
movzx eax, byte [ebp - 0x8ed]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx eax, byte [ebp - 0xa1d]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9f4]
xor edx, ecx
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx eax, byte [ebp - 0x8d9]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
movzx eax, byte [ebp - 0x9fd]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9f4]
movzx eax, byte [ebp + ecx - 0x9f4]
xor edx, eax
mov byte [ebp - 0xa0d], dl
mov cl, byte [ebp - 0xa5d]
mov byte [ebp - 0x8d9], cl
mov dl, byte [ebp - 0xa0d]
mov byte [ebp - 0xaa1], dl
cmp dword [ebp - 0xa8c], 0
jle 0x51a2f6
movsx ax, byte [ebp - 0xaa1]
mov ecx, dword [ebp - 0xa8c]
mov word [ebp + ecx*2 - 0x4a6], ax
mov edx, dword [ebp - 0xa8c]
add edx, 1
mov dword [ebp - 0xa8c], edx
mov eax, dword [ebp - 0xa88]
add eax, 1
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa8c]
shl ecx, 1
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0x8e4]
add edx, dword [ebp - 0xa38]
movzx eax, byte [edx]
mov dword [ebp - 0xab0], eax
mov dword [ebp - 0xa5c], 0xbe
mov ecx, dword [ebp - 0xa8c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0x8e4]
add eax, dword [ebp - 0xa7c]
movzx ecx, byte [eax]
mov dword [ebp - 0xac0], ecx
mov dword [ebp - 0xaac], 0x98
mov edx, dword [ebp - 0xab0]
sub edx, dword [ebp - 0xa5c]
mov dword [ebp - 0xabc], edx
mov eax, dword [ebp - 0xac0]
sub eax, dword [ebp - 0xaac]
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0xabc]
shl ecx, 4
mov dword [ebp - 0xab8], ecx
mov edx, dword [ebp - 0xa3c]
mov dword [ebp - 0xaa8], edx
mov eax, dword [ebp - 0xab8]
or eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xa84], eax
mov cl, byte [ebp - 0xa84]
mov byte [ebp - 0xa5d], cl
movzx edx, byte [ebp - 0x8d9]
mov al, byte [ebp + edx - 0x9f4]
mov byte [ebp - 0xab1], al
movzx ecx, byte [ebp - 0xa1d]
movzx edx, byte [ebp + ecx - 0x9f4]
movzx eax, byte [ebp - 0x8ed]
add eax, edx
mov byte [ebp - 0x8ed], al
mov cl, byte [ebp - 0xa1d]
add cl, 1
mov byte [ebp - 0xa1d], cl
movzx edx, byte [ebp - 0x8ed]
movzx eax, byte [ebp - 0x8d9]
mov cl, byte [ebp + edx - 0x9f4]
mov byte [ebp + eax - 0x9f4], cl
movzx edx, byte [ebp - 0xa0d]
movzx eax, byte [ebp - 0x8ed]
mov cl, byte [ebp + edx - 0x9f4]
mov byte [ebp + eax - 0x9f4], cl
movzx edx, byte [ebp - 0xa1d]
movzx eax, byte [ebp - 0xa0d]
mov cl, byte [ebp + edx - 0x9f4]
mov byte [ebp + eax - 0x9f4], cl
movzx edx, byte [ebp - 0xa1d]
mov al, byte [ebp - 0xab1]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xab1]
movzx edx, byte [ebp + ecx - 0x9f4]
movzx eax, byte [ebp - 0x9fd]
add eax, edx
mov byte [ebp - 0x9fd], al
movzx ecx, byte [ebp - 0xa5d]
movzx edx, byte [ebp - 0x8ed]
movzx eax, byte [ebp + edx - 0x9f4]
movzx edx, byte [ebp - 0xa1d]
movzx edx, byte [ebp + edx - 0x9f4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x9f4]
xor ecx, eax
movzx edx, byte [ebp - 0xa0d]
movzx eax, byte [ebp + edx - 0x9f4]
movzx edx, byte [ebp - 0x8d9]
movzx edx, byte [ebp + edx - 0x9f4]
add eax, edx
movzx edx, byte [ebp - 0x9fd]
movzx edx, byte [ebp + edx - 0x9f4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x9f4]
movzx edx, byte [ebp + eax - 0x9f4]
xor ecx, edx
mov byte [ebp - 0xa0d], cl
mov al, byte [ebp - 0xa5d]
mov byte [ebp - 0x8d9], al
mov cl, byte [ebp - 0xa0d]
mov byte [ebp - 0xaa1], cl
cmp dword [ebp - 0xa8c], 0
jle 0x51a54f
movsx dx, byte [ebp - 0xaa1]
mov eax, dword [ebp - 0xa8c]
mov word [ebp + eax*2 - 0x4a6], dx
mov ecx, dword [ebp - 0xa88]
add ecx, 4
mov dword [ebp - 0xa88], ecx
mov edx, dword [ebp - 0xa8c]
add edx, 1
mov dword [ebp - 0xad0], edx
jmp 0x51a57e
mov eax, dword [ebp - 0xad0]
add eax, 1
mov dword [ebp - 0xad0], eax
mov ecx, dword [ebp - 0xad0]
cmp ecx, dword [ebp - 0xa88]
jge 0x51aade
mov edx, dword [ebp - 0xa8c]
add edx, 1
mov dword [ebp - 0xa8c], edx
mov eax, dword [ebp - 0xa8c]
shl eax, 1
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0x8e4]
add ecx, dword [ebp - 0xa38]
movzx edx, byte [ecx]
mov dword [ebp - 0xab0], edx
mov dword [ebp - 0xa5c], 0xbe
mov eax, dword [ebp - 0xa8c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0x8e4]
add edx, dword [ebp - 0xa7c]
movzx eax, byte [edx]
mov dword [ebp - 0xac0], eax
mov dword [ebp - 0xaac], 0x98
mov ecx, dword [ebp - 0xab0]
sub ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0xabc], ecx
mov edx, dword [ebp - 0xac0]
sub edx, dword [ebp - 0xaac]
mov dword [ebp - 0xa3c], edx
fld qword [0x9bcfb0]
fstp qword [ebp - 0xae4]
fld qword [0x9bcfa8]
fstp qword [ebp - 0xb04]
fld qword [0x9bcfa0]
fstp qword [ebp - 0xaf4]
fld qword [0x9bcf98]
fstp qword [ebp - 0xaec]
fld qword [0x9bcf90]
fstp qword [ebp - 0xadc]
fld qword [0x9bcf88]
fstp qword [ebp - 0xafc]
fld qword [ebp - 0xadc]
fmul qword [ebp - 0xafc]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xadc]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xadc]
fadd qword [ebp - 0xafc]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xaec]
fadd qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xadc]
fmul qword [ebp - 0xafc]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xb04]
fadd qword [ebp - 0xafc]
fstp qword [ebp - 0xb04]
fld qword [ebp - 0xafc]
fcomp qword [ebp - 0xadc]
fnstsw ax
test ah, 0x41
jne 0x51a8b1
fld qword [ebp - 0xaec]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xafc]
fmul qword [ebp - 0xb04]
fstp qword [ebp - 0xafc]
fld qword [ebp - 0xb04]
fdiv qword [ebp - 0xaec]
fstp qword [ebp - 0xb04]
fld qword [ebp - 0xaf4]
fdiv qword [ebp - 0xadc]
fstp qword [ebp - 0xaf4]
fld qword [ebp - 0xadc]
fadd qword [ebp - 0xae4]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xadc]
fdiv qword [ebp - 0xae4]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xaec]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xaf4]
fadd qword [ebp - 0xadc]
fstp qword [ebp - 0xaf4]
fld qword [ebp - 0xb04]
fdiv qword [ebp - 0xaec]
fstp qword [ebp - 0xb04]
fld qword [ebp - 0xaec]
fmul qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xae4]
fadd qword [ebp - 0xaf4]
fstp qword [ebp - 0xae4]
fld qword [ebp - 0xaec]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xaec]
fcomp qword [ebp - 0xb04]
fnstsw ax
test ah, 5
jp 0x51a843
fld qword [ebp - 0xaec]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xaf4]
fadd qword [ebp - 0xadc]
fstp qword [ebp - 0xaf4]
fld qword [ebp - 0xafc]
fdiv qword [ebp - 0xb04]
fstp qword [ebp - 0xafc]
fld qword [ebp - 0xafc]
fadd qword [ebp - 0xb04]
fstp qword [ebp - 0xafc]
fld qword [ebp - 0xb04]
fadd qword [ebp - 0xaec]
fstp qword [ebp - 0xb04]
fld qword [ebp - 0xaec]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xaec]
jmp 0x51a8af
fld qword [ebp - 0xae4]
fadd qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
fld qword [ebp - 0xaec]
fmul qword [ebp - 0xadc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xae4]
fadd qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
fld qword [ebp - 0xafc]
fdiv qword [ebp - 0xae4]
fstp qword [ebp - 0xafc]
fld qword [ebp - 0xae4]
fdiv qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
fld qword [ebp - 0xae4]
fmul qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
jmp 0x51a92c
fld qword [ebp - 0xadc]
fsub qword [ebp - 0xafc]
fstp qword [ebp - 0xadc]
fld qword [ebp - 0xae4]
fmul qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
fld qword [ebp - 0xaec]
fadd qword [ebp - 0xadc]
fstp qword [ebp - 0xaec]
fld qword [ebp - 0xaf4]
fmul qword [ebp - 0xaec]
fstp qword [ebp - 0xaf4]
fld qword [ebp - 0xae4]
fmul qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
fld qword [ebp - 0xae4]
fsub qword [ebp - 0xb04]
fstp qword [ebp - 0xae4]
mov eax, dword [ebp - 0xabc]
shl eax, 4
mov dword [ebp - 0xab8], eax
mov ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0xaa8], ecx
mov edx, dword [ebp - 0xab8]
or edx, dword [ebp - 0xaa8]
mov dword [ebp - 0xa84], edx
mov al, byte [ebp - 0xa84]
mov byte [ebp - 0xa5d], al
movzx ecx, byte [ebp - 0x8d9]
mov dl, byte [ebp + ecx - 0x9f4]
mov byte [ebp - 0xab1], dl
movzx eax, byte [ebp - 0xa1d]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx edx, byte [ebp - 0x8ed]
add edx, ecx
mov byte [ebp - 0x8ed], dl
mov al, byte [ebp - 0xa1d]
add al, 1
mov byte [ebp - 0xa1d], al
movzx ecx, byte [ebp - 0x8ed]
movzx edx, byte [ebp - 0x8d9]
mov al, byte [ebp + ecx - 0x9f4]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xa0d]
movzx edx, byte [ebp - 0x8ed]
mov al, byte [ebp + ecx - 0x9f4]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xa1d]
movzx edx, byte [ebp - 0xa0d]
mov al, byte [ebp + ecx - 0x9f4]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xa1d]
mov dl, byte [ebp - 0xab1]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xab1]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx edx, byte [ebp - 0x9fd]
add edx, ecx
mov byte [ebp - 0x9fd], dl
movzx eax, byte [ebp - 0xa5d]
movzx ecx, byte [ebp - 0x8ed]
movzx edx, byte [ebp + ecx - 0x9f4]
movzx ecx, byte [ebp - 0xa1d]
movzx ecx, byte [ebp + ecx - 0x9f4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9f4]
xor eax, edx
movzx ecx, byte [ebp - 0xa0d]
movzx edx, byte [ebp + ecx - 0x9f4]
movzx ecx, byte [ebp - 0x8d9]
movzx ecx, byte [ebp + ecx - 0x9f4]
add edx, ecx
movzx ecx, byte [ebp - 0x9fd]
movzx ecx, byte [ebp + ecx - 0x9f4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp + edx - 0x9f4]
xor eax, ecx
mov byte [ebp - 0xa0d], al
mov dl, byte [ebp - 0xa5d]
mov byte [ebp - 0x8d9], dl
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0xaa1], al
cmp dword [ebp - 0xa8c], 0
jle 0x51aad9
movsx cx, byte [ebp - 0xaa1]
mov edx, dword [ebp - 0xa8c]
mov word [ebp + edx*2 - 0x4a6], cx
jmp 0x51a56f
mov eax, dword [ebp - 0xa88]
add eax, 1
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa8c]
add ecx, 1
mov dword [ebp - 0xa8c], ecx
fld dword [0x9bcf84]
fstp dword [ebp - 0xaa0]
fld dword [0x9bcf80]
fstp dword [ebp - 0xa78]
fld dword [0x9bcf7c]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xa54]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xaa0]
fadd dword [ebp - 0xa54]
fstp dword [ebp - 0xaa0]
fld dword [ebp - 0xa78]
fadd dword [ebp - 0xa54]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xaa0]
fld dword [ebp - 0xa54]
fcompp
fnstsw ax
test ah, 5
jp 0x51abb5
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xaa0]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa54]
fadd dword [ebp - 0xa78]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa78]
fmul dword [ebp - 0xaa0]
fstp dword [ebp - 0xa78]
mov edx, dword [ebp - 0xa88]
add edx, 1
mov dword [ebp - 0xa88], edx
jmp 0x51aca4
fld dword [ebp - 0xaa0]
fdiv dword [ebp - 0xa54]
fstp dword [ebp - 0xaa0]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xaa0]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xaa0]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa54]
fadd dword [ebp - 0xa78]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa78]
fmul dword [ebp - 0xaa0]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xaa0]
fmul dword [ebp - 0xa54]
fstp dword [ebp - 0xaa0]
fld dword [ebp - 0xa78]
fld dword [ebp - 0xaa0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51ac6e
fld dword [ebp - 0xaa0]
fsub dword [ebp - 0xa78]
fstp dword [ebp - 0xaa0]
fld dword [ebp - 0xaa0]
fmul dword [ebp - 0xa78]
fstp dword [ebp - 0xaa0]
fld dword [ebp - 0xa78]
fdiv dword [ebp - 0xa54]
fstp dword [ebp - 0xa78]
jmp 0x51aca4
fld dword [ebp - 0xaa0]
fmul dword [ebp - 0xa54]
fstp dword [ebp - 0xaa0]
fld dword [ebp - 0xa54]
fdiv dword [ebp - 0xa78]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xaa0]
fmul dword [ebp - 0xa54]
fstp dword [ebp - 0xaa0]
mov eax, dword [ebp - 0xa8c]
shl eax, 1
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0x8e4]
add ecx, dword [ebp - 0xa38]
movzx edx, byte [ecx]
mov dword [ebp - 0xab0], edx
mov dword [ebp - 0xa5c], 0xbe
mov eax, dword [ebp - 0xa8c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0x8e4]
add edx, dword [ebp - 0xa7c]
movzx eax, byte [edx]
mov dword [ebp - 0xac0], eax
fld dword [0x9bcf78]
fstp dword [ebp - 0xa34]
fld dword [0x9bcf74]
fstp dword [ebp - 0xa9c]
fld dword [0x9bcf70]
fstp dword [ebp - 0xa74]
fld dword [0x9bcf6c]
fstp dword [ebp - 0xa50]
fld dword [0x9bcf68]
fstp dword [ebp - 0xa30]
fld dword [ebp - 0xa34]
fsub dword [ebp - 0xa30]
fstp dword [ebp - 0xa34]
fld dword [ebp - 0xa34]
fmul dword [ebp - 0xa30]
fstp dword [ebp - 0xa34]
fld dword [ebp - 0xa74]
fadd dword [ebp - 0xa30]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa50]
fsub dword [ebp - 0xa30]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa74]
fmul dword [ebp - 0xa30]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa74]
fld dword [ebp - 0xa50]
fcompp
fnstsw ax
test ah, 5
jp 0x51ae07
fld dword [ebp - 0xa50]
fadd dword [ebp - 0xa30]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa50]
fsub dword [ebp - 0xa30]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa50]
fadd dword [ebp - 0xa30]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa34]
fmul dword [ebp - 0xa9c]
fstp dword [ebp - 0xa34]
fld dword [ebp - 0xa74]
fadd dword [ebp - 0xa50]
fstp dword [ebp - 0xa74]
mov dword [ebp - 0xaac], 0x98
jmp 0x51ae61
fld dword [ebp - 0xa9c]
fmul dword [ebp - 0xa74]
fstp dword [ebp - 0xa9c]
fld dword [ebp - 0xa34]
fsub dword [ebp - 0xa9c]
fstp dword [ebp - 0xa34]
fld dword [ebp - 0xa50]
fadd dword [ebp - 0xa30]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa74]
fadd dword [ebp - 0xa50]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa9c]
fsub dword [ebp - 0xa74]
fstp dword [ebp - 0xa9c]
mov ecx, dword [ebp - 0xab0]
sub ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0xabc], ecx
mov edx, dword [ebp - 0xac0]
sub edx, dword [ebp - 0xaac]
mov dword [ebp - 0xa3c], edx
fld dword [0x9bcf64]
fstp dword [ebp - 0xa98]
fld dword [0x9bcf60]
fstp dword [ebp - 0xa70]
fld dword [0x9bcf5c]
fstp dword [ebp - 0xa80]
fld dword [0x9bcf58]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa98]
fadd dword [ebp - 0xa58]
fstp dword [ebp - 0xa98]
fld dword [ebp - 0xa80]
fadd dword [ebp - 0xa58]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa98]
fadd dword [ebp - 0xa58]
fstp dword [ebp - 0xa98]
fld dword [ebp - 0xa80]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa98]
fld dword [ebp - 0xa58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51b04f
fld dword [ebp - 0xa80]
fmul dword [ebp - 0xa58]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa98]
fsub dword [ebp - 0xa70]
fstp dword [ebp - 0xa98]
fld dword [ebp - 0xa98]
fdiv dword [ebp - 0xa70]
fstp dword [ebp - 0xa98]
fld dword [ebp - 0xa58]
fadd dword [ebp - 0xa98]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa70]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa70]
fld dword [ebp - 0xa58]
fadd dword [ebp - 0xa70]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa98]
fsub dword [ebp - 0xa80]
fstp dword [ebp - 0xa98]
fld dword [ebp - 0xa58]
fmul dword [ebp - 0xa70]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa70]
fld dword [ebp - 0xa58]
fcompp
fnstsw ax
test ah, 5
jp 0x51b005
fld dword [ebp - 0xa80]
fmul dword [ebp - 0xa98]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa70]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa70]
fld dword [ebp - 0xa80]
fdiv dword [ebp - 0xa98]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa58]
fadd dword [ebp - 0xa70]
fstp dword [ebp - 0xa58]
jmp 0x51b04d
fld dword [ebp - 0xa58]
fdiv dword [ebp - 0xa70]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa58]
fsub dword [ebp - 0xa70]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa98]
fmul dword [ebp - 0xa80]
fstp dword [ebp - 0xa98]
fld dword [ebp - 0xa58]
fadd dword [ebp - 0xa70]
fstp dword [ebp - 0xa58]
jmp 0x51b0a6
fld dword [ebp - 0xa80]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa80]
fmul dword [ebp - 0xa58]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa70]
fadd dword [ebp - 0xa80]
fstp dword [ebp - 0xa70]
fld dword [ebp - 0xa58]
fmul dword [ebp - 0xa98]
fstp dword [ebp - 0xa58]
mov eax, dword [ebp - 0xabc]
shl eax, 4
mov dword [ebp - 0xab8], eax
mov ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0xaa8], ecx
mov edx, dword [ebp - 0xab8]
or edx, dword [ebp - 0xaa8]
mov dword [ebp - 0xa84], edx
mov al, byte [ebp - 0xa84]
mov byte [ebp - 0xa5d], al
movzx ecx, byte [ebp - 0x8d9]
mov dl, byte [ebp + ecx - 0x9f4]
mov byte [ebp - 0xab1], dl
movzx eax, byte [ebp - 0xa1d]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx edx, byte [ebp - 0x8ed]
add edx, ecx
mov byte [ebp - 0x8ed], dl
mov al, byte [ebp - 0xa1d]
add al, 1
mov byte [ebp - 0xa1d], al
movzx ecx, byte [ebp - 0x8ed]
movzx edx, byte [ebp - 0x8d9]
mov al, byte [ebp + ecx - 0x9f4]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xa0d]
movzx edx, byte [ebp - 0x8ed]
mov al, byte [ebp + ecx - 0x9f4]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xa1d]
movzx edx, byte [ebp - 0xa0d]
mov al, byte [ebp + ecx - 0x9f4]
mov byte [ebp + edx - 0x9f4], al
movzx ecx, byte [ebp - 0xa1d]
mov dl, byte [ebp - 0xab1]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xab1]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx edx, byte [ebp - 0x9fd]
add edx, ecx
mov byte [ebp - 0x9fd], dl
movzx eax, byte [ebp - 0xa5d]
movzx ecx, byte [ebp - 0x8ed]
movzx edx, byte [ebp + ecx - 0x9f4]
movzx ecx, byte [ebp - 0xa1d]
movzx ecx, byte [ebp + ecx - 0x9f4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9f4]
xor eax, edx
movzx ecx, byte [ebp - 0xa0d]
movzx edx, byte [ebp + ecx - 0x9f4]
movzx ecx, byte [ebp - 0x8d9]
movzx ecx, byte [ebp + ecx - 0x9f4]
add edx, ecx
movzx ecx, byte [ebp - 0x9fd]
movzx ecx, byte [ebp + ecx - 0x9f4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp + edx - 0x9f4]
xor eax, ecx
mov byte [ebp - 0xa0d], al
mov dl, byte [ebp - 0xa5d]
mov byte [ebp - 0x8d9], dl
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0xaa1], al
cmp dword [ebp - 0xa8c], 0
jle 0x51b253
movsx cx, byte [ebp - 0xaa1]
mov edx, dword [ebp - 0xa8c]
mov word [ebp + edx*2 - 0x4a6], cx
mov eax, dword [ebp - 0xa88]
add eax, 4
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa8c]
add ecx, 1
mov dword [ebp - 0xb08], ecx
jmp 0x51b282
mov edx, dword [ebp - 0xb08]
add edx, 1
mov dword [ebp - 0xb08], edx
mov eax, dword [ebp - 0xb08]
cmp eax, dword [ebp - 0xa88]
jge 0x51b644
fld qword [0x9bcf50]
fstp qword [ebp - 0xb1c]
fld qword [0x9bcf48]
fstp qword [ebp - 0xb34]
fld qword [0x9bcf40]
fstp qword [ebp - 0xb2c]
fld qword [0x9bcf38]
fstp qword [ebp - 0xb24]
fld qword [0x9bcf30]
fstp qword [ebp - 0xb14]
fld qword [ebp - 0xb2c]
fsub qword [ebp - 0xb14]
fstp qword [ebp - 0xb2c]
fld qword [ebp - 0xb24]
fmul qword [ebp - 0xb14]
fstp qword [ebp - 0xb24]
fld qword [ebp - 0xb24]
fadd qword [ebp - 0xb14]
fstp qword [ebp - 0xb24]
fld qword [ebp - 0xb34]
fmul qword [ebp - 0xb14]
fstp qword [ebp - 0xb34]
fld qword [ebp - 0xb34]
fsub qword [ebp - 0xb14]
fstp qword [ebp - 0xb34]
fld qword [ebp - 0xb34]
fcomp qword [ebp - 0xb14]
fnstsw ax
test ah, 0x41
jne 0x51b3a8
fld qword [ebp - 0xb1c]
fmul qword [ebp - 0xb34]
fstp qword [ebp - 0xb1c]
fld qword [ebp - 0xb2c]
fsub qword [ebp - 0xb24]
fstp qword [ebp - 0xb2c]
fld qword [ebp - 0xb1c]
fsub qword [ebp - 0xb34]
fstp qword [ebp - 0xb1c]
fld qword [ebp - 0xb14]
fmul qword [ebp - 0xb1c]
fstp qword [ebp - 0xb14]
fld qword [ebp - 0xb2c]
fsub qword [ebp - 0xb24]
fstp qword [ebp - 0xb2c]
mov ecx, dword [ebp - 0xa8c]
add ecx, 1
mov dword [ebp - 0xa8c], ecx
jmp 0x51b402
fld qword [ebp - 0xb34]
fadd qword [ebp - 0xb2c]
fstp qword [ebp - 0xb34]
fld qword [ebp - 0xb1c]
fmul qword [ebp - 0xb34]
fstp qword [ebp - 0xb1c]
fld qword [ebp - 0xb24]
fmul qword [ebp - 0xb14]
fstp qword [ebp - 0xb24]
fld qword [ebp - 0xb24]
fdiv qword [ebp - 0xb14]
fstp qword [ebp - 0xb24]
fld qword [ebp - 0xb34]
fdiv qword [ebp - 0xb2c]
fstp qword [ebp - 0xb34]
mov edx, dword [ebp - 0xa8c]
shl edx, 1
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0x8e4]
add eax, dword [ebp - 0xa38]
movzx ecx, byte [eax]
mov dword [ebp - 0xab0], ecx
mov dword [ebp - 0xa5c], 0xbe
mov edx, dword [ebp - 0xa8c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa7c], eax
mov ecx, dword [ebp - 0x8e4]
add ecx, dword [ebp - 0xa7c]
movzx edx, byte [ecx]
mov dword [ebp - 0xac0], edx
mov dword [ebp - 0xaac], 0x98
mov eax, dword [ebp - 0xab0]
sub eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xabc], eax
mov ecx, dword [ebp - 0xac0]
sub ecx, dword [ebp - 0xaac]
mov dword [ebp - 0xa3c], ecx
mov edx, dword [ebp - 0xabc]
shl edx, 4
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xaa8], eax
mov ecx, dword [ebp - 0xab8]
or ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xa84], ecx
mov dl, byte [ebp - 0xa84]
mov byte [ebp - 0xa5d], dl
movzx eax, byte [ebp - 0x8d9]
mov cl, byte [ebp + eax - 0x9f4]
mov byte [ebp - 0xab1], cl
movzx edx, byte [ebp - 0xa1d]
movzx eax, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp - 0x8ed]
add ecx, eax
mov byte [ebp - 0x8ed], cl
mov dl, byte [ebp - 0xa1d]
add dl, 1
mov byte [ebp - 0xa1d], dl
movzx eax, byte [ebp - 0x8ed]
movzx ecx, byte [ebp - 0x8d9]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8ed]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa1d]
movzx ecx, byte [ebp - 0xa0d]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa1d]
mov cl, byte [ebp - 0xab1]
mov byte [ebp + eax - 0x9f4], cl
movzx edx, byte [ebp - 0xab1]
movzx eax, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp - 0x9fd]
add ecx, eax
mov byte [ebp - 0x9fd], cl
movzx edx, byte [ebp - 0xa5d]
movzx eax, byte [ebp - 0x8ed]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx eax, byte [ebp - 0xa1d]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9f4]
xor edx, ecx
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx eax, byte [ebp - 0x8d9]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
movzx eax, byte [ebp - 0x9fd]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9f4]
movzx eax, byte [ebp + ecx - 0x9f4]
xor edx, eax
mov byte [ebp - 0xa0d], dl
mov cl, byte [ebp - 0xa5d]
mov byte [ebp - 0x8d9], cl
mov dl, byte [ebp - 0xa0d]
mov byte [ebp - 0xaa1], dl
cmp dword [ebp - 0xa8c], 0
jle 0x51b63f
movsx ax, byte [ebp - 0xaa1]
mov ecx, dword [ebp - 0xa8c]
mov word [ebp + ecx*2 - 0x4a6], ax
jmp 0x51b273
mov edx, dword [ebp - 0xa88]
add edx, 1
mov dword [ebp - 0xa88], edx
mov eax, dword [ebp - 0xa8c]
add eax, 1
mov dword [ebp - 0xa8c], eax
mov ecx, dword [ebp - 0xa88]
add ecx, 1
mov dword [ebp - 0xa88], ecx
mov edx, dword [ebp - 0xa8c]
shl edx, 1
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0x8e4]
add eax, dword [ebp - 0xa38]
movzx ecx, byte [eax]
mov dword [ebp - 0xab0], ecx
mov dword [ebp - 0xa5c], 0xbe
mov edx, dword [ebp - 0xa8c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa7c], eax
mov ecx, dword [ebp - 0x8e4]
add ecx, dword [ebp - 0xa7c]
movzx edx, byte [ecx]
mov dword [ebp - 0xac0], edx
mov dword [ebp - 0xaac], 0x98
mov eax, dword [ebp - 0xab0]
sub eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xabc], eax
mov ecx, dword [ebp - 0xac0]
sub ecx, dword [ebp - 0xaac]
mov dword [ebp - 0xa3c], ecx
mov edx, dword [ebp - 0xabc]
shl edx, 4
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xaa8], eax
mov ecx, dword [ebp - 0xab8]
or ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xa84], ecx
mov dl, byte [ebp - 0xa84]
mov byte [ebp - 0xa5d], dl
movzx eax, byte [ebp - 0x8d9]
mov cl, byte [ebp + eax - 0x9f4]
mov byte [ebp - 0xab1], cl
movzx edx, byte [ebp - 0xa1d]
movzx eax, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp - 0x8ed]
add ecx, eax
mov byte [ebp - 0x8ed], cl
mov dl, byte [ebp - 0xa1d]
add dl, 1
mov byte [ebp - 0xa1d], dl
movzx eax, byte [ebp - 0x8ed]
movzx ecx, byte [ebp - 0x8d9]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8ed]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa1d]
movzx ecx, byte [ebp - 0xa0d]
mov dl, byte [ebp + eax - 0x9f4]
mov byte [ebp + ecx - 0x9f4], dl
movzx eax, byte [ebp - 0xa1d]
mov cl, byte [ebp - 0xab1]
mov byte [ebp + eax - 0x9f4], cl
movzx edx, byte [ebp - 0xab1]
movzx eax, byte [ebp + edx - 0x9f4]
movzx ecx, byte [ebp - 0x9fd]
add ecx, eax
mov byte [ebp - 0x9fd], cl
movzx edx, byte [ebp - 0xa5d]
movzx eax, byte [ebp - 0x8ed]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx eax, byte [ebp - 0xa1d]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9f4]
xor edx, ecx
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp + eax - 0x9f4]
movzx eax, byte [ebp - 0x8d9]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
movzx eax, byte [ebp - 0x9fd]
movzx eax, byte [ebp + eax - 0x9f4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9f4]
movzx eax, byte [ebp + ecx - 0x9f4]
xor edx, eax
mov byte [ebp - 0xa0d], dl
mov cl, byte [ebp - 0xa5d]
mov byte [ebp - 0x8d9], cl
mov dl, byte [ebp - 0xa0d]
mov byte [ebp - 0xaa1], dl
cmp dword [ebp - 0xa8c], 0
jle 0x51b8ae
movsx ax, byte [ebp - 0xaa1]
mov ecx, dword [ebp - 0xa8c]
mov word [ebp + ecx*2 - 0x4a6], ax
xor edx, edx
mov word [ebp - 0x48e], dx
jmp 0x51b8ef
mov dword [ebp - 0xb38], 0
jmp 0x51b8d4
mov eax, dword [ebp - 0xb38]
add eax, 1
mov dword [ebp - 0xb38], eax
cmp dword [ebp - 0xb38], 0xc
jge 0x51b8ef
xor ecx, ecx
mov edx, dword [ebp - 0xb38]
mov word [ebp + edx*2 - 0x4a4], cx
jmp 0x51b8c5
push 4
call fcn.0094ee5f
add esp, 4
mov dword [ebp - 0xf78], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xf78], 0
je 0x51b926
lea eax, [ebp - 0x4a4]
push eax
mov ecx, dword [ebp - 0xf78]
call fcn.0044db70
mov dword [ebp - 0x107c], eax
jmp 0x51b930
mov dword [ebp - 0x107c], 0
mov ecx, dword [ebp - 0x107c]
mov dword [ebp - 0xf74], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0xf74]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0x6cc], 0
mov dword [ebp - 0x6c8], 0
fldz
fstp qword [ebp - 0x4b4]
fldz
fstp qword [ebp - 0x6dc]
fldz
fstp qword [ebp - 0x6dc]
jmp 0x51b98c
fld qword [ebp - 0x6dc]
fadd qword [0x9ba948]
fstp qword [ebp - 0x6dc]
fld qword [0x9be958]
fcomp qword [ebp - 0x6dc]
fnstsw ax
test ah, 0x41
jne 0x51ba15
fld qword [0x9be950]
fmul qword [ebp - 0x6dc]
fmul qword [ebp - 0x6dc]
fld qword [ebp - 0x6dc]
fmul qword [ebp - 0x6dc]
fsubp st(1)
fld qword [0x9bce10]
fmul qword [ebp - 0x6dc]
fmul qword [ebp - 0x6dc]
fadd qword [0x9be948]
fdivp st(1)
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x4b4]
fld qword [0x9be940]
fcomp qword [ebp - 0x4b4]
fnstsw ax
test ah, 5
jp 0x51ba10
fld qword [0x9be938]
fmul qword [ebp - 0x6dc]
fsubr qword [ebp - 0x4b4]
fstp qword [ebp - 0x4b4]
jmp 0x51b97a
fldz
fcomp qword [ebp - 0x4b4]
fnstsw ax
test ah, 0x41
jne 0x51ba55
and al, 0x44
pop esi
dec edi
outsb dx, byte es:[esi]
push esp
and esi, dword [edx + 0x54]
and al, 0x5e
insd dword es:[edi], dx
inc ebp
cmp bl, byte [ebp + 0x42]
inc edx
pushal
aas
pushal
bound edi, qword ds:[0x3b5a3f66]
pop ebx
cmp al, 0x5e
inc esp
pop edx
inc ebx
pop eax
inc esp
dec ax
pop ecx
cmp eax, 0x26bde9
add bh, al
test dword [ecx + edi*8], esi
invalid
mov dword [ebp - 0x6cc], 0x51ba34
mov dword [ebp - 0x6c8], 0x51ba24
mov eax, dword [ebp - 0x6cc]
mov dword [ebp - 0xb44], eax
mov ecx, dword [ebp - 0x6c8]
mov dword [ebp - 0xb40], ecx
mov byte [ebp - 0xc5d], 0x14
mov dword [ebp - 0xc54], 0
jmp 0x51baa3
mov edx, dword [ebp - 0xc54]
add edx, 1
mov dword [ebp - 0xc54], edx
cmp dword [ebp - 0xc54], 0x100
jae 0x51bac4
mov eax, dword [ebp - 0xc54]
mov cl, byte [ebp - 0xc54]
mov byte [ebp + eax - 0xc4c], cl
jmp 0x51ba94
mov dword [ebp - 0xb48], 0
mov byte [ebp - 0xc5e], 0
mov dword [ebp - 0xc54], 0xff
jmp 0x51baf0
mov edx, dword [ebp - 0xc54]
sub edx, 1
mov dword [ebp - 0xc54], edx
cmp dword [ebp - 0xc54], 0
jbe 0x51be08
mov dword [ebp - 0xc64], 0
mov dword [ebp - 0xc6c], 1
mov eax, dword [ebp - 0xc6c]
cmp eax, dword [ebp - 0xc54]
jae 0x51bb31
mov ecx, dword [ebp - 0xc6c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xc6c], edx
jmp 0x51bb11
mov eax, dword [ebp - 0xb48]
mov dword [ebp - 0x1080], eax
cmp dword [ebp - 0x1080], 3
ja case.default.0x51bb50
mov ecx, dword [ebp - 0x1080]
jmp dword [ecx*4 + 0x51faa4]
movzx edx, byte [ebp - 0xc5e]
movzx ecx, byte [ebp + edx - 0xc4c]
fld qword [ebp - 0x4b4]
fnstcw word [ebp - 0x1082]
movzx eax, word [ebp - 0x1082]
or eax, 0xc00
mov dword [ebp - 0x1088], eax
fldcw word [ebp - 0x1088]
fistp qword [ebp - 0x1090]
fldcw word [ebp - 0x1082]
mov edx, dword [ebp - 0x1090]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xc5e], cl
jmp 0x51bce1
movzx eax, byte [ebp - 0xc5e]
movzx ecx, byte [ebp + eax - 0xc4c]
fld qword [ebp - 0x4b4]
fnstcw word [ebp - 0x1092]
movzx eax, word [ebp - 0x1092]
or eax, 0xc00
mov dword [ebp - 0x1098], eax
fldcw word [ebp - 0x1098]
fistp qword [ebp - 0x10a0]
fldcw word [ebp - 0x1092]
mov edx, dword [ebp - 0x10a0]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xc5e], cl
jmp 0x51bce1
movzx eax, byte [ebp - 0xc5e]
movzx ecx, byte [ebp + eax - 0xc4c]
fld qword [ebp - 0x4b4]
fnstcw word [ebp - 0x10a2]
movzx eax, word [ebp - 0x10a2]
or eax, 0xc00
mov dword [ebp - 0x10a8], eax
fldcw word [ebp - 0x10a8]
fistp qword [ebp - 0x10b0]
fldcw word [ebp - 0x10a2]
mov edx, dword [ebp - 0x10b0]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xc5e], cl
jmp 0x51bce1
movzx eax, byte [ebp - 0xc5e]
movzx ecx, byte [ebp + eax - 0xc4c]
fld qword [ebp - 0x4b4]
fnstcw word [ebp - 0x10b2]
movzx eax, word [ebp - 0x10b2]
or eax, 0xc00
mov dword [ebp - 0x10b8], eax
fldcw word [ebp - 0x10b8]
fistp qword [ebp - 0x10c0]
fldcw word [ebp - 0x10b2]
mov edx, dword [ebp - 0x10c0]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xc5e], cl
jmp 0x51bce1
movzx eax, byte [ebp - 0xc5e]
movzx ecx, byte [ebp + eax - 0xc4c]
mov edx, dword [ebp - 0xb40]
add edx, dword [ebp - 0xb48]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xc5e], cl
mov ecx, dword [ebp - 0xb48]
add ecx, 1
mov dword [ebp - 0xb48], ecx
movzx edx, byte [ebp - 0xc5d]
cmp dword [ebp - 0xb48], edx
jb 0x51bd1f
mov dword [ebp - 0xb48], 0
movzx eax, byte [ebp - 0xc5d]
movzx ecx, byte [ebp - 0xc5e]
add ecx, eax
mov byte [ebp - 0xc5e], cl
movzx edx, byte [ebp - 0xc5e]
and edx, dword [ebp - 0xc6c]
mov dword [ebp - 0xc68], edx
mov eax, dword [ebp - 0xc64]
add eax, 1
mov dword [ebp - 0xc64], eax
cmp dword [ebp - 0xc64], 0xb
jbe 0x51bd5e
mov eax, dword [ebp - 0xc68]
xor edx, edx
div dword [ebp - 0xc54]
mov dword [ebp - 0xc68], edx
mov ecx, dword [ebp - 0xc68]
cmp ecx, dword [ebp - 0xc54]
ja 0x51bb31
mov edx, dword [ebp - 0xc54]
cmp edx, dword [ebp - 0xc68]
je 0x51be03
mov eax, dword [ebp - 0xc68]
movzx ecx, byte [ebp + eax - 0xc4c]
mov edx, dword [ebp - 0xc54]
movzx eax, byte [ebp + edx - 0xc4c]
xor eax, ecx
mov ecx, dword [ebp - 0xc54]
mov byte [ebp + ecx - 0xc4c], al
mov edx, dword [ebp - 0xc54]
movzx eax, byte [ebp + edx - 0xc4c]
mov ecx, dword [ebp - 0xc68]
movzx edx, byte [ebp + ecx - 0xc4c]
xor edx, eax
mov eax, dword [ebp - 0xc68]
mov byte [ebp + eax - 0xc4c], dl
mov ecx, dword [ebp - 0xc68]
movzx edx, byte [ebp + ecx - 0xc4c]
mov eax, dword [ebp - 0xc54]
movzx ecx, byte [ebp + eax - 0xc4c]
xor ecx, edx
mov edx, dword [ebp - 0xc54]
mov byte [ebp + edx - 0xc4c], cl
jmp 0x51bae1
mov al, byte [ebp - 0xc4b]
mov byte [ebp - 0xc5f], al
mov cl, byte [ebp - 0xc49]
mov byte [ebp - 0xb49], cl
mov dl, byte [ebp - 0xc47]
mov byte [ebp - 0xc4d], dl
mov al, byte [ebp - 0xc45]
mov byte [ebp - 0xc55], al
movzx ecx, byte [ebp - 0xc5e]
mov dl, byte [ebp + ecx - 0xc4c]
mov byte [ebp - 0xb39], dl
mov dword [ebp - 0xc5c], 0x1c
cmp dword [ebp - 0xc5c], 2
jle 0x51e0de
mov eax, dword [ebp - 0xc5c]
and eax, 1
jne 0x51e0de
mov dword [ebp - 0xd08], 0
mov dword [ebp - 0xd04], 0
mov ecx, dword [ebp - 0xd04]
add ecx, 1
mov dword [ebp - 0xd04], ecx
mov dword [ebp - 0xc78], 0
mov edx, dword [ebp - 0xd08]
shl edx, 1
mov dword [ebp - 0xc78], edx
mov dword [ebp - 0xd30], 0
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xc78]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0xd30]
mov dword [ebp - 0xd30], ecx
mov dword [ebp - 0xcc4], 0
mov edx, dword [ebp - 0xcc4]
add edx, 0x57
mov dword [ebp - 0xcc4], edx
mov dword [ebp - 0xce4], 0
mov eax, dword [ebp - 0xd08]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xce4], ecx
mov dword [ebp - 0xd54], 0
mov edx, dword [ebp - 0xb44]
add edx, dword [ebp - 0xce4]
movzx eax, byte [edx]
add eax, dword [ebp - 0xd54]
mov dword [ebp - 0xd54], eax
mov dword [ebp - 0xd2c], 0
mov ecx, dword [ebp - 0xd2c]
add ecx, 0x3a
mov dword [ebp - 0xd2c], ecx
mov dword [ebp - 0xd50], 0
mov edx, dword [ebp - 0xd30]
sub edx, dword [ebp - 0xcc4]
add edx, dword [ebp - 0xd50]
mov dword [ebp - 0xd50], edx
mov dword [ebp - 0xc90], 0
mov eax, dword [ebp - 0xd54]
sub eax, dword [ebp - 0xd2c]
add eax, dword [ebp - 0xc90]
mov dword [ebp - 0xc90], eax
mov dword [ebp - 0xd4c], 0
mov ecx, dword [ebp - 0xd50]
shl ecx, 4
mov dword [ebp - 0xd4c], ecx
mov dword [ebp - 0xd28], 0
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], edx
mov dword [ebp - 0xd00], 0
mov eax, dword [ebp - 0xd4c]
or eax, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], eax
mov byte [ebp - 0xccd], 0
mov cl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], cl
mov byte [ebp - 0xd45], 0
movzx edx, byte [ebp - 0xb39]
mov al, byte [ebp + edx - 0xc4c]
mov byte [ebp - 0xd45], al
movzx ecx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xb49]
add eax, edx
mov byte [ebp - 0xb49], al
mov cl, byte [ebp - 0xc5f]
add cl, 1
mov byte [ebp - 0xc5f], cl
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp - 0xb49]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp - 0xc55]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
mov al, byte [ebp - 0xd45]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xd45]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xc4d]
add eax, edx
mov byte [ebp - 0xc4d], al
movzx ecx, byte [ebp - 0xccd]
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
xor ecx, eax
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xb39]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
movzx edx, byte [ebp - 0xc4d]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp + eax - 0xc4c]
xor ecx, edx
mov byte [ebp - 0xc55], cl
mov al, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], al
mov cl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], cl
cmp dword [ebp - 0xd08], 0
jle 0x51c16b
mov edx, dword [ebp - 0xd08]
mov al, byte [ebp - 0xd21]
mov byte [ebp + edx - 0x6ed], al
mov ecx, dword [ebp - 0xd08]
add ecx, 1
mov dword [ebp - 0xd08], ecx
mov edx, dword [ebp - 0xd04]
add edx, 1
mov dword [ebp - 0xd04], edx
mov eax, dword [ebp - 0xd08]
shl eax, 1
mov dword [ebp - 0xc78], eax
mov ecx, dword [ebp - 0xb44]
add ecx, dword [ebp - 0xc78]
movzx edx, byte [ecx]
mov dword [ebp - 0xd30], edx
mov dword [ebp - 0xcc4], 0x57
mov eax, dword [ebp - 0xd08]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xce4], ecx
mov edx, dword [ebp - 0xb44]
add edx, dword [ebp - 0xce4]
movzx eax, byte [edx]
mov dword [ebp - 0xd54], eax
mov dword [ebp - 0xd2c], 0x3a
mov ecx, dword [ebp - 0xd30]
sub ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], ecx
mov edx, dword [ebp - 0xd54]
sub edx, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], edx
fld dword [0x9be934]
fstp dword [ebp - 0xd20]
fld dword [0x9be930]
fstp dword [ebp - 0xcf0]
fld dword [0x9be92c]
fstp dword [ebp - 0xcc0]
fld dword [0x9be928]
fstp dword [ebp - 0xc8c]
fld dword [ebp - 0xcc0]
fmul dword [ebp - 0xc8c]
fstp dword [ebp - 0xcc0]
fld dword [ebp - 0xcf0]
fmul dword [ebp - 0xc8c]
fstp dword [ebp - 0xcf0]
fld dword [ebp - 0xcf0]
fsub dword [ebp - 0xc8c]
fstp dword [ebp - 0xcf0]
fld dword [ebp - 0xcc0]
fmul dword [ebp - 0xc8c]
fstp dword [ebp - 0xcc0]
fld dword [ebp - 0xc8c]
fld dword [ebp - 0xcc0]
fcompp
fnstsw ax
test ah, 5
jp 0x51c2e0
fld dword [ebp - 0xd20]
fadd dword [ebp - 0xcc0]
fstp dword [ebp - 0xd20]
fld dword [ebp - 0xcc0]
fmul dword [ebp - 0xd20]
fstp dword [ebp - 0xcc0]
fld dword [ebp - 0xd20]
fsub dword [ebp - 0xcc0]
fstp dword [ebp - 0xd20]
fld dword [ebp - 0xcf0]
fsub dword [ebp - 0xc8c]
fstp dword [ebp - 0xcf0]
jmp 0x51c337
fld dword [ebp - 0xcc0]
fsub dword [ebp - 0xc8c]
fstp dword [ebp - 0xcc0]
fld dword [ebp - 0xc8c]
fmul dword [ebp - 0xd20]
fstp dword [ebp - 0xc8c]
fld dword [ebp - 0xd20]
fmul dword [ebp - 0xcf0]
fstp dword [ebp - 0xd20]
fld dword [ebp - 0xcf0]
fmul dword [ebp - 0xcc0]
fstp dword [ebp - 0xcf0]
mov eax, dword [ebp - 0xd50]
shl eax, 4
mov dword [ebp - 0xd4c], eax
mov ecx, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], ecx
mov edx, dword [ebp - 0xd4c]
or edx, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], edx
mov al, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], al
movzx ecx, byte [ebp - 0xb39]
mov dl, byte [ebp + ecx - 0xc4c]
mov byte [ebp - 0xd45], dl
movzx eax, byte [ebp - 0xc5f]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp - 0xb49]
add edx, ecx
mov byte [ebp - 0xb49], dl
mov al, byte [ebp - 0xc5f]
add al, 1
mov byte [ebp - 0xc5f], al
movzx ecx, byte [ebp - 0xb49]
movzx edx, byte [ebp - 0xb39]
mov al, byte [ebp + ecx - 0xc4c]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xc55]
movzx edx, byte [ebp - 0xb49]
mov al, byte [ebp + ecx - 0xc4c]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xc5f]
movzx edx, byte [ebp - 0xc55]
mov al, byte [ebp + ecx - 0xc4c]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xc5f]
mov dl, byte [ebp - 0xd45]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xd45]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp - 0xc4d]
add edx, ecx
mov byte [ebp - 0xc4d], dl
movzx eax, byte [ebp - 0xccd]
movzx ecx, byte [ebp - 0xb49]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx ecx, byte [ebp - 0xc5f]
movzx ecx, byte [ebp + ecx - 0xc4c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc4c]
xor eax, edx
movzx ecx, byte [ebp - 0xc55]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx ecx, byte [ebp - 0xb39]
movzx ecx, byte [ebp + ecx - 0xc4c]
add edx, ecx
movzx ecx, byte [ebp - 0xc4d]
movzx ecx, byte [ebp + ecx - 0xc4c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp + edx - 0xc4c]
xor eax, ecx
mov byte [ebp - 0xc55], al
mov dl, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], dl
mov al, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], al
cmp dword [ebp - 0xd08], 0
jle 0x51c4e1
mov ecx, dword [ebp - 0xd08]
mov dl, byte [ebp - 0xd21]
mov byte [ebp + ecx - 0x6ed], dl
mov eax, dword [ebp - 0xd08]
add eax, 1
mov dword [ebp - 0xd08], eax
mov ecx, dword [ebp - 0xd04]
add ecx, 1
mov dword [ebp - 0xd04], ecx
mov edx, dword [ebp - 0xd08]
shl edx, 1
mov dword [ebp - 0xc78], edx
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xc78]
movzx ecx, byte [eax]
mov dword [ebp - 0xd30], ecx
mov dword [ebp - 0xcc4], 0x57
mov edx, dword [ebp - 0xd08]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xce4], eax
mov ecx, dword [ebp - 0xb44]
add ecx, dword [ebp - 0xce4]
movzx edx, byte [ecx]
mov dword [ebp - 0xd54], edx
mov dword [ebp - 0xd2c], 0x3a
mov eax, dword [ebp - 0xd30]
sub eax, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], eax
mov ecx, dword [ebp - 0xd54]
sub ecx, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], ecx
mov edx, dword [ebp - 0xd50]
shl edx, 4
mov dword [ebp - 0xd4c], edx
mov eax, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], eax
mov ecx, dword [ebp - 0xd4c]
or ecx, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], ecx
mov dl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], dl
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + eax - 0xc4c]
mov byte [ebp - 0xd45], cl
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp - 0xb49]
add ecx, eax
mov byte [ebp - 0xb49], cl
mov dl, byte [ebp - 0xc5f]
add dl, 1
mov byte [ebp - 0xc5f], dl
movzx eax, byte [ebp - 0xb49]
movzx ecx, byte [ebp - 0xb39]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc55]
movzx ecx, byte [ebp - 0xb49]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc5f]
movzx ecx, byte [ebp - 0xc55]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc5f]
mov cl, byte [ebp - 0xd45]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xd45]
movzx eax, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp - 0xc4d]
add ecx, eax
mov byte [ebp - 0xc4d], cl
movzx edx, byte [ebp - 0xccd]
movzx eax, byte [ebp - 0xb49]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx eax, byte [ebp - 0xc5f]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc4c]
xor edx, ecx
movzx eax, byte [ebp - 0xc55]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx eax, byte [ebp - 0xb39]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
movzx eax, byte [ebp - 0xc4d]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp + ecx - 0xc4c]
xor edx, eax
mov byte [ebp - 0xc55], dl
mov cl, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], cl
mov dl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], dl
cmp dword [ebp - 0xd08], 0
jle 0x51c739
mov eax, dword [ebp - 0xd08]
mov cl, byte [ebp - 0xd21]
mov byte [ebp + eax - 0x6ed], cl
mov edx, dword [ebp - 0xd04]
add edx, 3
mov dword [ebp - 0xd04], edx
mov eax, dword [ebp - 0xd08]
add eax, 1
mov dword [ebp - 0xd58], eax
jmp 0x51c768
mov ecx, dword [ebp - 0xd58]
add ecx, 1
mov dword [ebp - 0xd58], ecx
mov edx, dword [ebp - 0xd58]
cmp edx, dword [ebp - 0xd04]
jge 0x51c9c6
mov eax, dword [ebp - 0xd08]
add eax, 1
mov dword [ebp - 0xd08], eax
mov ecx, dword [ebp - 0xd08]
shl ecx, 1
mov dword [ebp - 0xc78], ecx
mov edx, dword [ebp - 0xb44]
add edx, dword [ebp - 0xc78]
movzx eax, byte [edx]
mov dword [ebp - 0xd30], eax
mov dword [ebp - 0xcc4], 0x57
mov ecx, dword [ebp - 0xd08]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xce4], edx
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xce4]
movzx ecx, byte [eax]
mov dword [ebp - 0xd54], ecx
mov dword [ebp - 0xd2c], 0x3a
mov edx, dword [ebp - 0xd30]
sub edx, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], edx
mov eax, dword [ebp - 0xd54]
sub eax, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], eax
mov ecx, dword [ebp - 0xd50]
shl ecx, 4
mov dword [ebp - 0xd4c], ecx
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], edx
mov eax, dword [ebp - 0xd4c]
or eax, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], eax
mov cl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], cl
movzx edx, byte [ebp - 0xb39]
mov al, byte [ebp + edx - 0xc4c]
mov byte [ebp - 0xd45], al
movzx ecx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xb49]
add eax, edx
mov byte [ebp - 0xb49], al
mov cl, byte [ebp - 0xc5f]
add cl, 1
mov byte [ebp - 0xc5f], cl
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp - 0xb49]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp - 0xc55]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
mov al, byte [ebp - 0xd45]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xd45]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xc4d]
add eax, edx
mov byte [ebp - 0xc4d], al
movzx ecx, byte [ebp - 0xccd]
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
xor ecx, eax
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xb39]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
movzx edx, byte [ebp - 0xc4d]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp + eax - 0xc4c]
xor ecx, edx
mov byte [ebp - 0xc55], cl
mov al, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], al
mov cl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], cl
cmp dword [ebp - 0xd08], 0
jle 0x51c9c1
mov edx, dword [ebp - 0xd08]
mov al, byte [ebp - 0xd21]
mov byte [ebp + edx - 0x6ed], al
jmp 0x51c759
mov ecx, dword [ebp - 0xd04]
add ecx, 1
mov dword [ebp - 0xd04], ecx
mov edx, dword [ebp - 0xd08]
add edx, 1
mov dword [ebp - 0xd08], edx
fld dword [0x9be924]
fstp dword [ebp - 0xcbc]
fld dword [0x9be920]
fstp dword [ebp - 0xcec]
fld dword [0x9be91c]
fstp dword [ebp - 0xd1c]
fld dword [0x9bc410]
fstp dword [ebp - 0xc88]
fld dword [0x9be918]
fstp dword [ebp - 0xcb8]
fld dword [0x9be914]
fstp dword [ebp - 0xce8]
fld dword [0x9be910]
fstp dword [ebp - 0xd18]
fld dword [ebp - 0xce8]
fmul dword [ebp - 0xd18]
fstp dword [ebp - 0xce8]
fld dword [ebp - 0xcbc]
fmul dword [ebp - 0xd18]
fstp dword [ebp - 0xcbc]
fld dword [ebp - 0xc88]
fsub dword [ebp - 0xd18]
fstp dword [ebp - 0xc88]
fld dword [ebp - 0xcec]
fmul dword [ebp - 0xd18]
fstp dword [ebp - 0xcec]
fld dword [ebp - 0xce8]
fadd dword [ebp - 0xd18]
fstp dword [ebp - 0xce8]
fld dword [ebp - 0xd1c]
fadd dword [ebp - 0xd18]
fstp dword [ebp - 0xd1c]
fld dword [ebp - 0xc88]
fsub dword [ebp - 0xd18]
fstp dword [ebp - 0xc88]
fld dword [ebp - 0xd18]
fld dword [ebp - 0xcbc]
fcompp
fnstsw ax
test ah, 5
jp 0x51cb52
fld dword [ebp - 0xcbc]
fmul dword [ebp - 0xcec]
fstp dword [ebp - 0xcbc]
fld dword [ebp - 0xcec]
fsub dword [ebp - 0xd1c]
fstp dword [ebp - 0xcec]
fld dword [ebp - 0xd18]
fmul dword [ebp - 0xcbc]
fstp dword [ebp - 0xd18]
fld dword [ebp - 0xcbc]
fadd dword [ebp - 0xcec]
fstp dword [ebp - 0xcbc]
fld dword [ebp - 0xce8]
fdiv dword [ebp - 0xd18]
fstp dword [ebp - 0xce8]
fld dword [ebp - 0xcb8]
fdiv dword [ebp - 0xce8]
fstp dword [ebp - 0xcb8]
fld dword [ebp - 0xcb8]
fmul dword [ebp - 0xce8]
fstp dword [ebp - 0xcb8]
jmp 0x51cbdf
fld dword [ebp - 0xce8]
fmul dword [ebp - 0xcbc]
fstp dword [ebp - 0xce8]
fld dword [ebp - 0xd1c]
fsub dword [ebp - 0xcb8]
fstp dword [ebp - 0xd1c]
fld dword [ebp - 0xd18]
fsub dword [ebp - 0xcec]
fstp dword [ebp - 0xd18]
fld dword [ebp - 0xce8]
fadd dword [ebp - 0xcbc]
fstp dword [ebp - 0xce8]
fld dword [ebp - 0xcb8]
fmul dword [ebp - 0xd18]
fstp dword [ebp - 0xcb8]
fld dword [ebp - 0xd1c]
fmul dword [ebp - 0xcb8]
fstp dword [ebp - 0xd1c]
fld dword [ebp - 0xc88]
fadd dword [ebp - 0xce8]
fstp dword [ebp - 0xc88]
mov eax, dword [ebp - 0xd04]
add eax, 1
mov dword [ebp - 0xd04], eax
mov ecx, dword [ebp - 0xd08]
shl ecx, 1
mov dword [ebp - 0xc78], ecx
mov edx, dword [ebp - 0xb44]
add edx, dword [ebp - 0xc78]
movzx eax, byte [edx]
mov dword [ebp - 0xd30], eax
mov dword [ebp - 0xcc4], 0x57
mov ecx, dword [ebp - 0xd08]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xce4], edx
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xce4]
movzx ecx, byte [eax]
mov dword [ebp - 0xd54], ecx
mov dword [ebp - 0xd2c], 0x3a
mov edx, dword [ebp - 0xd30]
sub edx, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], edx
mov eax, dword [ebp - 0xd54]
sub eax, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], eax
mov ecx, dword [ebp - 0xd50]
shl ecx, 4
mov dword [ebp - 0xd4c], ecx
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], edx
mov eax, dword [ebp - 0xd4c]
or eax, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], eax
mov cl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], cl
movzx edx, byte [ebp - 0xb39]
mov al, byte [ebp + edx - 0xc4c]
mov byte [ebp - 0xd45], al
movzx ecx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xb49]
add eax, edx
mov byte [ebp - 0xb49], al
mov cl, byte [ebp - 0xc5f]
add cl, 1
mov byte [ebp - 0xc5f], cl
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp - 0xb49]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp - 0xc55]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
mov al, byte [ebp - 0xd45]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xd45]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xc4d]
add eax, edx
mov byte [ebp - 0xc4d], al
movzx ecx, byte [ebp - 0xccd]
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
xor ecx, eax
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xb39]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
movzx edx, byte [ebp - 0xc4d]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp + eax - 0xc4c]
xor ecx, edx
mov byte [ebp - 0xc55], cl
mov al, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], al
mov cl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], cl
cmp dword [ebp - 0xd08], 0
jle 0x51ce17
mov edx, dword [ebp - 0xd08]
mov al, byte [ebp - 0xd21]
mov byte [ebp + edx - 0x6ed], al
mov ecx, dword [ebp - 0xd08]
add ecx, 1
mov dword [ebp - 0xd08], ecx
mov edx, dword [ebp - 0xd04]
add edx, 1
mov dword [ebp - 0xd04], edx
mov eax, dword [ebp - 0xd08]
shl eax, 1
mov dword [ebp - 0xc78], eax
mov ecx, dword [ebp - 0xb44]
add ecx, dword [ebp - 0xc78]
movzx edx, byte [ecx]
mov dword [ebp - 0xd30], edx
mov dword [ebp - 0xcc4], 0x57
mov eax, dword [ebp - 0xd08]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xce4], ecx
mov edx, dword [ebp - 0xb44]
add edx, dword [ebp - 0xce4]
movzx eax, byte [edx]
mov dword [ebp - 0xd54], eax
mov dword [ebp - 0xd2c], 0x3a
mov ecx, dword [ebp - 0xd30]
sub ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], ecx
mov edx, dword [ebp - 0xd54]
sub edx, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], edx
mov eax, dword [ebp - 0xd50]
shl eax, 4
mov dword [ebp - 0xd4c], eax
mov ecx, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], ecx
mov edx, dword [ebp - 0xd4c]
or edx, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], edx
mov al, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], al
movzx ecx, byte [ebp - 0xb39]
mov dl, byte [ebp + ecx - 0xc4c]
mov byte [ebp - 0xd45], dl
movzx eax, byte [ebp - 0xc5f]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp - 0xb49]
add edx, ecx
mov byte [ebp - 0xb49], dl
mov al, byte [ebp - 0xc5f]
add al, 1
mov byte [ebp - 0xc5f], al
fld qword [0x9be908]
fstp qword [ebp - 0xc84]
fld qword [0x9be900]
fstp qword [ebp - 0xcb4]
fld qword [0x9be8f8]
fstp qword [ebp - 0xd44]
fld qword [0x9be8f0]
fstp qword [ebp - 0xc9c]
fld qword [0x9be8e8]
fstp qword [ebp - 0xccc]
fld qword [0x9be8e0]
fstp qword [ebp - 0xcfc]
fld qword [0x9be8d8]
fstp qword [ebp - 0xd3c]
fld qword [ebp - 0xccc]
fsub qword [ebp - 0xd3c]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xccc]
fmul qword [ebp - 0xd3c]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xd44]
fadd qword [ebp - 0xd3c]
fstp qword [ebp - 0xd44]
fld qword [ebp - 0xd44]
fsub qword [ebp - 0xd3c]
fstp qword [ebp - 0xd44]
fld qword [ebp - 0xcb4]
fsub qword [ebp - 0xd3c]
fstp qword [ebp - 0xcb4]
fld qword [ebp - 0xcb4]
fsub qword [ebp - 0xd3c]
fstp qword [ebp - 0xcb4]
fld qword [ebp - 0xc9c]
fadd qword [ebp - 0xd3c]
fstp qword [ebp - 0xc9c]
fld qword [ebp - 0xd3c]
fcomp qword [ebp - 0xccc]
fnstsw ax
test ah, 5
jp 0x51d0b6
fld qword [ebp - 0xccc]
fsub qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xcb4]
fmul qword [ebp - 0xd44]
fstp qword [ebp - 0xcb4]
fld qword [ebp - 0xd44]
fsub qword [ebp - 0xc9c]
fstp qword [ebp - 0xd44]
fld qword [ebp - 0xc9c]
fsub qword [ebp - 0xccc]
fstp qword [ebp - 0xc9c]
fld qword [ebp - 0xccc]
fmul qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xcfc]
fadd qword [ebp - 0xd3c]
fstp qword [ebp - 0xcfc]
fld qword [ebp - 0xd44]
fadd qword [ebp - 0xc9c]
fstp qword [ebp - 0xd44]
movzx ecx, byte [ebp - 0xb49]
movzx edx, byte [ebp - 0xb39]
mov al, byte [ebp + ecx - 0xc4c]
mov byte [ebp + edx - 0xc4c], al
jmp 0x51d2c7
fld qword [ebp - 0xd44]
fmul qword [ebp - 0xc9c]
fstp qword [ebp - 0xd44]
fld qword [ebp - 0xccc]
fdiv qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xd3c]
fmul qword [ebp - 0xc84]
fstp qword [ebp - 0xd3c]
fld qword [ebp - 0xc9c]
fsub qword [ebp - 0xccc]
fstp qword [ebp - 0xc9c]
fld qword [ebp - 0xcfc]
fdiv qword [ebp - 0xd3c]
fstp qword [ebp - 0xcfc]
fld qword [ebp - 0xd44]
fsub qword [ebp - 0xc9c]
fstp qword [ebp - 0xd44]
fld qword [ebp - 0xccc]
fadd qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xcb4]
fmul qword [ebp - 0xc9c]
fstp qword [ebp - 0xcb4]
fld qword [ebp - 0xd3c]
fsub qword [ebp - 0xcb4]
fstp qword [ebp - 0xd3c]
fld qword [ebp - 0xc84]
fadd qword [ebp - 0xd44]
fstp qword [ebp - 0xc84]
fld qword [ebp - 0xd44]
fmul qword [ebp - 0xccc]
fstp qword [ebp - 0xd44]
fld qword [ebp - 0xc9c]
fdiv qword [ebp - 0xcfc]
fstp qword [ebp - 0xc9c]
fld qword [ebp - 0xd3c]
fadd qword [ebp - 0xcb4]
fstp qword [ebp - 0xd3c]
fld qword [ebp - 0xcb4]
fdiv qword [ebp - 0xc9c]
fstp qword [ebp - 0xcb4]
fld qword [ebp - 0xcb4]
fcomp qword [ebp - 0xd3c]
fnstsw ax
test ah, 5
jp 0x51d249
fld qword [ebp - 0xccc]
fadd qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xc84]
fmul qword [ebp - 0xcb4]
fstp qword [ebp - 0xc84]
fld qword [ebp - 0xcfc]
fadd qword [ebp - 0xd3c]
fstp qword [ebp - 0xcfc]
fld qword [ebp - 0xccc]
fsub qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xc9c]
fdiv qword [ebp - 0xccc]
fstp qword [ebp - 0xc9c]
fld qword [ebp - 0xd3c]
fmul qword [ebp - 0xc84]
fstp qword [ebp - 0xd3c]
fld qword [ebp - 0xc84]
fadd qword [ebp - 0xcb4]
fstp qword [ebp - 0xc84]
jmp 0x51d2c7
fld qword [ebp - 0xc9c]
fmul qword [ebp - 0xccc]
fstp qword [ebp - 0xc9c]
fld qword [ebp - 0xcfc]
fsub qword [ebp - 0xd3c]
fstp qword [ebp - 0xcfc]
fld qword [ebp - 0xc84]
fmul qword [ebp - 0xcb4]
fstp qword [ebp - 0xc84]
fld qword [ebp - 0xccc]
fadd qword [ebp - 0xcfc]
fstp qword [ebp - 0xccc]
fld qword [ebp - 0xc84]
fadd qword [ebp - 0xcb4]
fstp qword [ebp - 0xc84]
fld qword [ebp - 0xc84]
fdiv qword [ebp - 0xcb4]
fstp qword [ebp - 0xc84]
fld qword [ebp - 0xcb4]
fsub qword [ebp - 0xd44]
fstp qword [ebp - 0xcb4]
movzx ecx, byte [ebp - 0xc55]
movzx edx, byte [ebp - 0xb49]
mov al, byte [ebp + ecx - 0xc4c]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xc5f]
movzx edx, byte [ebp - 0xc55]
mov al, byte [ebp + ecx - 0xc4c]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xc5f]
mov dl, byte [ebp - 0xd45]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xd45]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp - 0xc4d]
add edx, ecx
mov byte [ebp - 0xc4d], dl
movzx eax, byte [ebp - 0xccd]
movzx ecx, byte [ebp - 0xb49]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx ecx, byte [ebp - 0xc5f]
movzx ecx, byte [ebp + ecx - 0xc4c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc4c]
xor eax, edx
movzx ecx, byte [ebp - 0xc55]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx ecx, byte [ebp - 0xb39]
movzx ecx, byte [ebp + ecx - 0xc4c]
add edx, ecx
movzx ecx, byte [ebp - 0xc4d]
movzx ecx, byte [ebp + ecx - 0xc4c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp + edx - 0xc4c]
xor eax, ecx
mov byte [ebp - 0xc55], al
mov dl, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], dl
mov al, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], al
cmp dword [ebp - 0xd08], 0
jle 0x51d3eb
mov ecx, dword [ebp - 0xd08]
mov dl, byte [ebp - 0xd21]
mov byte [ebp + ecx - 0x6ed], dl
mov eax, dword [ebp - 0xd04]
add eax, 4
mov dword [ebp - 0xd04], eax
mov ecx, dword [ebp - 0xd08]
add ecx, 1
mov dword [ebp - 0xd5c], ecx
jmp 0x51d41a
mov edx, dword [ebp - 0xd5c]
add edx, 1
mov dword [ebp - 0xd5c], edx
mov eax, dword [ebp - 0xd5c]
cmp eax, dword [ebp - 0xd04]
jge 0x51d888
mov ecx, dword [ebp - 0xd08]
add ecx, 1
mov dword [ebp - 0xd08], ecx
mov edx, dword [ebp - 0xd08]
shl edx, 1
mov dword [ebp - 0xc78], edx
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xc78]
movzx ecx, byte [eax]
mov dword [ebp - 0xd30], ecx
mov dword [ebp - 0xcc4], 0x57
mov edx, dword [ebp - 0xd08]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xce4], eax
mov ecx, dword [ebp - 0xb44]
add ecx, dword [ebp - 0xce4]
movzx edx, byte [ecx]
mov dword [ebp - 0xd54], edx
mov dword [ebp - 0xd2c], 0x3a
mov eax, dword [ebp - 0xd30]
sub eax, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], eax
mov ecx, dword [ebp - 0xd54]
sub ecx, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], ecx
mov edx, dword [ebp - 0xd50]
shl edx, 4
mov dword [ebp - 0xd4c], edx
mov eax, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], eax
mov ecx, dword [ebp - 0xd4c]
or ecx, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], ecx
mov dl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], dl
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + eax - 0xc4c]
mov byte [ebp - 0xd45], cl
fld qword [0x9be8d0]
fstp qword [ebp - 0xd64]
fld qword [0x9be8c8]
fstp qword [ebp - 0xd6c]
fld qword [0x9be8c0]
fstp qword [ebp - 0xd74]
fld qword [0x9be8b8]
fstp qword [ebp - 0xd7c]
fld qword [ebp - 0xd74]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd74]
fld qword [ebp - 0xd64]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd64]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd6c]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd7c]
fcomp qword [ebp - 0xd64]
fnstsw ax
test ah, 0x41
jne 0x51d6ce
fld qword [ebp - 0xd64]
fadd qword [ebp - 0xd74]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd64]
fmul qword [ebp - 0xd74]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd74]
fadd qword [ebp - 0xd64]
fstp qword [ebp - 0xd74]
fld qword [ebp - 0xd7c]
fdiv qword [ebp - 0xd6c]
fstp qword [ebp - 0xd7c]
fld qword [ebp - 0xd74]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd74]
fld qword [ebp - 0xd74]
fdiv qword [ebp - 0xd7c]
fstp qword [ebp - 0xd74]
fld qword [ebp - 0xd7c]
fdiv qword [ebp - 0xd64]
fstp qword [ebp - 0xd7c]
fld qword [ebp - 0xd64]
fdiv qword [ebp - 0xd6c]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd74]
fcomp qword [ebp - 0xd64]
fnstsw ax
test ah, 0x41
jne 0x51d684
fld qword [ebp - 0xd64]
fadd qword [ebp - 0xd6c]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd74]
fadd qword [ebp - 0xd7c]
fstp qword [ebp - 0xd74]
fld qword [ebp - 0xd6c]
fmul qword [ebp - 0xd74]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd74]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd74]
jmp 0x51d6cc
fld qword [ebp - 0xd64]
fadd qword [ebp - 0xd6c]
fstp qword [ebp - 0xd64]
fld qword [ebp - 0xd6c]
fadd qword [ebp - 0xd74]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd6c]
fmul qword [ebp - 0xd74]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd7c]
fadd qword [ebp - 0xd64]
fstp qword [ebp - 0xd7c]
jmp 0x51d743
fld qword [ebp - 0xd6c]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd6c]
fmul qword [ebp - 0xd7c]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd6c]
fadd qword [ebp - 0xd7c]
fstp qword [ebp - 0xd6c]
fld qword [ebp - 0xd7c]
fsub qword [ebp - 0xd6c]
fstp qword [ebp - 0xd7c]
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp - 0xb49]
add ecx, eax
mov byte [ebp - 0xb49], cl
mov dl, byte [ebp - 0xc5f]
add dl, 1
mov byte [ebp - 0xc5f], dl
movzx eax, byte [ebp - 0xb49]
movzx ecx, byte [ebp - 0xb39]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc55]
movzx ecx, byte [ebp - 0xb49]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc5f]
movzx ecx, byte [ebp - 0xc55]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc5f]
mov cl, byte [ebp - 0xd45]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xd45]
movzx eax, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp - 0xc4d]
add ecx, eax
mov byte [ebp - 0xc4d], cl
movzx edx, byte [ebp - 0xccd]
movzx eax, byte [ebp - 0xb49]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx eax, byte [ebp - 0xc5f]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc4c]
xor edx, ecx
movzx eax, byte [ebp - 0xc55]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx eax, byte [ebp - 0xb39]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
movzx eax, byte [ebp - 0xc4d]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp + ecx - 0xc4c]
xor edx, eax
mov byte [ebp - 0xc55], dl
mov cl, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], cl
mov dl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], dl
cmp dword [ebp - 0xd08], 0
jle 0x51d883
mov eax, dword [ebp - 0xd08]
mov cl, byte [ebp - 0xd21]
mov byte [ebp + eax - 0x6ed], cl
jmp 0x51d40b
mov edx, dword [ebp - 0xd04]
add edx, 1
mov dword [ebp - 0xd04], edx
mov eax, dword [ebp - 0xd08]
add eax, 1
mov dword [ebp - 0xd08], eax
mov ecx, dword [ebp - 0xd04]
add ecx, 1
mov dword [ebp - 0xd04], ecx
mov edx, dword [ebp - 0xd08]
shl edx, 1
mov dword [ebp - 0xc78], edx
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xc78]
movzx ecx, byte [eax]
mov dword [ebp - 0xd30], ecx
mov dword [ebp - 0xcc4], 0x57
mov edx, dword [ebp - 0xd08]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xce4], eax
mov ecx, dword [ebp - 0xb44]
add ecx, dword [ebp - 0xce4]
movzx edx, byte [ecx]
mov dword [ebp - 0xd54], edx
mov dword [ebp - 0xd2c], 0x3a
mov eax, dword [ebp - 0xd30]
sub eax, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], eax
mov ecx, dword [ebp - 0xd54]
sub ecx, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], ecx
mov edx, dword [ebp - 0xd50]
shl edx, 4
mov dword [ebp - 0xd4c], edx
mov eax, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], eax
mov ecx, dword [ebp - 0xd4c]
or ecx, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], ecx
mov dl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], dl
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + eax - 0xc4c]
mov byte [ebp - 0xd45], cl
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp - 0xb49]
add ecx, eax
mov byte [ebp - 0xb49], cl
mov dl, byte [ebp - 0xc5f]
add dl, 1
mov byte [ebp - 0xc5f], dl
movzx eax, byte [ebp - 0xb49]
movzx ecx, byte [ebp - 0xb39]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc55]
movzx ecx, byte [ebp - 0xb49]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc5f]
movzx ecx, byte [ebp - 0xc55]
mov dl, byte [ebp + eax - 0xc4c]
mov byte [ebp + ecx - 0xc4c], dl
movzx eax, byte [ebp - 0xc5f]
mov cl, byte [ebp - 0xd45]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xd45]
movzx eax, byte [ebp + edx - 0xc4c]
movzx ecx, byte [ebp - 0xc4d]
add ecx, eax
mov byte [ebp - 0xc4d], cl
movzx edx, byte [ebp - 0xccd]
movzx eax, byte [ebp - 0xb49]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx eax, byte [ebp - 0xc5f]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc4c]
xor edx, ecx
movzx eax, byte [ebp - 0xc55]
movzx ecx, byte [ebp + eax - 0xc4c]
movzx eax, byte [ebp - 0xb39]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
movzx eax, byte [ebp - 0xc4d]
movzx eax, byte [ebp + eax - 0xc4c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp + ecx - 0xc4c]
xor edx, eax
mov byte [ebp - 0xc55], dl
mov cl, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], cl
mov dl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], dl
cmp dword [ebp - 0xd08], 0
jle 0x51daef
mov eax, dword [ebp - 0xd08]
mov cl, byte [ebp - 0xd21]
mov byte [ebp + eax - 0x6ed], cl
mov edx, dword [ebp - 0xd08]
add edx, 1
mov dword [ebp - 0xd08], edx
mov eax, dword [ebp - 0xd04]
add eax, 1
mov dword [ebp - 0xd04], eax
mov ecx, dword [ebp - 0xd08]
shl ecx, 1
mov dword [ebp - 0xc78], ecx
mov edx, dword [ebp - 0xb44]
add edx, dword [ebp - 0xc78]
movzx eax, byte [edx]
mov dword [ebp - 0xd30], eax
mov dword [ebp - 0xcc4], 0x57
mov ecx, dword [ebp - 0xd08]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xce4], edx
mov eax, dword [ebp - 0xb44]
add eax, dword [ebp - 0xce4]
movzx ecx, byte [eax]
mov dword [ebp - 0xd54], ecx
mov dword [ebp - 0xd2c], 0x3a
mov edx, dword [ebp - 0xd30]
sub edx, dword [ebp - 0xcc4]
mov dword [ebp - 0xd50], edx
mov eax, dword [ebp - 0xd54]
sub eax, dword [ebp - 0xd2c]
mov dword [ebp - 0xc90], eax
fld dword [0x9be8b4]
fstp dword [ebp - 0xc94]
fld dword [0x9be8b0]
fstp dword [ebp - 0xce0]
fld dword [0x9be8ac]
fstp dword [ebp - 0xd14]
fld dword [0x9be8a8]
fstp dword [ebp - 0xc74]
fld dword [0x9be8a4]
fstp dword [ebp - 0xca8]
fld dword [0x9be8a0]
fstp dword [ebp - 0xcdc]
fld dword [0x9be89c]
fstp dword [ebp - 0xd10]
fld dword [ebp - 0xce0]
fsub dword [ebp - 0xd10]
fstp dword [ebp - 0xce0]
fld dword [ebp - 0xca8]
fadd dword [ebp - 0xd10]
fstp dword [ebp - 0xca8]
fld dword [ebp - 0xd14]
fmul dword [ebp - 0xd10]
fstp dword [ebp - 0xd14]
fld dword [ebp - 0xca8]
fadd dword [ebp - 0xd10]
fstp dword [ebp - 0xca8]
fld dword [ebp - 0xcdc]
fmul dword [ebp - 0xd10]
fstp dword [ebp - 0xcdc]
fld dword [ebp - 0xc94]
fsub dword [ebp - 0xd10]
fstp dword [ebp - 0xc94]
fld dword [ebp - 0xce0]
fsub dword [ebp - 0xd10]
fstp dword [ebp - 0xce0]
fld dword [ebp - 0xd14]
fld dword [ebp - 0xd10]
fcompp
fnstsw ax
test ah, 5
jp 0x51dd07
fld dword [ebp - 0xcdc]
fmul dword [ebp - 0xc94]
fstp dword [ebp - 0xcdc]
fld dword [ebp - 0xcdc]
fmul dword [ebp - 0xc94]
fstp dword [ebp - 0xcdc]
fld dword [ebp - 0xc94]
fadd dword [ebp - 0xd14]
fstp dword [ebp - 0xc94]
fld dword [ebp - 0xcdc]
fmul dword [ebp - 0xc94]
fstp dword [ebp - 0xcdc]
fld dword [ebp - 0xd10]
fadd dword [ebp - 0xce0]
fstp dword [ebp - 0xd10]
fld dword [ebp - 0xd10]
fsub dword [ebp - 0xce0]
fstp dword [ebp - 0xd10]
fld dword [ebp - 0xca8]
fadd dword [ebp - 0xd10]
fstp dword [ebp - 0xca8]
mov ecx, dword [ebp - 0xd50]
shl ecx, 4
mov dword [ebp - 0xd4c], ecx
jmp 0x51dd85
fld dword [ebp - 0xcdc]
fsub dword [ebp - 0xc94]
fstp dword [ebp - 0xcdc]
fld dword [ebp - 0xd14]
fmul dword [ebp - 0xca8]
fstp dword [ebp - 0xd14]
fld dword [ebp - 0xd14]
fsub dword [ebp - 0xca8]
fstp dword [ebp - 0xd14]
fld dword [ebp - 0xc74]
fdiv dword [ebp - 0xcdc]
fstp dword [ebp - 0xc74]
fld dword [ebp - 0xcdc]
fsub dword [ebp - 0xc94]
fstp dword [ebp - 0xcdc]
fld dword [ebp - 0xd10]
fadd dword [ebp - 0xce0]
fstp dword [ebp - 0xd10]
fld dword [ebp - 0xd14]
fadd dword [ebp - 0xca8]
fstp dword [ebp - 0xd14]
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0xd28], edx
mov eax, dword [ebp - 0xd4c]
or eax, dword [ebp - 0xd28]
mov dword [ebp - 0xd00], eax
mov cl, byte [ebp - 0xd00]
mov byte [ebp - 0xccd], cl
fld dword [0x9be898]
fstp dword [ebp - 0xc70]
fld dword [0x9bc1a4]
fstp dword [ebp - 0xca4]
fld dword [0x9be894]
fstp dword [ebp - 0xcd8]
fld dword [0x9be890]
fstp dword [ebp - 0xd0c]
fld dword [0x9be88c]
fstp dword [ebp - 0xca0]
fld dword [0x9be888]
fstp dword [ebp - 0xcd4]
fld dword [ebp - 0xd0c]
fadd dword [ebp - 0xcd4]
fstp dword [ebp - 0xd0c]
fld dword [ebp - 0xca0]
fadd dword [ebp - 0xcd4]
fstp dword [ebp - 0xca0]
fld dword [ebp - 0xca0]
fsub dword [ebp - 0xcd4]
fstp dword [ebp - 0xca0]
fld dword [ebp - 0xca0]
fsub dword [ebp - 0xcd4]
fstp dword [ebp - 0xca0]
fld dword [ebp - 0xca0]
fadd dword [ebp - 0xcd4]
fstp dword [ebp - 0xca0]
fld dword [ebp - 0xca0]
fmul dword [ebp - 0xcd4]
fstp dword [ebp - 0xca0]
fld dword [ebp - 0xca0]
fld dword [ebp - 0xcd4]
fcompp
fnstsw ax
test ah, 5
jp 0x51defe
fld dword [ebp - 0xc70]
fadd dword [ebp - 0xcd8]
fstp dword [ebp - 0xc70]
fld dword [ebp - 0xcd4]
fadd dword [ebp - 0xca4]
fstp dword [ebp - 0xcd4]
fld dword [ebp - 0xcd4]
fadd dword [ebp - 0xca4]
fstp dword [ebp - 0xcd4]
fld dword [ebp - 0xd0c]
fadd dword [ebp - 0xcd4]
fstp dword [ebp - 0xd0c]
fld dword [ebp - 0xc70]
fadd dword [ebp - 0xcd8]
fstp dword [ebp - 0xc70]
fld dword [ebp - 0xca0]
fadd dword [ebp - 0xc70]
fstp dword [ebp - 0xca0]
movzx edx, byte [ebp - 0xb39]
mov al, byte [ebp + edx - 0xc4c]
mov byte [ebp - 0xd45], al
jmp 0x51df6a
fld dword [ebp - 0xcd8]
fmul dword [ebp - 0xca0]
fstp dword [ebp - 0xcd8]
fld dword [ebp - 0xcd4]
fdiv dword [ebp - 0xca4]
fstp dword [ebp - 0xcd4]
fld dword [ebp - 0xc70]
fadd dword [ebp - 0xcd8]
fstp dword [ebp - 0xc70]
fld dword [ebp - 0xcd4]
fdiv dword [ebp - 0xca4]
fstp dword [ebp - 0xcd4]
fld dword [ebp - 0xca4]
fadd dword [ebp - 0xd0c]
fstp dword [ebp - 0xca4]
fld dword [ebp - 0xd0c]
fmul dword [ebp - 0xcd4]
fstp dword [ebp - 0xd0c]
movzx ecx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xb49]
add eax, edx
mov byte [ebp - 0xb49], al
mov cl, byte [ebp - 0xc5f]
add cl, 1
mov byte [ebp - 0xc5f], cl
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp - 0xb39]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp - 0xb49]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
movzx eax, byte [ebp - 0xc55]
mov cl, byte [ebp + edx - 0xc4c]
mov byte [ebp + eax - 0xc4c], cl
movzx edx, byte [ebp - 0xc5f]
mov al, byte [ebp - 0xd45]
mov byte [ebp + edx - 0xc4c], al
movzx ecx, byte [ebp - 0xd45]
movzx edx, byte [ebp + ecx - 0xc4c]
movzx eax, byte [ebp - 0xc4d]
add eax, edx
mov byte [ebp - 0xc4d], al
movzx ecx, byte [ebp - 0xccd]
movzx edx, byte [ebp - 0xb49]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xc5f]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
xor ecx, eax
movzx edx, byte [ebp - 0xc55]
movzx eax, byte [ebp + edx - 0xc4c]
movzx edx, byte [ebp - 0xb39]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
movzx edx, byte [ebp - 0xc4d]
movzx edx, byte [ebp + edx - 0xc4c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc4c]
movzx edx, byte [ebp + eax - 0xc4c]
xor ecx, edx
mov byte [ebp - 0xc55], cl
mov al, byte [ebp - 0xccd]
mov byte [ebp - 0xb39], al
mov cl, byte [ebp - 0xc55]
mov byte [ebp - 0xd21], cl
cmp dword [ebp - 0xd08], 0
jle 0x51e0d5
mov edx, dword [ebp - 0xd08]
mov al, byte [ebp - 0xd21]
mov byte [ebp + edx - 0x6ed], al
mov byte [ebp - 0x6df], 0
jmp 0x51e112
mov dword [ebp - 0xd80], 0
jmp 0x51e0f9
mov ecx, dword [ebp - 0xd80]
add ecx, 1
mov dword [ebp - 0xd80], ecx
cmp dword [ebp - 0xd80], 0xe
jge 0x51e112
mov edx, dword [ebp - 0xd80]
mov byte [ebp + edx - 0x6ec], 0
jmp 0x51e0ea
lea eax, [ebp - 0x6ec]
push eax
mov ecx, dword [ebp - 0x474]
call fcn.0044dbb0
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x6d0], 0
fldz
fstp qword [ebp - 0x46c]
fldz
fstp qword [ebp - 0x4ac]
fldz
fstp qword [ebp - 0x4ac]
jmp 0x51e16a
fld qword [ebp - 0x4ac]
fadd qword [0x9ba948]
fstp qword [ebp - 0x4ac]
fld qword [0x9be880]
fcomp qword [ebp - 0x4ac]
fnstsw ax
test ah, 0x41
jne 0x51e1f3
fld qword [0x9be878]
fmul qword [ebp - 0x4ac]
fmul qword [ebp - 0x4ac]
fld qword [ebp - 0x4ac]
fmul qword [ebp - 0x4ac]
fsubp st(1)
fld qword [0x9be870]
fmul qword [ebp - 0x4ac]
fmul qword [ebp - 0x4ac]
fadd qword [0x9bd3c8]
fdivp st(1)
fadd qword [ebp - 0x46c]
fstp qword [ebp - 0x46c]
fld qword [0x9be868]
fcomp qword [ebp - 0x46c]
fnstsw ax
test ah, 5
jp 0x51e1ee
xchg esp, eax
sti
invalid
fld qword [0x9be860]
fmul qword [ebp - 0x4ac]
fsubr qword [ebp - 0x46c]
fstp qword [ebp - 0x46c]
jmp 0x51e158
fldz
fcomp qword [ebp - 0x46c]
fnstsw ax
test ah, 0x41
jne 0x51e22f
fadd st(1)
aad 0xc3
loope 0x51e1bf
fld st(2)
fidivr word [ecx + 0x3e57bddf]
xor eax, 0x222f5043
push edx
pop eax
and dl, byte [edx + 0x58]
cmp eax, dword cs:[eax + 0x24]
pushal
insb byte es:[edi], dx
push edi
cmp al, 0x47
aaa
cmp dword [ecx + 0x55], ebx
je 0x51e277
pop ebp
jge 0x51e214
xchg dword [edi], edx
add byte [eax], al
mov dword [ebp - 0x470], 0x51e202
mov dword [ebp - 0x6d0], 0x51e20e
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0xd8c], ecx
mov edx, dword [ebp - 0x6d0]
mov dword [ebp - 0xd88], edx
mov byte [ebp - 0xea5], 0x20
mov dword [ebp - 0xe9c], 0
jmp 0x51e27d
mov eax, dword [ebp - 0xe9c]
add eax, 1
mov dword [ebp - 0xe9c], eax
cmp dword [ebp - 0xe9c], 0x100
jae 0x51e29e
mov ecx, dword [ebp - 0xe9c]
mov dl, byte [ebp - 0xe9c]
mov byte [ebp + ecx - 0xe94], dl
jmp 0x51e26e
mov dword [ebp - 0xd90], 0
mov byte [ebp - 0xea6], 0
mov dword [ebp - 0xe9c], 0xff
jmp 0x51e2ca
mov eax, dword [ebp - 0xe9c]
sub eax, 1
mov dword [ebp - 0xe9c], eax
cmp dword [ebp - 0xe9c], 0
jbe 0x51e5e2
mov dword [ebp - 0xeac], 0
mov dword [ebp - 0xeb4], 1
mov ecx, dword [ebp - 0xeb4]
cmp ecx, dword [ebp - 0xe9c]
jae 0x51e30b
mov edx, dword [ebp - 0xeb4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xeb4], eax
jmp 0x51e2eb
mov ecx, dword [ebp - 0xd90]
mov dword [ebp - 0x10c4], ecx
cmp dword [ebp - 0x10c4], 3
ja case.default.0x51e32a
mov edx, dword [ebp - 0x10c4]
jmp dword [edx*4 + 0x51fab4]
movzx eax, byte [ebp - 0xea6]
movzx ecx, byte [ebp + eax - 0xe94]
fld qword [ebp - 0x46c]
fnstcw word [ebp - 0x10c6]
movzx eax, word [ebp - 0x10c6]
or eax, 0xc00
mov dword [ebp - 0x10cc], eax
fldcw word [ebp - 0x10cc]
fistp qword [ebp - 0x10d4]
fldcw word [ebp - 0x10c6]
mov edx, dword [ebp - 0x10d4]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xea6], cl
jmp 0x51e4bb
movzx eax, byte [ebp - 0xea6]
movzx ecx, byte [ebp + eax - 0xe94]
fld qword [ebp - 0x46c]
fnstcw word [ebp - 0x10d6]
movzx eax, word [ebp - 0x10d6]
or eax, 0xc00
mov dword [ebp - 0x10dc], eax
fldcw word [ebp - 0x10dc]
fistp qword [ebp - 0x10e4]
fldcw word [ebp - 0x10d6]
mov edx, dword [ebp - 0x10e4]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xea6], cl
jmp 0x51e4bb
movzx eax, byte [ebp - 0xea6]
movzx ecx, byte [ebp + eax - 0xe94]
fld qword [ebp - 0x46c]
fnstcw word [ebp - 0x10e6]
movzx eax, word [ebp - 0x10e6]
or eax, 0xc00
mov dword [ebp - 0x10ec], eax
fldcw word [ebp - 0x10ec]
fistp qword [ebp - 0x10f4]
fldcw word [ebp - 0x10e6]
mov edx, dword [ebp - 0x10f4]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xea6], cl
jmp 0x51e4bb
movzx eax, byte [ebp - 0xea6]
movzx ecx, byte [ebp + eax - 0xe94]
fld qword [ebp - 0x46c]
fnstcw word [ebp - 0x10f6]
movzx eax, word [ebp - 0x10f6]
or eax, 0xc00
mov dword [ebp - 0x10fc], eax
fldcw word [ebp - 0x10fc]
fistp qword [ebp - 0x1104]
fldcw word [ebp - 0x10f6]
mov edx, dword [ebp - 0x1104]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xea6], cl
jmp 0x51e4bb
movzx eax, byte [ebp - 0xea6]
movzx ecx, byte [ebp + eax - 0xe94]
mov edx, dword [ebp - 0xd88]
add edx, dword [ebp - 0xd90]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xea6], cl
mov ecx, dword [ebp - 0xd90]
add ecx, 1
mov dword [ebp - 0xd90], ecx
movzx edx, byte [ebp - 0xea5]
cmp dword [ebp - 0xd90], edx
jb 0x51e4f9
mov dword [ebp - 0xd90], 0
movzx eax, byte [ebp - 0xea5]
movzx ecx, byte [ebp - 0xea6]
add ecx, eax
mov byte [ebp - 0xea6], cl
movzx edx, byte [ebp - 0xea6]
and edx, dword [ebp - 0xeb4]
mov dword [ebp - 0xeb0], edx
mov eax, dword [ebp - 0xeac]
add eax, 1
mov dword [ebp - 0xeac], eax
cmp dword [ebp - 0xeac], 0xb
jbe 0x51e538
mov eax, dword [ebp - 0xeb0]
xor edx, edx
div dword [ebp - 0xe9c]
mov dword [ebp - 0xeb0], edx
mov ecx, dword [ebp - 0xeb0]
cmp ecx, dword [ebp - 0xe9c]
ja 0x51e30b
mov edx, dword [ebp - 0xe9c]
cmp edx, dword [ebp - 0xeb0]
je 0x51e5dd
mov eax, dword [ebp - 0xeb0]
movzx ecx, byte [ebp + eax - 0xe94]
mov edx, dword [ebp - 0xe9c]
movzx eax, byte [ebp + edx - 0xe94]
xor eax, ecx
mov ecx, dword [ebp - 0xe9c]
mov byte [ebp + ecx - 0xe94], al
mov edx, dword [ebp - 0xe9c]
movzx eax, byte [ebp + edx - 0xe94]
mov ecx, dword [ebp - 0xeb0]
movzx edx, byte [ebp + ecx - 0xe94]
xor edx, eax
mov eax, dword [ebp - 0xeb0]
mov byte [ebp + eax - 0xe94], dl
mov ecx, dword [ebp - 0xeb0]
movzx edx, byte [ebp + ecx - 0xe94]
mov eax, dword [ebp - 0xe9c]
movzx ecx, byte [ebp + eax - 0xe94]
xor ecx, edx
mov edx, dword [ebp - 0xe9c]
mov byte [ebp + edx - 0xe94], cl
jmp 0x51e2bb
mov al, byte [ebp - 0xe93]
mov byte [ebp - 0xea7], al
mov cl, byte [ebp - 0xe91]
mov byte [ebp - 0xd91], cl
mov dl, byte [ebp - 0xe8f]
mov byte [ebp - 0xe95], dl
mov al, byte [ebp - 0xe8d]
mov byte [ebp - 0xe9d], al
movzx ecx, byte [ebp - 0xea6]
mov dl, byte [ebp + ecx - 0xe94]
mov byte [ebp - 0xd81], dl
mov dword [ebp - 0xea4], 0xc
cmp dword [ebp - 0xea4], 2
jle 0x51f980
mov eax, dword [ebp - 0xea4]
and eax, 1
jne 0x51f980
mov dword [ebp - 0xf38], 0
mov dword [ebp - 0xf34], 0
mov ecx, dword [ebp - 0xf34]
add ecx, 1
mov dword [ebp - 0xf34], ecx
mov dword [ebp - 0xec8], 0
mov edx, dword [ebp - 0xf38]
shl edx, 1
mov dword [ebp - 0xec8], edx
mov dword [ebp - 0xf5c], 0
mov eax, dword [ebp - 0xd8c]
add eax, dword [ebp - 0xec8]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0xf5c]
mov dword [ebp - 0xf5c], ecx
mov dword [ebp - 0xf00], 0
mov edx, dword [ebp - 0xf00]
add edx, 0xd5
mov dword [ebp - 0xf00], edx
mov dword [ebp - 0xf20], 0
mov eax, dword [ebp - 0xf38]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xf20], ecx
mov dword [ebp - 0xf6c], 0
mov edx, dword [ebp - 0xd8c]
add edx, dword [ebp - 0xf20]
movzx eax, byte [edx]
add eax, dword [ebp - 0xf6c]
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf58], 0
mov ecx, dword [ebp - 0xf58]
add ecx, 0xb6
mov dword [ebp - 0xf58], ecx
mov dword [ebp - 0xf68], 0
mov edx, dword [ebp - 0xf5c]
sub edx, dword [ebp - 0xf00]
add edx, dword [ebp - 0xf68]
mov dword [ebp - 0xf68], edx
mov dword [ebp - 0xee0], 0
mov eax, dword [ebp - 0xf6c]
sub eax, dword [ebp - 0xf58]
add eax, dword [ebp - 0xee0]
mov dword [ebp - 0xee0], eax
mov dword [ebp - 0xf64], 0
mov ecx, dword [ebp - 0xf68]
shl ecx, 4
mov dword [ebp - 0xf64], ecx
mov dword [ebp - 0xf54], 0
mov edx, dword [ebp - 0xee0]
mov dword [ebp - 0xf54], edx
mov dword [ebp - 0xf30], 0
mov eax, dword [ebp - 0xf64]
or eax, dword [ebp - 0xf54]
mov dword [ebp - 0xf30], eax
mov byte [ebp - 0xf01], 0
mov cl, byte [ebp - 0xf30]
mov byte [ebp - 0xf01], cl
mov byte [ebp - 0xf5d], 0
movzx edx, byte [ebp - 0xd81]
mov al, byte [ebp + edx - 0xe94]
mov byte [ebp - 0xf5d], al
movzx ecx, byte [ebp - 0xea7]
movzx edx, byte [ebp + ecx - 0xe94]
movzx eax, byte [ebp - 0xd91]
add eax, edx
mov byte [ebp - 0xd91], al
mov cl, byte [ebp - 0xea7]
add cl, 1
mov byte [ebp - 0xea7], cl
movzx edx, byte [ebp - 0xd91]
movzx eax, byte [ebp - 0xd81]
mov cl, byte [ebp + edx - 0xe94]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xe9d]
movzx eax, byte [ebp - 0xd91]
mov cl, byte [ebp + edx - 0xe94]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xea7]
movzx eax, byte [ebp - 0xe9d]
mov cl, byte [ebp + edx - 0xe94]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xea7]
mov al, byte [ebp - 0xf5d]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xf5d]
movzx edx, byte [ebp + ecx - 0xe94]
movzx eax, byte [ebp - 0xe95]
add eax, edx
mov byte [ebp - 0xe95], al
movzx ecx, byte [ebp - 0xf01]
movzx edx, byte [ebp - 0xd91]
movzx eax, byte [ebp + edx - 0xe94]
movzx edx, byte [ebp - 0xea7]
movzx edx, byte [ebp + edx - 0xe94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xe94]
xor ecx, eax
movzx edx, byte [ebp - 0xe9d]
movzx eax, byte [ebp + edx - 0xe94]
movzx edx, byte [ebp - 0xd81]
movzx edx, byte [ebp + edx - 0xe94]
add eax, edx
movzx edx, byte [ebp - 0xe95]
movzx edx, byte [ebp + edx - 0xe94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xe94]
movzx edx, byte [ebp + eax - 0xe94]
xor ecx, edx
mov byte [ebp - 0xe9d], cl
mov al, byte [ebp - 0xf01]
mov byte [ebp - 0xd81], al
mov cl, byte [ebp - 0xe9d]
mov byte [ebp - 0xf4d], cl
cmp dword [ebp - 0xf38], 0
jle 0x51e94e
movsx dx, byte [ebp - 0xf4d]
mov eax, dword [ebp - 0xf38]
mov word [ebp + eax*2 - 0x486], dx
mov ecx, dword [ebp - 0xf38]
add ecx, 1
mov dword [ebp - 0xf38], ecx
mov edx, dword [ebp - 0xf34]
add edx, 1
mov dword [ebp - 0xf34], edx
mov eax, dword [ebp - 0xf38]
shl eax, 1
mov dword [ebp - 0xec8], eax
mov ecx, dword [ebp - 0xd8c]
add ecx, dword [ebp - 0xec8]
movzx edx, byte [ecx]
mov dword [ebp - 0xf5c], edx
mov dword [ebp - 0xf00], 0xd5
mov eax, dword [ebp - 0xf38]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xf20], ecx
mov edx, dword [ebp - 0xd8c]
add edx, dword [ebp - 0xf20]
movzx eax, byte [edx]
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf58], 0xb6
mov ecx, dword [ebp - 0xf5c]
sub ecx, dword [ebp - 0xf00]
mov dword [ebp - 0xf68], ecx
mov edx, dword [ebp - 0xf6c]
sub edx, dword [ebp - 0xf58]
mov dword [ebp - 0xee0], edx
mov eax, dword [ebp - 0xf68]
shl eax, 4
mov dword [ebp - 0xf64], eax
mov ecx, dword [ebp - 0xee0]
mov dword [ebp - 0xf54], ecx
mov edx, dword [ebp - 0xf64]
or edx, dword [ebp - 0xf54]
mov dword [ebp - 0xf30], edx
mov al, byte [ebp - 0xf30]
mov byte [ebp - 0xf01], al
movzx ecx, byte [ebp - 0xd81]
mov dl, byte [ebp + ecx - 0xe94]
mov byte [ebp - 0xf5d], dl
movzx eax, byte [ebp - 0xea7]
movzx ecx, byte [ebp + eax - 0xe94]
movzx edx, byte [ebp - 0xd91]
add edx, ecx
mov byte [ebp - 0xd91], dl
mov al, byte [ebp - 0xea7]
add al, 1
mov byte [ebp - 0xea7], al
movzx ecx, byte [ebp - 0xd91]
movzx edx, byte [ebp - 0xd81]
mov al, byte [ebp + ecx - 0xe94]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xe9d]
movzx edx, byte [ebp - 0xd91]
mov al, byte [ebp + ecx - 0xe94]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xea7]
movzx edx, byte [ebp - 0xe9d]
mov al, byte [ebp + ecx - 0xe94]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xea7]
mov dl, byte [ebp - 0xf5d]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xf5d]
movzx ecx, byte [ebp + eax - 0xe94]
movzx edx, byte [ebp - 0xe95]
add edx, ecx
mov byte [ebp - 0xe95], dl
movzx eax, byte [ebp - 0xf01]
movzx ecx, byte [ebp - 0xd91]
movzx edx, byte [ebp + ecx - 0xe94]
movzx ecx, byte [ebp - 0xea7]
movzx ecx, byte [ebp + ecx - 0xe94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xe94]
xor eax, edx
movzx ecx, byte [ebp - 0xe9d]
movzx edx, byte [ebp + ecx - 0xe94]
movzx ecx, byte [ebp - 0xd81]
movzx ecx, byte [ebp + ecx - 0xe94]
add edx, ecx
movzx ecx, byte [ebp - 0xe95]
movzx ecx, byte [ebp + ecx - 0xe94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xe94]
movzx ecx, byte [ebp + edx - 0xe94]
xor eax, ecx
mov byte [ebp - 0xe9d], al
mov dl, byte [ebp - 0xf01]
mov byte [ebp - 0xd81], dl
mov al, byte [ebp - 0xe9d]
mov byte [ebp - 0xf4d], al
cmp dword [ebp - 0xf38], 0
jle 0x51eba8
movsx cx, byte [ebp - 0xf4d]
mov edx, dword [ebp - 0xf38]
mov word [ebp + edx*2 - 0x486], cx
mov eax, dword [ebp - 0xf38]
add eax, 1
mov dword [ebp - 0xf38], eax
mov ecx, dword [ebp - 0xf34]
add ecx, 1
mov dword [ebp - 0xf34], ecx
mov edx, dword [ebp - 0xf38]
shl edx, 1
mov dword [ebp - 0xec8], edx
mov eax, dword [ebp - 0xd8c]
add eax, dword [ebp - 0xec8]
movzx ecx, byte [eax]
mov dword [ebp - 0xf5c], ecx
mov dword [ebp - 0xf00], 0xd5
mov edx, dword [ebp - 0xf38]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xf20], eax
mov ecx, dword [ebp - 0xd8c]
add ecx, dword [ebp - 0xf20]
movzx edx, byte [ecx]
mov dword [ebp - 0xf6c], edx
mov dword [ebp - 0xf58], 0xb6
mov eax, dword [ebp - 0xf5c]
sub eax, dword [ebp - 0xf00]
mov dword [ebp - 0xf68], eax
mov ecx, dword [ebp - 0xf6c]
sub ecx, dword [ebp - 0xf58]
mov dword [ebp - 0xee0], ecx
mov edx, dword [ebp - 0xf68]
shl edx, 4
mov dword [ebp - 0xf64], edx
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xf54], eax
mov ecx, dword [ebp - 0xf64]
or ecx, dword [ebp - 0xf54]
mov dword [ebp - 0xf30], ecx
mov dl, byte [ebp - 0xf30]
mov byte [ebp - 0xf01], dl
movzx eax, byte [ebp - 0xd81]
mov cl, byte [ebp + eax - 0xe94]
mov byte [ebp - 0xf5d], cl
fld qword [0x9be858]
fstp qword [ebp - 0xedc]
fld qword [0x9be850]
fstp qword [ebp - 0xefc]
fld qword [0x9be848]
fstp qword [ebp - 0xf2c]
fld qword [0x9be840]
fstp qword [ebp - 0xf4c]
fld qword [0x9be838]
fstp qword [ebp - 0xed4]
fld qword [0x9be830]
fstp qword [ebp - 0xf1c]
fld qword [ebp - 0xf4c]
fadd qword [ebp - 0xf1c]
fstp qword [ebp - 0xf4c]
fld qword [ebp - 0xefc]
fsub qword [ebp - 0xf1c]
fstp qword [ebp - 0xefc]
fld qword [ebp - 0xf4c]
fadd qword [ebp - 0xf1c]
fstp qword [ebp - 0xf4c]
fld qword [ebp - 0xefc]
fadd qword [ebp - 0xf1c]
fstp qword [ebp - 0xefc]
fld qword [ebp - 0xefc]
fadd qword [ebp - 0xf1c]
fstp qword [ebp - 0xefc]
fld qword [ebp - 0xf4c]
fsub qword [ebp - 0xf1c]
fstp qword [ebp - 0xf4c]
fld qword [ebp - 0xefc]
fcomp qword [ebp - 0xf1c]
fnstsw ax
test ah, 5
jp 0x51edcb
fld qword [ebp - 0xedc]
fmul qword [ebp - 0xf2c]
fstp qword [ebp - 0xedc]
fld qword [ebp - 0xf4c]
fdiv qword [ebp - 0xf1c]
fstp qword [ebp - 0xf4c]
fld qword [ebp - 0xed4]
fmul qword [ebp - 0xedc]
fstp qword [ebp - 0xed4]
fld qword [ebp - 0xed4]
fsub qword [ebp - 0xedc]
fstp qword [ebp - 0xed4]
fld qword [ebp - 0xf4c]
fadd qword [ebp - 0xf1c]
fstp qword [ebp - 0xf4c]
fld qword [ebp - 0xed4]
fsub qword [ebp - 0xedc]
fstp qword [ebp - 0xed4]
jmp 0x51ee64
fld qword [ebp - 0xf4c]
fadd qword [ebp - 0xed4]
fstp qword [ebp - 0xf4c]
fld qword [ebp - 0xf2c]
fsub qword [ebp - 0xf4c]
fstp qword [ebp - 0xf2c]
fld qword [ebp - 0xf1c]
fadd qword [ebp - 0xedc]
fstp qword [ebp - 0xf1c]
fld qword [ebp - 0xedc]
fadd qword [ebp - 0xefc]
fstp qword [ebp - 0xedc]
fld qword [ebp - 0xf1c]
fsub qword [ebp - 0xedc]
fstp qword [ebp - 0xf1c]
fld qword [ebp - 0xf2c]
fsub qword [ebp - 0xf4c]
fstp qword [ebp - 0xf2c]
movzx edx, byte [ebp - 0xea7]
movzx eax, byte [ebp + edx - 0xe94]
movzx ecx, byte [ebp - 0xd91]
add ecx, eax
mov byte [ebp - 0xd91], cl
mov dl, byte [ebp - 0xea7]
add dl, 1
mov byte [ebp - 0xea7], dl
movzx eax, byte [ebp - 0xd91]
movzx ecx, byte [ebp - 0xd81]
mov dl, byte [ebp + eax - 0xe94]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xe9d]
movzx ecx, byte [ebp - 0xd91]
mov dl, byte [ebp + eax - 0xe94]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xea7]
movzx ecx, byte [ebp - 0xe9d]
mov dl, byte [ebp + eax - 0xe94]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xea7]
mov cl, byte [ebp - 0xf5d]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xf5d]
movzx eax, byte [ebp + edx - 0xe94]
movzx ecx, byte [ebp - 0xe95]
add ecx, eax
mov byte [ebp - 0xe95], cl
movzx edx, byte [ebp - 0xf01]
movzx eax, byte [ebp - 0xd91]
movzx ecx, byte [ebp + eax - 0xe94]
movzx eax, byte [ebp - 0xea7]
movzx eax, byte [ebp + eax - 0xe94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe94]
xor edx, ecx
movzx eax, byte [ebp - 0xe9d]
movzx ecx, byte [ebp + eax - 0xe94]
movzx eax, byte [ebp - 0xd81]
movzx eax, byte [ebp + eax - 0xe94]
add ecx, eax
movzx eax, byte [ebp - 0xe95]
movzx eax, byte [ebp + eax - 0xe94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe94]
movzx eax, byte [ebp + ecx - 0xe94]
xor edx, eax
mov byte [ebp - 0xe9d], dl
mov cl, byte [ebp - 0xf01]
mov byte [ebp - 0xd81], cl
mov dl, byte [ebp - 0xe9d]
mov byte [ebp - 0xf4d], dl
cmp dword [ebp - 0xf38], 0
jle 0x51efa7
movsx ax, byte [ebp - 0xf4d]
mov ecx, dword [ebp - 0xf38]
mov word [ebp + ecx*2 - 0x486], ax
mov edx, dword [ebp - 0xf38]
add edx, 1
mov dword [ebp - 0xf38], edx
mov eax, dword [ebp - 0xf34]
add eax, 1
mov dword [ebp - 0xf34], eax
mov ecx, dword [ebp - 0xf38]
shl ecx, 1
mov dword [ebp - 0xec8], ecx
mov edx, dword [ebp - 0xd8c]
add edx, dword [ebp - 0xec8]
movzx eax, byte [edx]
mov dword [ebp - 0xf5c], eax
mov dword [ebp - 0xf00], 0xd5
mov ecx, dword [ebp - 0xf38]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xf20], edx
mov eax, dword [ebp - 0xd8c]
add eax, dword [ebp - 0xf20]
movzx ecx, byte [eax]
mov dword [ebp - 0xf6c], ecx
mov dword [ebp - 0xf58], 0xb6
mov edx, dword [ebp - 0xf5c]
sub edx, dword [ebp - 0xf00]
mov dword [ebp - 0xf68], edx
mov eax, dword [ebp - 0xf6c]
sub eax, dword [ebp - 0xf58]
mov dword [ebp - 0xee0], eax
mov ecx, dword [ebp - 0xf68]
shl ecx, 4
mov dword [ebp - 0xf64], ecx
mov edx, dword [ebp - 0xee0]
mov dword [ebp - 0xf54], edx
mov eax, dword [ebp - 0xf64]
or eax, dword [ebp - 0xf54]
mov dword [ebp - 0xf30], eax
mov cl, byte [ebp - 0xf30]
mov byte [ebp - 0xf01], cl
movzx edx, byte [ebp - 0xd81]
mov al, byte [ebp + edx - 0xe94]
mov byte [ebp - 0xf5d], al
movzx ecx, byte [ebp - 0xea7]
movzx edx, byte [ebp + ecx - 0xe94]
movzx eax, byte [ebp - 0xd91]
add eax, edx
mov byte [ebp - 0xd91], al
mov cl, byte [ebp - 0xea7]
add cl, 1
mov byte [ebp - 0xea7], cl
movzx edx, byte [ebp - 0xd91]
movzx eax, byte [ebp - 0xd81]
mov cl, byte [ebp + edx - 0xe94]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xe9d]
movzx eax, byte [ebp - 0xd91]
mov cl, byte [ebp + edx - 0xe94]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xea7]
movzx eax, byte [ebp - 0xe9d]
mov cl, byte [ebp + edx - 0xe94]
mov byte [ebp + eax - 0xe94], cl
fld qword [0x9be828]
fstp qword [ebp - 0xef4]
fld qword [0x9be820]
fstp qword [ebp - 0xec4]
fld qword [0x9be818]
fstp qword [ebp - 0xf44]
fld qword [0x9be810]
fstp qword [ebp - 0xf14]
fld qword [0x9be808]
fstp qword [ebp - 0xeec]
fld qword [ebp - 0xf14]
fmul qword [ebp - 0xeec]
fstp qword [ebp - 0xf14]
fld qword [ebp - 0xec4]
fmul qword [ebp - 0xeec]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xef4]
fadd qword [ebp - 0xeec]
fstp qword [ebp - 0xef4]
fld qword [ebp - 0xec4]
fmul qword [ebp - 0xeec]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xec4]
fmul qword [ebp - 0xeec]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xeec]
fcomp qword [ebp - 0xec4]
fnstsw ax
test ah, 5
jp 0x51f22c
fld qword [ebp - 0xec4]
fadd qword [ebp - 0xf14]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xef4]
fsub qword [ebp - 0xf44]
fstp qword [ebp - 0xef4]
fld qword [ebp - 0xef4]
fmul qword [ebp - 0xf44]
fstp qword [ebp - 0xef4]
fld qword [ebp - 0xec4]
fmul qword [ebp - 0xf14]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xec4]
fsub qword [ebp - 0xf14]
fstp qword [ebp - 0xec4]
movzx edx, byte [ebp - 0xea7]
mov al, byte [ebp - 0xf5d]
mov byte [ebp + edx - 0xe94], al
jmp 0x51f286
fld qword [ebp - 0xf44]
fsub qword [ebp - 0xf14]
fstp qword [ebp - 0xf44]
fld qword [ebp - 0xec4]
fadd qword [ebp - 0xf44]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xf44]
fdiv qword [ebp - 0xf14]
fstp qword [ebp - 0xf44]
fld qword [ebp - 0xec4]
fmul qword [ebp - 0xf44]
fstp qword [ebp - 0xec4]
fld qword [ebp - 0xef4]
fdiv qword [ebp - 0xec4]
fstp qword [ebp - 0xef4]
movzx ecx, byte [ebp - 0xf5d]
movzx edx, byte [ebp + ecx - 0xe94]
movzx eax, byte [ebp - 0xe95]
add eax, edx
mov byte [ebp - 0xe95], al
movzx ecx, byte [ebp - 0xf01]
movzx edx, byte [ebp - 0xd91]
movzx eax, byte [ebp + edx - 0xe94]
movzx edx, byte [ebp - 0xea7]
movzx edx, byte [ebp + edx - 0xe94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xe94]
xor ecx, eax
movzx edx, byte [ebp - 0xe9d]
movzx eax, byte [ebp + edx - 0xe94]
movzx edx, byte [ebp - 0xd81]
movzx edx, byte [ebp + edx - 0xe94]
add eax, edx
movzx edx, byte [ebp - 0xe95]
movzx edx, byte [ebp + edx - 0xe94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xe94]
movzx edx, byte [ebp + eax - 0xe94]
xor ecx, edx
mov byte [ebp - 0xe9d], cl
mov al, byte [ebp - 0xf01]
mov byte [ebp - 0xd81], al
mov cl, byte [ebp - 0xe9d]
mov byte [ebp - 0xf4d], cl
cmp dword [ebp - 0xf38], 0
jle 0x51f35f
movsx dx, byte [ebp - 0xf4d]
mov eax, dword [ebp - 0xf38]
mov word [ebp + eax*2 - 0x486], dx
mov ecx, dword [ebp - 0xf38]
add ecx, 1
mov dword [ebp - 0xf38], ecx
mov edx, dword [ebp - 0xf34]
add edx, 1
mov dword [ebp - 0xf34], edx
mov eax, dword [ebp - 0xf38]
shl eax, 1
mov dword [ebp - 0xec8], eax
mov ecx, dword [ebp - 0xd8c]
add ecx, dword [ebp - 0xec8]
movzx edx, byte [ecx]
mov dword [ebp - 0xf5c], edx
mov dword [ebp - 0xf00], 0xd5
mov eax, dword [ebp - 0xf38]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xf20], ecx
mov edx, dword [ebp - 0xd8c]
add edx, dword [ebp - 0xf20]
movzx eax, byte [edx]
mov dword [ebp - 0xf6c], eax
mov dword [ebp - 0xf58], 0xb6
mov ecx, dword [ebp - 0xf5c]
sub ecx, dword [ebp - 0xf00]
mov dword [ebp - 0xf68], ecx
mov edx, dword [ebp - 0xf6c]
sub edx, dword [ebp - 0xf58]
mov dword [ebp - 0xee0], edx
mov eax, dword [ebp - 0xf68]
shl eax, 4
mov dword [ebp - 0xf64], eax
mov ecx, dword [ebp - 0xee0]
mov dword [ebp - 0xf54], ecx
mov edx, dword [ebp - 0xf64]
or edx, dword [ebp - 0xf54]
mov dword [ebp - 0xf30], edx
mov al, byte [ebp - 0xf30]
mov byte [ebp - 0xf01], al
movzx ecx, byte [ebp - 0xd81]
mov dl, byte [ebp + ecx - 0xe94]
mov byte [ebp - 0xf5d], dl
movzx eax, byte [ebp - 0xea7]
movzx ecx, byte [ebp + eax - 0xe94]
movzx edx, byte [ebp - 0xd91]
add edx, ecx
mov byte [ebp - 0xd91], dl
mov al, byte [ebp - 0xea7]
add al, 1
mov byte [ebp - 0xea7], al
movzx ecx, byte [ebp - 0xd91]
movzx edx, byte [ebp - 0xd81]
mov al, byte [ebp + ecx - 0xe94]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xe9d]
movzx edx, byte [ebp - 0xd91]
mov al, byte [ebp + ecx - 0xe94]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xea7]
movzx edx, byte [ebp - 0xe9d]
mov al, byte [ebp + ecx - 0xe94]
mov byte [ebp + edx - 0xe94], al
movzx ecx, byte [ebp - 0xea7]
mov dl, byte [ebp - 0xf5d]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xf5d]
movzx ecx, byte [ebp + eax - 0xe94]
movzx edx, byte [ebp - 0xe95]
add edx, ecx
mov byte [ebp - 0xe95], dl
movzx eax, byte [ebp - 0xf01]
movzx ecx, byte [ebp - 0xd91]
movzx edx, byte [ebp + ecx - 0xe94]
movzx ecx, byte [ebp - 0xea7]
movzx ecx, byte [ebp + ecx - 0xe94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xe94]
xor eax, edx
movzx ecx, byte [ebp - 0xe9d]
movzx edx, byte [ebp + ecx - 0xe94]
movzx ecx, byte [ebp - 0xd81]
movzx ecx, byte [ebp + ecx - 0xe94]
add edx, ecx
movzx ecx, byte [ebp - 0xe95]
movzx ecx, byte [ebp + ecx - 0xe94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xe94]
movzx ecx, byte [ebp + edx - 0xe94]
xor eax, ecx
mov byte [ebp - 0xe9d], al
mov dl, byte [ebp - 0xf01]
mov byte [ebp - 0xd81], dl
mov al, byte [ebp - 0xe9d]
mov byte [ebp - 0xf4d], al
cmp dword [ebp - 0xf38], 0
jle 0x51f5b9
movsx cx, byte [ebp - 0xf4d]
mov edx, dword [ebp - 0xf38]
mov word [ebp + edx*2 - 0x486], cx
mov eax, dword [ebp - 0xf38]
add eax, 1
mov dword [ebp - 0xf38], eax
mov ecx, dword [ebp - 0xf34]
add ecx, 1
mov dword [ebp - 0xf34], ecx
fld dword [0x9be800]
fstp dword [ebp - 0xeb8]
fld dword [0x9be7fc]
fstp dword [ebp - 0xf3c]
fld dword [0x9be7f8]
fstp dword [ebp - 0xf08]
fld dword [0x9be7f4]
fstp dword [ebp - 0xee4]
fld dword [0x9be7f0]
fstp dword [ebp - 0xecc]
fld dword [ebp - 0xeb8]
fadd dword [ebp - 0xecc]
fstp dword [ebp - 0xeb8]
fld dword [ebp - 0xf3c]
fadd dword [ebp - 0xecc]
fstp dword [ebp - 0xf3c]
fld dword [ebp - 0xeb8]
fmul dword [ebp - 0xecc]
fstp dword [ebp - 0xeb8]
fld dword [ebp - 0xf08]
fadd dword [ebp - 0xecc]
fstp dword [ebp - 0xf08]
fld dword [ebp - 0xeb8]
fmul dword [ebp - 0xecc]
fstp dword [ebp - 0xeb8]
fld dword [ebp - 0xeb8]
fld dword [ebp - 0xecc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51f6de
fld dword [ebp - 0xecc]
fdiv dword [ebp - 0xf3c]
fstp dword [ebp - 0xecc]
fld dword [ebp - 0xeb8]
fdiv dword [ebp - 0xf08]
fstp dword [ebp - 0xeb8]
fld dword [ebp - 0xeb8]
fdiv dword [ebp - 0xf08]
fstp dword [ebp - 0xeb8]
fld dword [ebp - 0xee4]
fdiv dword [ebp - 0xeb8]
fstp dword [ebp - 0xee4]
fld dword [ebp - 0xecc]
fdiv dword [ebp - 0xf3c]
fstp dword [ebp - 0xecc]
jmp 0x51f746
fld dword [ebp - 0xee4]
fsub dword [ebp - 0xeb8]
fstp dword [ebp - 0xee4]
fld dword [ebp - 0xee4]
fmul dword [ebp - 0xeb8]
fstp dword [ebp - 0xee4]
fld dword [ebp - 0xee4]
fmul dword [ebp - 0xeb8]
fstp dword [ebp - 0xee4]
fld dword [ebp - 0xeb8]
fmul dword [ebp - 0xf08]
fstp dword [ebp - 0xeb8]
fld dword [ebp - 0xf08]
fmul dword [ebp - 0xecc]
fstp dword [ebp - 0xf08]
mov edx, dword [ebp - 0xf38]
shl edx, 1
mov dword [ebp - 0xec8], edx
mov eax, dword [ebp - 0xd8c]
add eax, dword [ebp - 0xec8]
movzx ecx, byte [eax]
mov dword [ebp - 0xf5c], ecx
mov dword [ebp - 0xf00], 0xd5
mov edx, dword [ebp - 0xf38]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xf20], eax
mov ecx, dword [ebp - 0xd8c]
add ecx, dword [ebp - 0xf20]
movzx edx, byte [ecx]
mov dword [ebp - 0xf6c], edx
mov dword [ebp - 0xf58], 0xb6
mov eax, dword [ebp - 0xf5c]
sub eax, dword [ebp - 0xf00]
mov dword [ebp - 0xf68], eax
mov ecx, dword [ebp - 0xf6c]
sub ecx, dword [ebp - 0xf58]
mov dword [ebp - 0xee0], ecx
mov edx, dword [ebp - 0xf68]
shl edx, 4
mov dword [ebp - 0xf64], edx
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xf54], eax
mov ecx, dword [ebp - 0xf64]
or ecx, dword [ebp - 0xf54]
mov dword [ebp - 0xf30], ecx
mov dl, byte [ebp - 0xf30]
mov byte [ebp - 0xf01], dl
movzx eax, byte [ebp - 0xd81]
mov cl, byte [ebp + eax - 0xe94]
mov byte [ebp - 0xf5d], cl
movzx edx, byte [ebp - 0xea7]
movzx eax, byte [ebp + edx - 0xe94]
movzx ecx, byte [ebp - 0xd91]
add ecx, eax
mov byte [ebp - 0xd91], cl
mov dl, byte [ebp - 0xea7]
add dl, 1
mov byte [ebp - 0xea7], dl
movzx eax, byte [ebp - 0xd91]
movzx ecx, byte [ebp - 0xd81]
mov dl, byte [ebp + eax - 0xe94]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xe9d]
movzx ecx, byte [ebp - 0xd91]
mov dl, byte [ebp + eax - 0xe94]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xea7]
movzx ecx, byte [ebp - 0xe9d]
mov dl, byte [ebp + eax - 0xe94]
mov byte [ebp + ecx - 0xe94], dl
movzx eax, byte [ebp - 0xea7]
mov cl, byte [ebp - 0xf5d]
mov byte [ebp + eax - 0xe94], cl
movzx edx, byte [ebp - 0xf5d]
movzx eax, byte [ebp + edx - 0xe94]
movzx ecx, byte [ebp - 0xe95]
add ecx, eax
mov byte [ebp - 0xe95], cl
movzx edx, byte [ebp - 0xf01]
movzx eax, byte [ebp - 0xd91]
movzx ecx, byte [ebp + eax - 0xe94]
movzx eax, byte [ebp - 0xea7]
movzx eax, byte [ebp + eax - 0xe94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe94]
xor edx, ecx
movzx eax, byte [ebp - 0xe9d]
movzx ecx, byte [ebp + eax - 0xe94]
movzx eax, byte [ebp - 0xd81]
movzx eax, byte [ebp + eax - 0xe94]
add ecx, eax
movzx eax, byte [ebp - 0xe95]
movzx eax, byte [ebp + eax - 0xe94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xe94]
movzx eax, byte [ebp + ecx - 0xe94]
xor edx, eax
mov byte [ebp - 0xe9d], dl
mov cl, byte [ebp - 0xf01]
mov byte [ebp - 0xd81], cl
mov dl, byte [ebp - 0xe9d]
mov byte [ebp - 0xf4d], dl
cmp dword [ebp - 0xf38], 0
jle 0x51f975
movsx ax, byte [ebp - 0xf4d]
mov ecx, dword [ebp - 0xf38]
mov word [ebp + ecx*2 - 0x486], ax
xor edx, edx
mov word [ebp - 0x47a], dx
jmp 0x51f9b6
mov dword [ebp - 0xf70], 0
jmp 0x51f99b
mov eax, dword [ebp - 0xf70]
add eax, 1
mov dword [ebp - 0xf70], eax
cmp dword [ebp - 0xf70], 6
jge 0x51f9b6
xor ecx, ecx
mov edx, dword [ebp - 0xf70]
mov word [ebp + edx*2 - 0x484], cx
jmp 0x51f98c
push 1
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x454]
call fcn.00900180
push eax
lea ecx, [ebp - 0x6c4]
push ecx
lea edx, [ebp - 0x484]
push edx
push 0
call dword [ebp - 0x450]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0xf80], 0x208
lea eax, [ebp - 0x214]
mov dword [ebp - 0xf7c], eax
cmp dword [ebp - 0xf80], 0
je 0x51fa2e
mov ecx, dword [ebp - 0xf7c]
mov byte [ecx], 0
mov edx, dword [ebp - 0xf7c]
add edx, 1
mov dword [ebp - 0xf7c], edx
mov eax, dword [ebp - 0xf80]
sub eax, 1
mov dword [ebp - 0xf80], eax
jmp 0x51f9fc
cmp dword [ebp - 0x478], 0x20
jle 0x51fa4b
mov byte [ebp - 0x245], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call dword [0x9f1a30]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x454]
call fcn.00904c20
mov al, byte [ebp - 0x245]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret