Function at 0x4aa870
Capabilities:
Encrypt data using speck

Disassembly:
add byte [eax], al
push ebp
mov ebp, esp
sub esp, 0x298
mov dword [ebp - 0x254], ecx
call fcn.0095c70d
cdq
mov ecx, 0x1a
idiv ecx
mov dword [ebp - 0x1c], edx
call fcn.0095c70d
cdq
mov ecx, 0x1a
idiv ecx
mov dword [ebp - 4], edx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x254]
call fcn.004a7700
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
fldz
fstp qword [ebp - 0x18]
fldz
fstp qword [ebp - 0x10]
fldz
fstp qword [ebp - 0x10]
jmp 0x4aa8e0
fld qword [ebp - 0x10]
fadd qword [0x9c5c28]
fstp qword [ebp - 0x10]
fld qword [0x9c8a88]
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 0x41
jne 0x4aa93f
fld qword [0x9c8a80]
fmul qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fld qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fsubp st(1)
fld qword [0x9c8a78]
fmul qword [ebp - 0x10]
fmul qword [ebp - 0x10]
fadd qword [0x9c8a70]
fdivp st(1)
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x18]
fld qword [0x9c8a68]
fcomp qword [ebp - 0x18]
push 0xdc009c8a
pushfd
add ah, bl
pop ebp
call 0xc5418a0a
fnstsw ax
test ah, 5
jp 0x4aa93d
loopne 0x4aa920
les eax, [0x5dd0f7a]
add eax, 0x5dd0f7a
fld qword [0x9c8a60]
pushal
mov bl, byte [eax + eax - 0x230fb224]
fmul qword [ebp - 0x10]
fsubr qword [ebp - 0x18]
fstp qword [ebp - 0x18]
insd dword es:[edi], dx
call 0xec33071b
xchg ebp, eax
jmp 0x4aa8d4
fldz
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
jne 0x4aa997
jno 0x4aa922
js 0x4aa928
jno 0x4aa925
aam 0x75
aad 0x6a
jne 0x4aa928
push 0xffffffffffffffd2
jo 0x4aa927
sal byte [eax - 0x30], cl
jo 0x4aa934
ja 0x4aa92b
push 0xffffffffffffffcf
imul ebx, esp, 0x71
salc
insb byte es:[edi], dx
sar dword [eax - 0x26], 1
jae 0x4aa941
jae 0x4aa938
push 0xffffffffffffffd3
push 0xffffffffffffffd6
outsd dx, dword [esi]
aad 0x74
fldcw word [edx - 0x33]
ja 0x4aa949
imul ebx, esp, 0x6f
into
jns 0x4aa954
js 0x4aa954
jbe 0x4aa950
jno 0x4aa954
pop esi
ja 0x4aa9fe
jo 0x4aa9c8
pop eax
outsb dx, byte [esi]
inc esi
push edi
and esp, dword [di]
jle 0x4aa9c6
inc ebx
jo 0x4aaa03
jmp 0x4acbfc
mov dword [ebp - 0x60], 0x4aa94b
mov dword [ebp - 0x5c], 0x4aa981
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x189], 0x15
mov dword [ebp - 0x180], 0
jmp 0x4aa9d3
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x180], eax
cmp dh, 0xff
inc dword [ebx - 0x7a76fe40]
cmp dh, 0xff
inc dword [ecx - 0x17f43]
inc dword [eax]
add dword [eax], eax
add byte [ebx + 0x15], dh
invalid
cmp dword [ebp - 0x180], 0x100
jae 0x4aa9f4
mov ecx, dword [ebp - 0x180]
mov dl, byte [ebp - 0x180]
mov byte [ebp + ecx - 0x178], dl
jmp 0x4aa9c4
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x18a], 0
mov dword [ebp - 0x180], 0xff
jmp 0x4aaa1d
invalid
test dword [eax - 2], eax
add byte [eax], al
add bl, ch
jnp 0x492a98
mov eax, dword [ebp - 0x180]
sub eax, 1
mov dword [ebp - 0x180], eax
inc dword [ebx - 0x7a76fe18]
cmp dh, 0xff
inc dword [ebx - 0x17f43]
inc dword [eax]
cmp dword [ebp - 0x180], 0
jbe 0x4aad14
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x198], 1
mov ecx, dword [ebp - 0x198]
cmp ecx, dword [ebp - 0x180]
jae 0x4aaa5e
mov edx, dword [ebp - 0x198]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x198], eax
jmp 0x4aaa3e
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x258], ecx
cmp dword [ebp - 0x258], 3
ja case.default.0x4aaa7a
mov edx, dword [ebp - 0x258]
jmp dword [edx*4 + 0x4acc38]
movzx eax, byte [ebp - 0x18a]
movzx ecx, byte [ebp + eax - 0x178]
fld qword [ebp - 0x18]
fnstcw word [ebp - 0x25a]
movzx eax, word [ebp - 0x25a]
or eax, 0xc00
mov dword [ebp - 0x260], eax
fldcw word [ebp - 0x260]
fistp qword [ebp - 0x268]
fldcw word [ebp - 0x25a]
mov edx, dword [ebp - 0x268]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x18a], cl
jmp 0x4aabf9
movzx eax, byte [ebp - 0x18a]
movzx ecx, byte [ebp + eax - 0x178]
fld qword [ebp - 0x18]
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]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x18a], cl
jmp 0x4aabf9
movzx eax, byte [ebp - 0x18a]
movzx ecx, byte [ebp + eax - 0x178]
fld qword [ebp - 0x18]
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, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x18a], cl
jmp 0x4aabf9
movzx eax, byte [ebp - 0x18a]
movzx ecx, byte [ebp + eax - 0x178]
fld qword [ebp - 0x18]
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, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x18a], cl
jmp 0x4aabf9
movzx eax, byte [ebp - 0x18a]
movzx ecx, byte [ebp + eax - 0x178]
mov edx, dword [ebp - 0x68]
add edx, dword [ebp - 0x70]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x18a], cl
mov ecx, dword [ebp - 0x70]
add ecx, 1
mov dword [ebp - 0x70], ecx
movzx edx, byte [ebp - 0x189]
cmp dword [ebp - 0x70], edx
jb 0x4aac2b
mov dword [ebp - 0x70], 0
movzx eax, byte [ebp - 0x189]
movzx ecx, byte [ebp - 0x18a]
add ecx, eax
mov byte [ebp - 0x18a], cl
movzx edx, byte [ebp - 0x18a]
and edx, dword [ebp - 0x198]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x190]
add eax, 1
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0xb
jbe 0x4aac6a
mov eax, dword [ebp - 0x194]
xor edx, edx
div dword [ebp - 0x180]
mov dword [ebp - 0x194], edx
mov ecx, dword [ebp - 0x194]
cmp ecx, dword [ebp - 0x180]
ja 0x4aaa5e
mov edx, dword [ebp - 0x180]
cmp edx, dword [ebp - 0x194]
je 0x4aad0f
mov eax, dword [ebp - 0x194]
movzx ecx, byte [ebp + eax - 0x178]
mov edx, dword [ebp - 0x180]
movzx eax, byte [ebp + edx - 0x178]
xor eax, ecx
mov ecx, dword [ebp - 0x180]
mov byte [ebp + ecx - 0x178], al
mov edx, dword [ebp - 0x180]
movzx eax, byte [ebp + edx - 0x178]
mov ecx, dword [ebp - 0x194]
movzx edx, byte [ebp + ecx - 0x178]
xor edx, eax
mov eax, dword [ebp - 0x194]
mov byte [ebp + eax - 0x178], dl
mov ecx, dword [ebp - 0x194]
movzx edx, byte [ebp + ecx - 0x178]
mov eax, dword [ebp - 0x180]
movzx ecx, byte [ebp + eax - 0x178]
xor ecx, edx
mov edx, dword [ebp - 0x180]
mov byte [ebp + edx - 0x178], cl
jmp 0x4aaa0e
mov al, byte [ebp - 0x177]
mov byte [ebp - 0x18b], al
mov cl, byte [ebp - 0x175]
mov byte [ebp - 0x71], cl
mov dl, byte [ebp - 0x173]
mov byte [ebp - 0x179], dl
mov al, byte [ebp - 0x171]
mov byte [ebp - 0x181], al
movzx ecx, byte [ebp - 0x18a]
mov dl, byte [ebp + ecx - 0x178]
mov byte [ebp - 0x61], dl
mov dword [ebp - 0x188], 0x36
cmp dword [ebp - 0x188], 2
jle 0x4acbc9
mov eax, dword [ebp - 0x188]
and eax, 1
jne 0x4acbc9
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov ecx, dword [ebp - 0x1c8]
add ecx, 1
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0x1cc]
shl edx, 1
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1a4]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1b4], 0
mov edx, dword [ebp - 0x1b4]
add edx, 0x6a
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1cc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1c0]
movzx eax, byte [edx]
add eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1e0], 0
mov ecx, dword [ebp - 0x1e0]
add ecx, 0xcd
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1f0], 0
mov edx, dword [ebp - 0x1e4]
sub edx, dword [ebp - 0x1b4]
add edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1e0]
add eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1ec], 0
mov ecx, dword [ebp - 0x1f0]
shl ecx, 4
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1dc], 0
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], eax
mov byte [ebp - 0x1b5], 0
mov cl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], cl
mov byte [ebp - 0x1e5], 0
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + edx - 0x178]
mov byte [ebp - 0x1e5], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x71]
add eax, edx
mov byte [ebp - 0x71], al
mov cl, byte [ebp - 0x18b]
add cl, 1
mov byte [ebp - 0x18b], cl
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp - 0x71]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp - 0x181]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
mov al, byte [ebp - 0x1e5]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x1e5]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x179]
add eax, edx
mov byte [ebp - 0x179], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x18b]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
xor ecx, eax
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x61]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
movzx edx, byte [ebp - 0x179]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
movzx edx, byte [ebp + eax - 0x178]
xor ecx, edx
mov byte [ebp - 0x181], cl
mov al, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], cl
cmp dword [ebp - 0x1cc], 0
jle 0x4ab053
movsx dx, byte [ebp - 0x1d5]
mov eax, dword [ebp - 0x1cc]
mov word [ebp + eax*2 - 0x5a], dx
mov ecx, dword [ebp - 0x1cc]
add ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1cc]
shl eax, 1
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x1a4]
movzx edx, byte [ecx]
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1b4], 0x6a
mov eax, dword [ebp - 0x1cc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1c0]
movzx eax, byte [edx]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1e0], 0xcd
mov ecx, dword [ebp - 0x1e4]
sub ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x1f4]
sub edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1f0]
shl eax, 4
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1ec]
or edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], edx
mov al, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], al
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + ecx - 0x178]
mov byte [ebp - 0x1e5], dl
movzx eax, byte [ebp - 0x18b]
movzx ecx, byte [ebp + eax - 0x178]
movzx edx, byte [ebp - 0x71]
add edx, ecx
mov byte [ebp - 0x71], dl
mov al, byte [ebp - 0x18b]
add al, 1
mov byte [ebp - 0x18b], al
movzx ecx, byte [ebp - 0x71]
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x181]
movzx edx, byte [ebp - 0x71]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp - 0x181]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x18b]
mov dl, byte [ebp - 0x1e5]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x1e5]
movzx ecx, byte [ebp + eax - 0x178]
movzx edx, byte [ebp - 0x179]
add edx, ecx
mov byte [ebp - 0x179], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x71]
movzx edx, byte [ebp + ecx - 0x178]
movzx ecx, byte [ebp - 0x18b]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x178]
xor eax, edx
movzx ecx, byte [ebp - 0x181]
movzx edx, byte [ebp + ecx - 0x178]
movzx ecx, byte [ebp - 0x61]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
movzx ecx, byte [ebp - 0x179]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp + edx - 0x178]
xor eax, ecx
mov byte [ebp - 0x181], al
mov dl, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], dl
mov al, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], al
cmp dword [ebp - 0x1cc], 0
jle 0x4ab289
movsx cx, byte [ebp - 0x1d5]
mov edx, dword [ebp - 0x1cc]
mov word [ebp + edx*2 - 0x5a], cx
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1c8]
add ecx, 1
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
shl edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1a4]
movzx ecx, byte [eax]
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1b4], 0x6a
mov edx, dword [ebp - 0x1cc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x1c0]
movzx edx, byte [ecx]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1e0], 0xcd
mov eax, dword [ebp - 0x1e4]
sub eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1f4]
sub ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x1f0]
shl edx, 4
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1ec]
or ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], ecx
mov dl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], dl
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + eax - 0x178]
mov byte [ebp - 0x1e5], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp - 0x71]
add ecx, eax
mov byte [ebp - 0x71], cl
mov dl, byte [ebp - 0x18b]
add dl, 1
mov byte [ebp - 0x18b], dl
movzx eax, byte [ebp - 0x71]
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + eax - 0x178]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x181]
movzx ecx, byte [ebp - 0x71]
mov dl, byte [ebp + eax - 0x178]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x18b]
movzx ecx, byte [ebp - 0x181]
mov dl, byte [ebp + eax - 0x178]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x18b]
mov cl, byte [ebp - 0x1e5]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x1e5]
movzx eax, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp - 0x179]
add ecx, eax
mov byte [ebp - 0x179], cl
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp - 0x71]
movzx ecx, byte [ebp + eax - 0x178]
movzx eax, byte [ebp - 0x18b]
movzx eax, byte [ebp + eax - 0x178]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x178]
xor edx, ecx
movzx eax, byte [ebp - 0x181]
movzx ecx, byte [ebp + eax - 0x178]
movzx eax, byte [ebp - 0x61]
movzx eax, byte [ebp + eax - 0x178]
add ecx, eax
movzx eax, byte [ebp - 0x179]
movzx eax, byte [ebp + eax - 0x178]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp + ecx - 0x178]
xor edx, eax
mov byte [ebp - 0x181], dl
mov cl, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], cl
mov dl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], dl
cmp dword [ebp - 0x1cc], 0
jle 0x4ab4c0
movsx ax, byte [ebp - 0x1d5]
mov ecx, dword [ebp - 0x1cc]
mov word [ebp + ecx*2 - 0x5a], ax
mov edx, dword [ebp - 0x1c8]
add edx, 9
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x1f8], eax
jmp 0x4ab4ef
mov ecx, dword [ebp - 0x1f8]
add ecx, 1
mov dword [ebp - 0x1f8], ecx
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ebp - 0x1c8]
jge 0x4ab72c
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
shl ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1a4]
movzx eax, byte [edx]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1b4], 0x6a
mov ecx, dword [ebp - 0x1cc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1c0]
movzx ecx, byte [eax]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1e0], 0xcd
mov edx, dword [ebp - 0x1e4]
sub edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1f0]
shl ecx, 4
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], eax
mov cl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], cl
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + edx - 0x178]
mov byte [ebp - 0x1e5], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x71]
add eax, edx
mov byte [ebp - 0x71], al
mov cl, byte [ebp - 0x18b]
add cl, 1
mov byte [ebp - 0x18b], cl
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp - 0x71]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp - 0x181]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
mov al, byte [ebp - 0x1e5]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x1e5]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x179]
add eax, edx
mov byte [ebp - 0x179], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x18b]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
xor ecx, eax
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x61]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
movzx edx, byte [ebp - 0x179]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
movzx edx, byte [ebp + eax - 0x178]
xor ecx, edx
mov byte [ebp - 0x181], cl
mov al, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], cl
cmp dword [ebp - 0x1cc], 0
jle 0x4ab727
movsx dx, byte [ebp - 0x1d5]
mov eax, dword [ebp - 0x1cc]
mov word [ebp + eax*2 - 0x5a], dx
jmp 0x4ab4e0
mov ecx, dword [ebp - 0x1c8]
add ecx, 1
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1c8]
add eax, 1
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1cc]
shl ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1a4]
movzx eax, byte [edx]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1b4], 0x6a
mov ecx, dword [ebp - 0x1cc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1c0]
movzx ecx, byte [eax]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1e0], 0xcd
mov edx, dword [ebp - 0x1e4]
sub edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1f0]
shl ecx, 4
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], eax
mov cl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], cl
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + edx - 0x178]
mov byte [ebp - 0x1e5], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x71]
add eax, edx
mov byte [ebp - 0x71], al
mov cl, byte [ebp - 0x18b]
add cl, 1
mov byte [ebp - 0x18b], cl
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
fld dword [0x9c8a58]
fstp dword [ebp - 0x1d4]
fld dword [0x9c8a54]
fstp dword [ebp - 0x1bc]
fld dword [0x9c8a50]
fstp dword [ebp - 0x1b0]
fld dword [0x9c8a4c]
fstp dword [ebp - 0x1a0]
fld dword [0x9c8a48]
fstp dword [ebp - 0x1ac]
fld dword [0x9c8a44]
fstp dword [ebp - 0x19c]
fld dword [0x9c8a40]
fstp dword [ebp - 0x1d0]
fld dword [ebp - 0x1bc]
fsub dword [ebp - 0x1d0]
fstp dword [ebp - 0x1bc]
fld dword [ebp - 0x19c]
fadd dword [ebp - 0x1d0]
fstp dword [ebp - 0x19c]
fld dword [ebp - 0x1a0]
fmul dword [ebp - 0x1d0]
fstp dword [ebp - 0x1a0]
fld dword [ebp - 0x1d4]
fsub dword [ebp - 0x1d0]
fstp dword [ebp - 0x1d4]
fld dword [ebp - 0x1d4]
fsub dword [ebp - 0x1d0]
fstp dword [ebp - 0x1d4]
fld dword [ebp - 0x1b0]
fsub dword [ebp - 0x1d0]
fstp dword [ebp - 0x1b0]
fld dword [ebp - 0x1a0]
fadd dword [ebp - 0x1d0]
fstp dword [ebp - 0x1a0]
fld dword [ebp - 0x1a0]
fld dword [ebp - 0x1d0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4ab9c8
fld dword [ebp - 0x1d0]
fdiv dword [ebp - 0x1d4]
fstp dword [ebp - 0x1d0]
fld dword [ebp - 0x1a0]
fsub dword [ebp - 0x1ac]
fstp dword [ebp - 0x1a0]
fld dword [ebp - 0x1d4]
fmul dword [ebp - 0x1bc]
fstp dword [ebp - 0x1d4]
fld dword [ebp - 0x1d4]
fmul dword [ebp - 0x1bc]
fstp dword [ebp - 0x1d4]
fld dword [ebp - 0x19c]
fsub dword [ebp - 0x1d0]
fstp dword [ebp - 0x19c]
fld dword [ebp - 0x1d4]
fdiv dword [ebp - 0x1bc]
fstp dword [ebp - 0x1d4]
fld dword [ebp - 0x19c]
fdiv dword [ebp - 0x1d0]
fstp dword [ebp - 0x19c]
jmp 0x4aba5f
fld dword [ebp - 0x1b0]
fadd dword [ebp - 0x1a0]
fstp dword [ebp - 0x1b0]
fld dword [ebp - 0x1b0]
fsub dword [ebp - 0x1a0]
fstp dword [ebp - 0x1b0]
fld dword [ebp - 0x19c]
fadd dword [ebp - 0x1d0]
fstp dword [ebp - 0x19c]
fld dword [ebp - 0x1a0]
fadd dword [ebp - 0x1ac]
fstp dword [ebp - 0x1a0]
fld dword [ebp - 0x1d0]
fsub dword [ebp - 0x1d4]
fstp dword [ebp - 0x1d0]
fld dword [ebp - 0x1a0]
fsub dword [ebp - 0x1ac]
fstp dword [ebp - 0x1a0]
fld dword [ebp - 0x1d4]
fsub dword [ebp - 0x1bc]
fstp dword [ebp - 0x1d4]
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp - 0x71]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp - 0x181]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
mov al, byte [ebp - 0x1e5]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x1e5]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x179]
add eax, edx
mov byte [ebp - 0x179], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x18b]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
xor ecx, eax
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x61]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
movzx edx, byte [ebp - 0x179]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
movzx edx, byte [ebp + eax - 0x178]
xor ecx, edx
mov byte [ebp - 0x181], cl
mov al, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], cl
cmp dword [ebp - 0x1cc], 0
jle 0x4abb5c
movsx dx, byte [ebp - 0x1d5]
mov eax, dword [ebp - 0x1cc]
mov word [ebp + eax*2 - 0x5a], dx
mov ecx, dword [ebp - 0x1cc]
add ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1cc]
shl eax, 1
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x1a4]
movzx edx, byte [ecx]
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1b4], 0x6a
mov eax, dword [ebp - 0x1cc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1c0]
movzx eax, byte [edx]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1e0], 0xcd
mov ecx, dword [ebp - 0x1e4]
sub ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x1f4]
sub edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1f0]
shl eax, 4
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1ec]
or edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], edx
mov al, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], al
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + ecx - 0x178]
mov byte [ebp - 0x1e5], dl
movzx eax, byte [ebp - 0x18b]
movzx ecx, byte [ebp + eax - 0x178]
movzx edx, byte [ebp - 0x71]
add edx, ecx
mov byte [ebp - 0x71], dl
mov al, byte [ebp - 0x18b]
add al, 1
mov byte [ebp - 0x18b], al
movzx ecx, byte [ebp - 0x71]
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x181]
movzx edx, byte [ebp - 0x71]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp - 0x181]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x18b]
mov dl, byte [ebp - 0x1e5]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x1e5]
movzx ecx, byte [ebp + eax - 0x178]
movzx edx, byte [ebp - 0x179]
add edx, ecx
mov byte [ebp - 0x179], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x71]
movzx edx, byte [ebp + ecx - 0x178]
movzx ecx, byte [ebp - 0x18b]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x178]
xor eax, edx
movzx ecx, byte [ebp - 0x181]
movzx edx, byte [ebp + ecx - 0x178]
movzx ecx, byte [ebp - 0x61]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
movzx ecx, byte [ebp - 0x179]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp + edx - 0x178]
xor eax, ecx
mov byte [ebp - 0x181], al
mov dl, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], dl
mov al, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], al
cmp dword [ebp - 0x1cc], 0
jle 0x4abd92
movsx cx, byte [ebp - 0x1d5]
mov edx, dword [ebp - 0x1cc]
mov word [ebp + edx*2 - 0x5a], cx
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1c8]
add ecx, 1
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
shl edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1a4]
movzx ecx, byte [eax]
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1b4], 0x6a
mov edx, dword [ebp - 0x1cc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x1c0]
movzx edx, byte [ecx]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1e0], 0xcd
mov eax, dword [ebp - 0x1e4]
sub eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1f4]
sub ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x1f0]
shl edx, 4
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0x1ec]
or ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], ecx
mov dl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], dl
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + eax - 0x178]
mov byte [ebp - 0x1e5], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp - 0x71]
add ecx, eax
mov byte [ebp - 0x71], cl
mov dl, byte [ebp - 0x18b]
add dl, 1
mov byte [ebp - 0x18b], dl
movzx eax, byte [ebp - 0x71]
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + eax - 0x178]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x181]
movzx ecx, byte [ebp - 0x71]
mov dl, byte [ebp + eax - 0x178]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x18b]
movzx ecx, byte [ebp - 0x181]
mov dl, byte [ebp + eax - 0x178]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x18b]
mov cl, byte [ebp - 0x1e5]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x1e5]
movzx eax, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp - 0x179]
add ecx, eax
mov byte [ebp - 0x179], cl
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp - 0x71]
movzx ecx, byte [ebp + eax - 0x178]
movzx eax, byte [ebp - 0x18b]
movzx eax, byte [ebp + eax - 0x178]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x178]
xor edx, ecx
movzx eax, byte [ebp - 0x181]
movzx ecx, byte [ebp + eax - 0x178]
movzx eax, byte [ebp - 0x61]
movzx eax, byte [ebp + eax - 0x178]
add ecx, eax
movzx eax, byte [ebp - 0x179]
movzx eax, byte [ebp + eax - 0x178]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp + ecx - 0x178]
xor edx, eax
mov byte [ebp - 0x181], dl
mov cl, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], cl
mov dl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], dl
cmp dword [ebp - 0x1cc], 0
jle 0x4abfc9
movsx ax, byte [ebp - 0x1d5]
mov ecx, dword [ebp - 0x1cc]
mov word [ebp + ecx*2 - 0x5a], ax
mov edx, dword [ebp - 0x1c8]
add edx, 0xa
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x1fc], eax
jmp 0x4abff8
mov ecx, dword [ebp - 0x1fc]
add ecx, 1
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x1fc]
cmp edx, dword [ebp - 0x1c8]
jge 0x4ac747
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
shl ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1a4]
movzx eax, byte [edx]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1b4], 0x6a
mov ecx, dword [ebp - 0x1cc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1c0]
movzx ecx, byte [eax]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1e0], 0xcd
fld dword [0x9c8a3c]
fstp dword [ebp - 0x23c]
fld dword [0x9c8a38]
fstp dword [ebp - 0x224]
fld dword [0x9c8a34]
fstp dword [ebp - 0x20c]
fld dword [0x9c8a30]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x23c]
fadd dword [ebp - 0x24c]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x23c]
fsub dword [ebp - 0x24c]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x20c]
fadd dword [ebp - 0x24c]
fstp dword [ebp - 0x20c]
fld dword [ebp - 0x23c]
fadd dword [ebp - 0x24c]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x24c]
fld dword [ebp - 0x23c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4ac15b
fld dword [ebp - 0x24c]
fmul dword [ebp - 0x23c]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x23c]
fmul dword [ebp - 0x224]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x23c]
fmul dword [ebp - 0x224]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x20c]
fmul dword [ebp - 0x24c]
fstp dword [ebp - 0x20c]
mov edx, dword [ebp - 0x1e4]
sub edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], edx
jmp 0x4ac292
fld dword [ebp - 0x20c]
fmul dword [ebp - 0x24c]
fstp dword [ebp - 0x20c]
fld dword [ebp - 0x224]
fdiv dword [ebp - 0x20c]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x23c]
fdiv dword [ebp - 0x224]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x24c]
fdiv dword [ebp - 0x23c]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x24c]
fdiv dword [ebp - 0x23c]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x20c]
fsub dword [ebp - 0x24c]
fstp dword [ebp - 0x20c]
fld dword [ebp - 0x224]
fsub dword [ebp - 0x20c]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x23c]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x23c]
fld dword [ebp - 0x20c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4ac24a
fld dword [ebp - 0x224]
fsub dword [ebp - 0x20c]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x23c]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x224]
fdiv dword [ebp - 0x20c]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x23c]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x23c]
jmp 0x4ac292
fld dword [ebp - 0x23c]
fadd dword [ebp - 0x20c]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x24c]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x23c]
fsub dword [ebp - 0x20c]
fstp dword [ebp - 0x23c]
fld dword [ebp - 0x24c]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x24c]
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1f0]
shl ecx, 4
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], eax
mov cl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], cl
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + edx - 0x178]
mov byte [ebp - 0x1e5], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x71]
add eax, edx
mov byte [ebp - 0x71], al
mov cl, byte [ebp - 0x18b]
add cl, 1
mov byte [ebp - 0x18b], cl
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp - 0x71]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp - 0x181]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
fld qword [0x9c8a28]
fstp qword [ebp - 0x238]
fld qword [0x9c8a20]
fstp qword [ebp - 0x220]
fld qword [0x9c8a18]
fstp qword [ebp - 0x208]
fld qword [0x9c8a10]
fstp qword [ebp - 0x248]
fld qword [0x9c8a08]
fstp qword [ebp - 0x230]
fld qword [0x9c8a00]
fstp qword [ebp - 0x218]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x218]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x218]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x238]
fsub qword [ebp - 0x218]
fstp qword [ebp - 0x238]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x218]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x218]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x248]
fmul qword [ebp - 0x218]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x208]
fcomp qword [ebp - 0x248]
fnstsw ax
test ah, 5
jp 0x4ac4b0
fld qword [ebp - 0x230]
fsub qword [ebp - 0x238]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x238]
fmul qword [ebp - 0x208]
fstp qword [ebp - 0x238]
fld qword [ebp - 0x248]
fsub qword [ebp - 0x218]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x230]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x248]
fmul qword [ebp - 0x218]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x248]
fstp qword [ebp - 0x220]
movzx edx, byte [ebp - 0x18b]
mov al, byte [ebp - 0x1e5]
mov byte [ebp + edx - 0x178], al
jmp 0x4ac675
fld qword [ebp - 0x248]
fsub qword [ebp - 0x230]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x208]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x230]
fdiv qword [ebp - 0x218]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x238]
fadd qword [ebp - 0x220]
fstp qword [ebp - 0x238]
fld qword [ebp - 0x230]
fadd qword [ebp - 0x218]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x248]
fsub qword [ebp - 0x230]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x218]
fmul qword [ebp - 0x238]
fstp qword [ebp - 0x218]
fld qword [ebp - 0x230]
fdiv qword [ebp - 0x218]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x218]
fsub qword [ebp - 0x238]
fstp qword [ebp - 0x218]
fld qword [ebp - 0x218]
fadd qword [ebp - 0x238]
fstp qword [ebp - 0x218]
fld qword [ebp - 0x230]
fdiv qword [ebp - 0x218]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x238]
fcomp qword [ebp - 0x230]
fnstsw ax
test ah, 0x41
jne 0x4ac609
fld qword [ebp - 0x230]
fmul qword [ebp - 0x218]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x248]
fsub qword [ebp - 0x230]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x238]
fdiv qword [ebp - 0x220]
fstp qword [ebp - 0x238]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x208]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x238]
fsub qword [ebp - 0x220]
fstp qword [ebp - 0x238]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x208]
jmp 0x4ac675
fld qword [ebp - 0x248]
fdiv qword [ebp - 0x230]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x238]
fdiv qword [ebp - 0x220]
fstp qword [ebp - 0x238]
fld qword [ebp - 0x218]
fsub qword [ebp - 0x238]
fstp qword [ebp - 0x218]
fld qword [ebp - 0x248]
fdiv qword [ebp - 0x230]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x248]
fadd qword [ebp - 0x230]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x220]
fmul qword [ebp - 0x208]
fstp qword [ebp - 0x220]
movzx ecx, byte [ebp - 0x1e5]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x179]
add eax, edx
mov byte [ebp - 0x179], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x18b]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
xor ecx, eax
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x61]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
movzx edx, byte [ebp - 0x179]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
movzx edx, byte [ebp + eax - 0x178]
xor ecx, edx
mov byte [ebp - 0x181], cl
mov al, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], cl
cmp dword [ebp - 0x1cc], 0
jle 0x4ac742
movsx dx, byte [ebp - 0x1d5]
mov eax, dword [ebp - 0x1cc]
mov word [ebp + eax*2 - 0x5a], dx
jmp 0x4abfe9
mov ecx, dword [ebp - 0x1c8]
add ecx, 1
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1c8]
add eax, 1
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1cc]
shl ecx, 1
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1a4]
movzx eax, byte [edx]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1b4], 0x6a
mov ecx, dword [ebp - 0x1cc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x1c0]
movzx ecx, byte [eax]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1e0], 0xcd
mov edx, dword [ebp - 0x1e4]
sub edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f4]
sub eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1f0]
shl ecx, 4
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1ec]
or eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], eax
mov cl, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], cl
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + edx - 0x178]
mov byte [ebp - 0x1e5], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x71]
add eax, edx
mov byte [ebp - 0x71], al
mov cl, byte [ebp - 0x18b]
add cl, 1
mov byte [ebp - 0x18b], cl
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp - 0x71]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
movzx eax, byte [ebp - 0x181]
mov cl, byte [ebp + edx - 0x178]
mov byte [ebp + eax - 0x178], cl
movzx edx, byte [ebp - 0x18b]
mov al, byte [ebp - 0x1e5]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x1e5]
movzx edx, byte [ebp + ecx - 0x178]
movzx eax, byte [ebp - 0x179]
add eax, edx
mov byte [ebp - 0x179], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x71]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x18b]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
xor ecx, eax
movzx edx, byte [ebp - 0x181]
movzx eax, byte [ebp + edx - 0x178]
movzx edx, byte [ebp - 0x61]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
movzx edx, byte [ebp - 0x179]
movzx edx, byte [ebp + edx - 0x178]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x178]
movzx edx, byte [ebp + eax - 0x178]
xor ecx, edx
mov byte [ebp - 0x181], cl
mov al, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], cl
cmp dword [ebp - 0x1cc], 0
jle 0x4ac98b
movsx dx, byte [ebp - 0x1d5]
mov eax, dword [ebp - 0x1cc]
mov word [ebp + eax*2 - 0x5a], dx
mov ecx, dword [ebp - 0x1cc]
add ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1cc]
shl eax, 1
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x1a4]
movzx edx, byte [ecx]
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1b4], 0x6a
mov eax, dword [ebp - 0x1cc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x1c0]
movzx eax, byte [edx]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1e0], 0xcd
mov ecx, dword [ebp - 0x1e4]
sub ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0x1f4]
sub edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1f0]
shl eax, 4
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1ec]
or edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], edx
mov al, byte [ebp - 0x1c4]
mov byte [ebp - 0x1b5], al
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + ecx - 0x178]
mov byte [ebp - 0x1e5], dl
movzx eax, byte [ebp - 0x18b]
movzx ecx, byte [ebp + eax - 0x178]
movzx edx, byte [ebp - 0x71]
add edx, ecx
mov byte [ebp - 0x71], dl
mov al, byte [ebp - 0x18b]
add al, 1
mov byte [ebp - 0x18b], al
movzx ecx, byte [ebp - 0x71]
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x181]
movzx edx, byte [ebp - 0x71]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x18b]
movzx edx, byte [ebp - 0x181]
mov al, byte [ebp + ecx - 0x178]
mov byte [ebp + edx - 0x178], al
movzx ecx, byte [ebp - 0x18b]
mov dl, byte [ebp - 0x1e5]
mov byte [ebp + ecx - 0x178], dl
movzx eax, byte [ebp - 0x1e5]
movzx ecx, byte [ebp + eax - 0x178]
movzx edx, byte [ebp - 0x179]
add edx, ecx
mov byte [ebp - 0x179], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x71]
movzx edx, byte [ebp + ecx - 0x178]
movzx ecx, byte [ebp - 0x18b]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x178]
xor eax, edx
movzx ecx, byte [ebp - 0x181]
movzx edx, byte [ebp + ecx - 0x178]
movzx ecx, byte [ebp - 0x61]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
movzx ecx, byte [ebp - 0x179]
movzx ecx, byte [ebp + ecx - 0x178]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x178]
movzx ecx, byte [ebp + edx - 0x178]
xor eax, ecx
mov byte [ebp - 0x181], al
mov dl, byte [ebp - 0x1b5]
mov byte [ebp - 0x61], dl
mov al, byte [ebp - 0x181]
mov byte [ebp - 0x1d5], al
cmp dword [ebp - 0x1cc], 0
jle 0x4acbc1
movsx cx, byte [ebp - 0x1d5]
mov edx, dword [ebp - 0x1cc]
mov word [ebp + edx*2 - 0x5a], cx
xor eax, eax
mov word [ebp - 0x24], ax
jmp 0x4acbfc
mov dword [ebp - 0x250], 0
jmp 0x4acbe4
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 0x1b
jge 0x4acbfc
xor edx, edx
mov eax, dword [ebp - 0x250]
mov word [ebp + eax*2 - 0x58], dx
jmp 0x4acbd5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov ax, word [ebp + edx*2 - 0x58]
mov word [ecx], ax
xor ecx, ecx
mov edx, dword [ebp + 8]
mov word [edx + 6], cx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov dx, word [ebp + ecx*2 - 0x58]
mov word [eax + 4], dx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov dx, word [ebp + ecx*2 - 0x58]
mov word [eax + 2], dx
mov esp, ebp
pop ebp
ret 4