Function at 0x96c7d0
Capabilities:
Encrypt data using speck
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
fldz
fstp qword [ebp - 0x10]
fldz
fstp qword [ebp - 8]
fldz
fstp qword [ebp - 8]
jmp 0x96c804
fld qword [ebp - 8]
fadd qword [0x9ec8a0]
fstp qword [ebp - 8]
fld qword [0xa070e0]
fcomp qword [ebp - 8]
clc
fnstsw ax
test ah, 0x41
jne 0x96c863
fld qword [0xa070d8]
fmul qword [ebp - 8]
fmul qword [ebp - 8]
fld qword [ebp - 8]
fmul qword [ebp - 8]
fsubp st(1)
fld qword [0x9fb7e0]
fmul qword [ebp - 8]
fmul qword [ebp - 8]
fadd qword [0x9fdc80]
fdivp st(1)
fadd qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [0xa070d0]
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 5
jp 0x96c861
fld qword [0xa070c8]
fmul qword [ebp - 8]
fsubr qword [ebp - 0x10]
fstp qword [ebp - 0x10]
jmp 0x96c7f8
fldz
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 0x41
jne 0x96c8b9
xchg esp, eax
outsb dx, byte [esi]
lea ebp, [esi - 0x73]
lea bp, [eax - 0x6f]
imul edx, dword [ebx - 0x74996d99], 0x67
xchg dword [ecx - 0x6c], esi
jae 0x96c80c
insb byte es:[edi], dx
xchg dword [edx - 0x6f], ebp
test word [edx - 0x79], bp
outsb dx, byte [esi]
mov dword [eax - 0x75], esi
lea ebp, fs:[edx - 0x6c]
imul edx, dword [edx - 0x7694798e], 0x6f
test dword [eax - 0x6f], esi
outsb dx, byte [esi]
xchg byte [esi - 0x7b], ah
inc esi
dec eax
and ecx, dword [ebx + 0x30]
push esi
pushal
daa
sub esi, dword [edx + 0x21]
dec ecx
jmp 0x96ecab
mov dword [ebp - 0x34], 0x96c86f
mov dword [ebp - 0x30], 0x96c8a3
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x159], 0x15
mov dword [ebp - 0x150], 0
jmp 0x96c8f5
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
cmp dword [ebp - 0x150], 0x100
jae 0x96c916
mov eax, dword [ebp - 0x150]
mov cl, byte [ebp - 0x150]
mov byte [ebp + eax - 0x148], cl
jmp 0x96c8e6
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x15a], 0
mov dword [ebp - 0x150], 0xff
jmp 0x96c93f
mov edx, dword [ebp - 0x150]
sub edx, 1
mov dword [ebp - 0x150], edx
cmp dword [ebp - 0x150], 0
jbe 0x96cc36
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x168], 1
mov eax, dword [ebp - 0x168]
cmp eax, dword [ebp - 0x150]
jae 0x96c980
mov ecx, dword [ebp - 0x168]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x168], edx
jmp 0x96c960
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 3
ja case.default.0x96c99c
mov ecx, dword [ebp - 0x268]
jmp dword [ecx*4 + 0x96ed10]
movzx edx, byte [ebp - 0x15a]
movzx ecx, byte [ebp + edx - 0x148]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x26a]
movzx eax, word [ebp - 0x26a]
or eax, 0xc00
mov dword [ebp - 0x270], eax
fldcw word [ebp - 0x270]
fistp qword [ebp - 0x278]
fldcw word [ebp - 0x26a]
mov edx, dword [ebp - 0x278]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x15a], cl
jmp 0x96cb1b
movzx eax, byte [ebp - 0x15a]
movzx ecx, byte [ebp + eax - 0x148]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x27a]
movzx eax, word [ebp - 0x27a]
or eax, 0xc00
mov dword [ebp - 0x280], eax
fldcw word [ebp - 0x280]
fistp qword [ebp - 0x288]
fldcw word [ebp - 0x27a]
mov edx, dword [ebp - 0x288]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x15a], cl
jmp 0x96cb1b
movzx eax, byte [ebp - 0x15a]
movzx ecx, byte [ebp + eax - 0x148]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x28a]
movzx eax, word [ebp - 0x28a]
or eax, 0xc00
mov dword [ebp - 0x290], eax
fldcw word [ebp - 0x290]
fistp qword [ebp - 0x298]
fldcw word [ebp - 0x28a]
mov edx, dword [ebp - 0x298]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x15a], cl
jmp 0x96cb1b
movzx eax, byte [ebp - 0x15a]
movzx ecx, byte [ebp + eax - 0x148]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x29a]
movzx eax, word [ebp - 0x29a]
or eax, 0xc00
mov dword [ebp - 0x2a0], eax
fldcw word [ebp - 0x2a0]
fistp qword [ebp - 0x2a8]
fldcw word [ebp - 0x29a]
mov edx, dword [ebp - 0x2a8]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x15a], cl
jmp 0x96cb1b
movzx eax, byte [ebp - 0x15a]
movzx ecx, byte [ebp + eax - 0x148]
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x44]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x15a], cl
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
movzx edx, byte [ebp - 0x159]
cmp dword [ebp - 0x44], edx
jb 0x96cb4d
mov dword [ebp - 0x44], 0
movzx eax, byte [ebp - 0x159]
movzx ecx, byte [ebp - 0x15a]
add ecx, eax
mov byte [ebp - 0x15a], cl
movzx edx, byte [ebp - 0x15a]
and edx, dword [ebp - 0x168]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x160]
add eax, 1
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0xb
jbe 0x96cb8c
mov eax, dword [ebp - 0x164]
xor edx, edx
div dword [ebp - 0x150]
mov dword [ebp - 0x164], edx
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [ebp - 0x150]
ja 0x96c980
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x164]
je 0x96cc31
mov eax, dword [ebp - 0x164]
movzx ecx, byte [ebp + eax - 0x148]
mov edx, dword [ebp - 0x150]
movzx eax, byte [ebp + edx - 0x148]
xor eax, ecx
mov ecx, dword [ebp - 0x150]
mov byte [ebp + ecx - 0x148], al
mov edx, dword [ebp - 0x150]
movzx eax, byte [ebp + edx - 0x148]
mov ecx, dword [ebp - 0x164]
movzx edx, byte [ebp + ecx - 0x148]
xor edx, eax
mov eax, dword [ebp - 0x164]
mov byte [ebp + eax - 0x148], dl
mov ecx, dword [ebp - 0x164]
movzx edx, byte [ebp + ecx - 0x148]
mov eax, dword [ebp - 0x150]
movzx ecx, byte [ebp + eax - 0x148]
xor ecx, edx
mov edx, dword [ebp - 0x150]
mov byte [ebp + edx - 0x148], cl
jmp 0x96c930
mov al, byte [ebp - 0x147]
mov byte [ebp - 0x15b], al
mov cl, byte [ebp - 0x145]
mov byte [ebp - 0x45], cl
mov dl, byte [ebp - 0x143]
mov byte [ebp - 0x149], dl
mov al, byte [ebp - 0x141]
mov byte [ebp - 0x151], al
movzx ecx, byte [ebp - 0x15a]
mov dl, byte [ebp + ecx - 0x148]
mov byte [ebp - 0x35], dl
mov dword [ebp - 0x158], 0x34
cmp dword [ebp - 0x158], 2
jle 0x96ec7a
mov eax, dword [ebp - 0x158]
and eax, 1
jne 0x96ec7a
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x16c], 0
mov edx, dword [ebp - 0x1e4]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x214]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x198], 0
mov edx, dword [ebp - 0x198]
add edx, 0x64
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1e4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x258], 0
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x1c8]
movzx eax, byte [edx]
add eax, dword [ebp - 0x258]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x210]
add ecx, 0x85
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x254], 0
mov edx, dword [ebp - 0x214]
sub edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x254]
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x258]
sub eax, dword [ebp - 0x210]
add eax, dword [ebp - 0x170]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x250], 0
mov ecx, dword [ebp - 0x254]
shl ecx, 4
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x250]
or eax, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 0x1a1], 0
mov cl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], cl
mov byte [ebp - 0x249], 0
movzx edx, byte [ebp - 0x35]
mov al, byte [ebp + edx - 0x148]
mov byte [ebp - 0x249], al
movzx ecx, byte [ebp - 0x15b]
movzx edx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp - 0x45]
add eax, edx
mov byte [ebp - 0x45], al
mov cl, byte [ebp - 0x15b]
add cl, 1
mov byte [ebp - 0x15b], cl
movzx edx, byte [ebp - 0x45]
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x151]
movzx eax, byte [ebp - 0x45]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp - 0x151]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x15b]
mov al, byte [ebp - 0x249]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x249]
movzx edx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp - 0x149]
add eax, edx
mov byte [ebp - 0x149], al
movzx ecx, byte [ebp - 0x1a1]
movzx edx, byte [ebp - 0x45]
movzx eax, byte [ebp + edx - 0x148]
movzx edx, byte [ebp - 0x15b]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x148]
xor ecx, eax
movzx edx, byte [ebp - 0x151]
movzx eax, byte [ebp + edx - 0x148]
movzx edx, byte [ebp - 0x35]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
movzx edx, byte [ebp - 0x149]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x148]
movzx edx, byte [ebp + eax - 0x148]
xor ecx, edx
mov byte [ebp - 0x151], cl
mov al, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], al
mov cl, byte [ebp - 0x151]
mov byte [ebp - 0x205], cl
cmp dword [ebp - 0x1e4], 0
jle 0x96cf72
mov edx, dword [ebp - 0x1e4]
mov al, byte [ebp - 0x205]
mov byte [ebp + edx - 0x2d], al
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e4]
shl eax, 1
mov dword [ebp - 0x16c], eax
fld dword [0xa070c0]
fstp dword [ebp - 0x224]
fld dword [0xa070bc]
fstp dword [ebp - 0x178]
fld dword [0xa070b8]
fstp dword [ebp - 0x248]
fld dword [0xa070b4]
fstp dword [ebp - 0x194]
fld dword [0xa070b0]
fstp dword [ebp - 0x1c4]
fld dword [0xa070ac]
fstp dword [ebp - 0x204]
fld dword [0xa070a8]
fstp dword [ebp - 0x244]
fld dword [ebp - 0x248]
fmul dword [ebp - 0x244]
fstp dword [ebp - 0x248]
fld dword [ebp - 0x194]
fsub dword [ebp - 0x244]
fstp dword [ebp - 0x194]
fld dword [ebp - 0x248]
fadd dword [ebp - 0x244]
fstp dword [ebp - 0x248]
fld dword [ebp - 0x194]
fadd dword [ebp - 0x244]
fstp dword [ebp - 0x194]
fld dword [ebp - 0x194]
fsub dword [ebp - 0x244]
fstp dword [ebp - 0x194]
fld dword [ebp - 0x178]
fadd dword [ebp - 0x244]
fstp dword [ebp - 0x178]
fld dword [ebp - 0x1c4]
fsub dword [ebp - 0x244]
fstp dword [ebp - 0x1c4]
fld dword [ebp - 0x244]
fld dword [ebp - 0x248]
fcompp
fnstsw ax
test ah, 5
jp 0x96d10c
fld dword [ebp - 0x194]
fsub dword [ebp - 0x1c4]
fstp dword [ebp - 0x194]
fld dword [ebp - 0x244]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x244]
fld dword [ebp - 0x178]
fdiv dword [ebp - 0x248]
fstp dword [ebp - 0x178]
fld dword [ebp - 0x204]
fadd dword [ebp - 0x244]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x244]
fmul dword [ebp - 0x224]
fstp dword [ebp - 0x244]
fld dword [ebp - 0x1c4]
fsub dword [ebp - 0x204]
fstp dword [ebp - 0x1c4]
fld dword [ebp - 0x178]
fmul dword [ebp - 0x248]
fstp dword [ebp - 0x178]
jmp 0x96d19c
fld dword [ebp - 0x178]
fadd dword [ebp - 0x248]
fstp dword [ebp - 0x178]
fld dword [ebp - 0x178]
fsub dword [ebp - 0x248]
fstp dword [ebp - 0x178]
fld dword [ebp - 0x244]
fsub dword [ebp - 0x224]
fstp dword [ebp - 0x244]
fld dword [ebp - 0x224]
fmul dword [ebp - 0x178]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x1c4]
fsub dword [ebp - 0x204]
fstp dword [ebp - 0x1c4]
fld dword [ebp - 0x178]
fadd dword [ebp - 0x248]
fstp dword [ebp - 0x178]
fld dword [ebp - 0x178]
fmul dword [ebp - 0x248]
fstp dword [ebp - 0x178]
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x198], 0x64
mov eax, dword [ebp - 0x1e4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x1c8]
movzx eax, byte [edx]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x210], 0x85
mov ecx, dword [ebp - 0x214]
sub ecx, dword [ebp - 0x198]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x258]
sub edx, dword [ebp - 0x210]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x254]
shl eax, 4
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x250]
or edx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], edx
mov al, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], al
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + ecx - 0x148]
mov byte [ebp - 0x249], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp + eax - 0x148]
movzx edx, byte [ebp - 0x45]
add edx, ecx
mov byte [ebp - 0x45], dl
mov al, byte [ebp - 0x15b]
add al, 1
mov byte [ebp - 0x15b], al
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp - 0x35]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x151]
movzx edx, byte [ebp - 0x45]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x15b]
movzx edx, byte [ebp - 0x151]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x15b]
mov dl, byte [ebp - 0x249]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x249]
movzx ecx, byte [ebp + eax - 0x148]
movzx edx, byte [ebp - 0x149]
add edx, ecx
mov byte [ebp - 0x149], dl
movzx eax, byte [ebp - 0x1a1]
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp + ecx - 0x148]
movzx ecx, byte [ebp - 0x15b]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x148]
xor eax, edx
movzx ecx, byte [ebp - 0x151]
movzx edx, byte [ebp + ecx - 0x148]
movzx ecx, byte [ebp - 0x35]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
movzx ecx, byte [ebp - 0x149]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp + edx - 0x148]
xor eax, ecx
mov byte [ebp - 0x151], al
mov dl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], dl
mov al, byte [ebp - 0x151]
mov byte [ebp - 0x205], al
cmp dword [ebp - 0x1e4], 0
jle 0x96d391
mov ecx, dword [ebp - 0x1e4]
mov dl, byte [ebp - 0x205]
mov byte [ebp + ecx - 0x2d], dl
mov eax, dword [ebp - 0x1e0]
add eax, 9
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x25c], ecx
jmp 0x96d3c0
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
cmp eax, dword [ebp - 0x1e0]
jge 0x96d5fc
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x198], 0x64
mov edx, dword [ebp - 0x1e4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x1c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x210], 0x85
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x198]
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x258]
sub ecx, dword [ebp - 0x210]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x254]
shl edx, 4
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x250]
or ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], ecx
mov dl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], dl
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + eax - 0x148]
mov byte [ebp - 0x249], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x45]
add ecx, eax
mov byte [ebp - 0x45], cl
mov dl, byte [ebp - 0x15b]
add dl, 1
mov byte [ebp - 0x15b], dl
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp - 0x45]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp - 0x151]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x249]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x149]
add ecx, eax
mov byte [ebp - 0x149], cl
movzx edx, byte [ebp - 0x1a1]
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x15b]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
xor edx, ecx
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x35]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
movzx eax, byte [ebp - 0x149]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp + ecx - 0x148]
xor edx, eax
mov byte [ebp - 0x151], dl
mov cl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], cl
mov dl, byte [ebp - 0x151]
mov byte [ebp - 0x205], dl
cmp dword [ebp - 0x1e4], 0
jle 0x96d5f7
mov eax, dword [ebp - 0x1e4]
mov cl, byte [ebp - 0x205]
mov byte [ebp + eax - 0x2d], cl
jmp 0x96d3b1
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e4]
add eax, 1
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x1e4]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x198], 0x64
mov edx, dword [ebp - 0x1e4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x1c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x210], 0x85
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x198]
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x258]
sub ecx, dword [ebp - 0x210]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x254]
shl edx, 4
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x250]
or ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], ecx
mov dl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], dl
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + eax - 0x148]
mov byte [ebp - 0x249], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x45]
add ecx, eax
mov byte [ebp - 0x45], cl
mov dl, byte [ebp - 0x15b]
add dl, 1
mov byte [ebp - 0x15b], dl
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp - 0x45]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp - 0x151]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x249]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x149]
add ecx, eax
mov byte [ebp - 0x149], cl
movzx edx, byte [ebp - 0x1a1]
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x15b]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
xor edx, ecx
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x35]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
movzx eax, byte [ebp - 0x149]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp + ecx - 0x148]
xor edx, eax
mov byte [ebp - 0x151], dl
mov cl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], cl
mov dl, byte [ebp - 0x151]
mov byte [ebp - 0x205], dl
cmp dword [ebp - 0x1e4], 0
jle 0x96d83f
mov eax, dword [ebp - 0x1e4]
mov cl, byte [ebp - 0x205]
mov byte [ebp + eax - 0x2d], cl
fld qword [0xa070a0]
fstp qword [ebp - 0x190]
fld qword [0xa07098]
fstp qword [ebp - 0x1c0]
fld qword [0x9f9320]
fstp qword [ebp - 0x200]
fld qword [0xa07090]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x1c0]
fsub qword [ebp - 0x240]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x1c0]
fmul qword [ebp - 0x240]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x190]
fmul qword [ebp - 0x240]
fstp qword [ebp - 0x190]
fld qword [ebp - 0x200]
fsub qword [ebp - 0x240]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x200]
fcomp qword [ebp - 0x190]
fnstsw ax
test ah, 5
jp 0x96d926
fld qword [ebp - 0x200]
fsub qword [ebp - 0x190]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x200]
fmul qword [ebp - 0x190]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x240]
fsub qword [ebp - 0x1c0]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x190]
fmul qword [ebp - 0x200]
fstp qword [ebp - 0x190]
mov edx, dword [ebp - 0x1e4]
add edx, 1
mov dword [ebp - 0x1e4], edx
jmp 0x96da5b
fld qword [ebp - 0x240]
fdiv qword [ebp - 0x190]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x1c0]
fsub qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x1c0]
fmul qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x200]
fmul qword [ebp - 0x240]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x1c0]
fsub qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x240]
fadd qword [ebp - 0x190]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x1c0]
fadd qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x1c0]
fadd qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x200]
fcomp qword [ebp - 0x190]
fnstsw ax
test ah, 0x41
jne 0x96da13
fld qword [ebp - 0x200]
fmul qword [ebp - 0x240]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x200]
fsub qword [ebp - 0x240]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x240]
fdiv qword [ebp - 0x190]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x1c0]
fmul qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
jmp 0x96da5b
fld qword [ebp - 0x190]
fadd qword [ebp - 0x1c0]
fstp qword [ebp - 0x190]
fld qword [ebp - 0x200]
fadd qword [ebp - 0x240]
fstp qword [ebp - 0x200]
fld qword [ebp - 0x1c0]
fmul qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x1c0]
fadd qword [ebp - 0x200]
fstp qword [ebp - 0x1c0]
fld dword [0xa07088]
fstp dword [ebp - 0x188]
fld dword [0xa07084]
fstp dword [ebp - 0x1f8]
fld dword [0xa07080]
fstp dword [ebp - 0x238]
fld dword [0xa0707c]
fstp dword [ebp - 0x184]
fld dword [0xa07078]
fstp dword [ebp - 0x1b4]
fld dword [0xa07074]
fstp dword [ebp - 0x1f4]
fld dword [0xa07070]
fstp dword [ebp - 0x234]
fld dword [ebp - 0x184]
fadd dword [ebp - 0x234]
fstp dword [ebp - 0x184]
fld dword [ebp - 0x184]
fsub dword [ebp - 0x234]
fstp dword [ebp - 0x184]
fld dword [ebp - 0x1f8]
fsub dword [ebp - 0x234]
fstp dword [ebp - 0x1f8]
fld dword [ebp - 0x188]
fadd dword [ebp - 0x234]
fstp dword [ebp - 0x188]
fld dword [ebp - 0x1f8]
fsub dword [ebp - 0x234]
fstp dword [ebp - 0x1f8]
fld dword [ebp - 0x184]
fadd dword [ebp - 0x234]
fstp dword [ebp - 0x184]
fld dword [ebp - 0x188]
fsub dword [ebp - 0x234]
fstp dword [ebp - 0x188]
fld dword [ebp - 0x188]
fld dword [ebp - 0x234]
fcompp
fnstsw ax
test ah, 5
jp 0x96dbd5
fld dword [ebp - 0x234]
fadd dword [ebp - 0x188]
fstp dword [ebp - 0x234]
fld dword [ebp - 0x1f8]
fsub dword [ebp - 0x238]
fstp dword [ebp - 0x1f8]
fld dword [ebp - 0x1f8]
fadd dword [ebp - 0x238]
fstp dword [ebp - 0x1f8]
fld dword [ebp - 0x188]
fmul dword [ebp - 0x1f8]
fstp dword [ebp - 0x188]
fld dword [ebp - 0x184]
fadd dword [ebp - 0x1b4]
fstp dword [ebp - 0x184]
fld dword [ebp - 0x188]
fsub dword [ebp - 0x1f8]
fstp dword [ebp - 0x188]
fld dword [ebp - 0x188]
fadd dword [ebp - 0x1f8]
fstp dword [ebp - 0x188]
mov eax, dword [ebp - 0x1e0]
add eax, 1
mov dword [ebp - 0x1e0], eax
jmp 0x96dc53
fld dword [ebp - 0x1b4]
fmul dword [ebp - 0x234]
fstp dword [ebp - 0x1b4]
fld dword [ebp - 0x184]
fdiv dword [ebp - 0x1f4]
fstp dword [ebp - 0x184]
fld dword [ebp - 0x184]
fmul dword [ebp - 0x1f4]
fstp dword [ebp - 0x184]
fld dword [ebp - 0x1f8]
fsub dword [ebp - 0x184]
fstp dword [ebp - 0x1f8]
fld dword [ebp - 0x188]
fmul dword [ebp - 0x238]
fstp dword [ebp - 0x188]
fld dword [ebp - 0x1b4]
fsub dword [ebp - 0x234]
fstp dword [ebp - 0x1b4]
fld dword [ebp - 0x238]
fmul dword [ebp - 0x1b4]
fstp dword [ebp - 0x238]
mov ecx, dword [ebp - 0x1e4]
shl ecx, 1
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x16c]
movzx eax, byte [edx]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x198], 0x64
mov ecx, dword [ebp - 0x1e4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c8]
movzx ecx, byte [eax]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x210], 0x85
mov edx, dword [ebp - 0x214]
sub edx, dword [ebp - 0x198]
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x258]
sub eax, dword [ebp - 0x210]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x254]
shl ecx, 4
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x250]
or eax, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], eax
fld qword [0xa07068]
fstp qword [ebp - 0x180]
fld qword [0x9ec410]
fstp qword [ebp - 0x1b0]
fld qword [0xa07060]
fstp qword [ebp - 0x1f0]
fld qword [0xa07058]
fstp qword [ebp - 0x230]
fld qword [0xa07050]
fstp qword [ebp - 0x220]
fld qword [0xa07048]
fstp qword [ebp - 0x1d8]
fld qword [0x9ff478]
fstp qword [ebp - 0x1a0]
fld qword [ebp - 0x1b0]
fsub qword [ebp - 0x1a0]
fstp qword [ebp - 0x1b0]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x1a0]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x1b0]
fsub qword [ebp - 0x1a0]
fstp qword [ebp - 0x1b0]
fld qword [ebp - 0x230]
fadd qword [ebp - 0x1a0]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x230]
fmul qword [ebp - 0x1a0]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x1a0]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x180]
fsub qword [ebp - 0x1a0]
fstp qword [ebp - 0x180]
fld qword [ebp - 0x230]
fcomp qword [ebp - 0x1a0]
fnstsw ax
test ah, 5
jp 0x96de66
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x180]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1f0]
fdiv qword [ebp - 0x220]
fstp qword [ebp - 0x1f0]
fld qword [ebp - 0x1a0]
fadd qword [ebp - 0x1b0]
fstp qword [ebp - 0x1a0]
fld qword [ebp - 0x230]
fsub qword [ebp - 0x1d8]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x1d8]
fdiv qword [ebp - 0x180]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x180]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x220]
fdiv qword [ebp - 0x1a0]
fstp qword [ebp - 0x220]
jmp 0x96def0
fld qword [ebp - 0x1b0]
fadd qword [ebp - 0x230]
fstp qword [ebp - 0x1b0]
fld qword [ebp - 0x1d8]
fadd qword [ebp - 0x180]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x220]
fmul qword [ebp - 0x1a0]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x1f0]
fsub qword [ebp - 0x220]
fstp qword [ebp - 0x1f0]
fld qword [ebp - 0x1f0]
fadd qword [ebp - 0x220]
fstp qword [ebp - 0x1f0]
fld qword [ebp - 0x1a0]
fsub qword [ebp - 0x1b0]
fstp qword [ebp - 0x1a0]
fld qword [ebp - 0x220]
fmul qword [ebp - 0x1a0]
fstp qword [ebp - 0x220]
mov cl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], cl
movzx edx, byte [ebp - 0x35]
mov al, byte [ebp + edx - 0x148]
mov byte [ebp - 0x249], al
movzx ecx, byte [ebp - 0x15b]
movzx edx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp - 0x45]
add eax, edx
mov byte [ebp - 0x45], al
mov cl, byte [ebp - 0x15b]
add cl, 1
mov byte [ebp - 0x15b], cl
movzx edx, byte [ebp - 0x45]
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x151]
movzx eax, byte [ebp - 0x45]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp - 0x151]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x15b]
mov al, byte [ebp - 0x249]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x249]
movzx edx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp - 0x149]
add eax, edx
mov byte [ebp - 0x149], al
movzx ecx, byte [ebp - 0x1a1]
movzx edx, byte [ebp - 0x45]
movzx eax, byte [ebp + edx - 0x148]
movzx edx, byte [ebp - 0x15b]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x148]
xor ecx, eax
movzx edx, byte [ebp - 0x151]
movzx eax, byte [ebp + edx - 0x148]
movzx edx, byte [ebp - 0x35]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
movzx edx, byte [ebp - 0x149]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x148]
movzx edx, byte [ebp + eax - 0x148]
xor ecx, edx
mov byte [ebp - 0x151], cl
mov al, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], al
mov cl, byte [ebp - 0x151]
mov byte [ebp - 0x205], cl
cmp dword [ebp - 0x1e4], 0
jle 0x96e051
mov edx, dword [ebp - 0x1e4]
mov al, byte [ebp - 0x205]
mov byte [ebp + edx - 0x2d], al
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e4]
shl eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x198], 0x64
mov eax, dword [ebp - 0x1e4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x1c8]
movzx eax, byte [edx]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x210], 0x85
mov ecx, dword [ebp - 0x214]
sub ecx, dword [ebp - 0x198]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x258]
sub edx, dword [ebp - 0x210]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x254]
shl eax, 4
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x250]
or edx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], edx
mov al, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], al
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + ecx - 0x148]
mov byte [ebp - 0x249], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp + eax - 0x148]
movzx edx, byte [ebp - 0x45]
add edx, ecx
mov byte [ebp - 0x45], dl
mov al, byte [ebp - 0x15b]
add al, 1
mov byte [ebp - 0x15b], al
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp - 0x35]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x151]
movzx edx, byte [ebp - 0x45]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x15b]
movzx edx, byte [ebp - 0x151]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x15b]
mov dl, byte [ebp - 0x249]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x249]
movzx ecx, byte [ebp + eax - 0x148]
movzx edx, byte [ebp - 0x149]
add edx, ecx
mov byte [ebp - 0x149], dl
movzx eax, byte [ebp - 0x1a1]
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp + ecx - 0x148]
movzx ecx, byte [ebp - 0x15b]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x148]
xor eax, edx
movzx ecx, byte [ebp - 0x151]
movzx edx, byte [ebp + ecx - 0x148]
movzx ecx, byte [ebp - 0x35]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
movzx ecx, byte [ebp - 0x149]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp + edx - 0x148]
xor eax, ecx
mov byte [ebp - 0x151], al
mov dl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], dl
mov al, byte [ebp - 0x151]
mov byte [ebp - 0x205], al
cmp dword [ebp - 0x1e4], 0
jle 0x96e284
mov ecx, dword [ebp - 0x1e4]
mov dl, byte [ebp - 0x205]
mov byte [ebp + ecx - 0x2d], dl
mov eax, dword [ebp - 0x1e0]
add eax, 9
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x260], ecx
jmp 0x96e2b3
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x1e0]
jge 0x96e4ef
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x198], 0x64
mov edx, dword [ebp - 0x1e4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x1c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x210], 0x85
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x198]
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x258]
sub ecx, dword [ebp - 0x210]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x254]
shl edx, 4
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x250]
or ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], ecx
mov dl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], dl
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + eax - 0x148]
mov byte [ebp - 0x249], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x45]
add ecx, eax
mov byte [ebp - 0x45], cl
mov dl, byte [ebp - 0x15b]
add dl, 1
mov byte [ebp - 0x15b], dl
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp - 0x45]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp - 0x151]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x249]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x149]
add ecx, eax
mov byte [ebp - 0x149], cl
movzx edx, byte [ebp - 0x1a1]
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x15b]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
xor edx, ecx
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x35]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
movzx eax, byte [ebp - 0x149]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp + ecx - 0x148]
xor edx, eax
mov byte [ebp - 0x151], dl
mov cl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], cl
mov dl, byte [ebp - 0x151]
mov byte [ebp - 0x205], dl
cmp dword [ebp - 0x1e4], 0
jle 0x96e4ea
mov eax, dword [ebp - 0x1e4]
mov cl, byte [ebp - 0x205]
mov byte [ebp + eax - 0x2d], cl
jmp 0x96e2a4
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e4]
add eax, 1
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x1e4]
shl edx, 1
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x16c]
movzx ecx, byte [eax]
mov dword [ebp - 0x214], ecx
mov dword [ebp - 0x198], 0x64
mov edx, dword [ebp - 0x1e4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x1c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x210], 0x85
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x198]
mov dword [ebp - 0x254], eax
fld dword [0xa07044]
fstp dword [ebp - 0x174]
fld dword [0xa07040]
fstp dword [ebp - 0x218]
fld dword [0x9f7a68]
fstp dword [ebp - 0x1cc]
fld dword [ebp - 0x218]
fsub dword [ebp - 0x1cc]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x218]
fadd dword [ebp - 0x1cc]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x174]
fsub dword [ebp - 0x1cc]
fstp dword [ebp - 0x174]
fld dword [ebp - 0x1cc]
fld dword [ebp - 0x218]
fcompp
fnstsw ax
test ah, 5
jp 0x96e62b
fld dword [ebp - 0x174]
fmul dword [ebp - 0x218]
fstp dword [ebp - 0x174]
fld dword [ebp - 0x218]
fsub dword [ebp - 0x1cc]
fstp dword [ebp - 0x218]
fld dword [ebp - 0x174]
fmul dword [ebp - 0x218]
fstp dword [ebp - 0x174]
jmp 0x96e673
fld dword [ebp - 0x174]
fadd dword [ebp - 0x218]
fstp dword [ebp - 0x174]
fld dword [ebp - 0x1cc]
fsub dword [ebp - 0x174]
fstp dword [ebp - 0x1cc]
fld dword [ebp - 0x218]
fmul dword [ebp - 0x1cc]
fstp dword [ebp - 0x218]
mov ecx, dword [ebp - 0x258]
sub ecx, dword [ebp - 0x210]
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x254]
shl edx, 4
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x250]
or ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], ecx
mov dl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], dl
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + eax - 0x148]
mov byte [ebp - 0x249], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x45]
add ecx, eax
mov byte [ebp - 0x45], cl
mov dl, byte [ebp - 0x15b]
add dl, 1
mov byte [ebp - 0x15b], dl
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp - 0x45]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp - 0x151]
mov dl, byte [ebp + eax - 0x148]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x15b]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x249]
movzx eax, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp - 0x149]
add ecx, eax
mov byte [ebp - 0x149], cl
movzx edx, byte [ebp - 0x1a1]
movzx eax, byte [ebp - 0x45]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x15b]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
xor edx, ecx
movzx eax, byte [ebp - 0x151]
movzx ecx, byte [ebp + eax - 0x148]
movzx eax, byte [ebp - 0x35]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
movzx eax, byte [ebp - 0x149]
movzx eax, byte [ebp + eax - 0x148]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp + ecx - 0x148]
xor edx, eax
mov byte [ebp - 0x151], dl
mov cl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], cl
mov dl, byte [ebp - 0x151]
mov byte [ebp - 0x205], dl
cmp dword [ebp - 0x1e4], 0
jle 0x96e80f
mov eax, dword [ebp - 0x1e4]
mov cl, byte [ebp - 0x205]
mov byte [ebp + eax - 0x2d], cl
mov edx, dword [ebp - 0x1e4]
add edx, 1
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0x1e0]
add eax, 1
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e4]
shl ecx, 1
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x16c]
movzx eax, byte [edx]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x198], 0x64
mov ecx, dword [ebp - 0x1e4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c8]
movzx ecx, byte [eax]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x210], 0x85
mov edx, dword [ebp - 0x214]
sub edx, dword [ebp - 0x198]
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x258]
sub eax, dword [ebp - 0x210]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x254]
shl ecx, 4
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp - 0x250]
or eax, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], eax
mov cl, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], cl
movzx edx, byte [ebp - 0x35]
mov al, byte [ebp + edx - 0x148]
mov byte [ebp - 0x249], al
movzx ecx, byte [ebp - 0x15b]
movzx edx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp - 0x45]
add eax, edx
mov byte [ebp - 0x45], al
mov cl, byte [ebp - 0x15b]
add cl, 1
mov byte [ebp - 0x15b], cl
movzx edx, byte [ebp - 0x45]
movzx eax, byte [ebp - 0x35]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x151]
movzx eax, byte [ebp - 0x45]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x15b]
movzx eax, byte [ebp - 0x151]
mov cl, byte [ebp + edx - 0x148]
mov byte [ebp + eax - 0x148], cl
movzx edx, byte [ebp - 0x15b]
mov al, byte [ebp - 0x249]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x249]
movzx edx, byte [ebp + ecx - 0x148]
movzx eax, byte [ebp - 0x149]
add eax, edx
mov byte [ebp - 0x149], al
movzx ecx, byte [ebp - 0x1a1]
movzx edx, byte [ebp - 0x45]
movzx eax, byte [ebp + edx - 0x148]
movzx edx, byte [ebp - 0x15b]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x148]
xor ecx, eax
movzx edx, byte [ebp - 0x151]
movzx eax, byte [ebp + edx - 0x148]
movzx edx, byte [ebp - 0x35]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
movzx edx, byte [ebp - 0x149]
movzx edx, byte [ebp + edx - 0x148]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x148]
movzx edx, byte [ebp + eax - 0x148]
xor ecx, edx
mov byte [ebp - 0x151], cl
mov al, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], al
mov cl, byte [ebp - 0x151]
mov byte [ebp - 0x205], cl
cmp dword [ebp - 0x1e4], 0
jle 0x96ea41
mov edx, dword [ebp - 0x1e4]
mov al, byte [ebp - 0x205]
mov byte [ebp + edx - 0x2d], al
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e4]
shl eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x16c]
movzx edx, byte [ecx]
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x198], 0x64
mov eax, dword [ebp - 0x1e4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x1c8]
movzx eax, byte [edx]
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x210], 0x85
mov ecx, dword [ebp - 0x214]
sub ecx, dword [ebp - 0x198]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x258]
sub edx, dword [ebp - 0x210]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x254]
shl eax, 4
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp - 0x250]
or edx, dword [ebp - 0x20c]
mov dword [ebp - 0x1dc], edx
mov al, byte [ebp - 0x1dc]
mov byte [ebp - 0x1a1], al
movzx ecx, byte [ebp - 0x35]
mov dl, byte [ebp + ecx - 0x148]
mov byte [ebp - 0x249], dl
movzx eax, byte [ebp - 0x15b]
movzx ecx, byte [ebp + eax - 0x148]
movzx edx, byte [ebp - 0x45]
add edx, ecx
mov byte [ebp - 0x45], dl
mov al, byte [ebp - 0x15b]
add al, 1
mov byte [ebp - 0x15b], al
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp - 0x35]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x151]
movzx edx, byte [ebp - 0x45]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x15b]
movzx edx, byte [ebp - 0x151]
mov al, byte [ebp + ecx - 0x148]
mov byte [ebp + edx - 0x148], al
movzx ecx, byte [ebp - 0x15b]
mov dl, byte [ebp - 0x249]
mov byte [ebp + ecx - 0x148], dl
movzx eax, byte [ebp - 0x249]
movzx ecx, byte [ebp + eax - 0x148]
movzx edx, byte [ebp - 0x149]
add edx, ecx
mov byte [ebp - 0x149], dl
movzx eax, byte [ebp - 0x1a1]
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp + ecx - 0x148]
movzx ecx, byte [ebp - 0x15b]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x148]
xor eax, edx
movzx ecx, byte [ebp - 0x151]
movzx edx, byte [ebp + ecx - 0x148]
movzx ecx, byte [ebp - 0x35]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
movzx ecx, byte [ebp - 0x149]
movzx ecx, byte [ebp + ecx - 0x148]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x148]
movzx ecx, byte [ebp + edx - 0x148]
xor eax, ecx
mov byte [ebp - 0x151], al
mov dl, byte [ebp - 0x1a1]
mov byte [ebp - 0x35], dl
mov al, byte [ebp - 0x151]
mov byte [ebp - 0x205], al
cmp dword [ebp - 0x1e4], 0
jle 0x96ec74
mov ecx, dword [ebp - 0x1e4]
mov dl, byte [ebp - 0x205]
mov byte [ebp + ecx - 0x2d], dl
mov byte [ebp - 0x13], 0
jmp 0x96ecab
mov dword [ebp - 0x264], 0
jmp 0x96ec95
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0x1a
jge 0x96ecab
mov ecx, dword [ebp - 0x264]
mov byte [ebp + ecx - 0x2c], 0
jmp 0x96ec86
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2ac]
mov al, byte [edx]
mov byte [ebp - 0x2b5], al
mov ecx, dword [ebp - 0x2b0]
mov dl, byte [ebp - 0x2b5]
mov byte [ecx], dl
mov eax, dword [ebp - 0x2ac]
add eax, 1
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 1
mov dword [ebp - 0x2b0], ecx
cmp byte [ebp - 0x2b5], 0
jne 0x96ecc9
mov esp, ebp
pop ebp
ret