Function at 0x4acef0
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2fc
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
fldz
fstp qword [ebp - 0x10]
fldz
fstp qword [ebp - 8]
fldz
fstp qword [ebp - 8]
jmp 0x4acf2a
fld qword [ebp - 8]
fadd qword [0x9d1388]
fstp qword [ebp - 8]
fld qword [0x9d4030]
fcomp qword [ebp - 8]
popfd
add ah, bl
pop ebp
clc
fnstsw ax
test ah, 0x41
jne 0x4acf89
fld qword [0x9d4028]
add eax, 0x9d4028
fmul qword [ebp - 8]
fmul qword [ebp - 8]
fld qword [ebp - 8]
fmul qword [ebp - 8]
fsubp st(1)
fld qword [0x9d4020]
fmul qword [ebp - 8]
fmul qword [ebp - 8]
fadd qword [0x9d4018]
fdivp st(1)
fadd qword [ebp - 0x10]
fstp qword [ebp - 0x10]
fld qword [0x9d4010]
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 5
jp 0x4acf87
jmp 0x406ad52f
fld qword [0x9d4008]
fmul qword [ebp - 8]
fsubr qword [ebp - 0x10]
fstp qword [ebp - 0x10]
jmp 0x4acf1e
fldz
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 0x41
jne 0x4acff0
jge 0x4acf2e
xchg dword [ebp - 0x647f6577], edx
and dword [eax - 0x667b647d], 0x7e
wait
jle 0x4acf3b
xchg dword [edi - 0x6d765e85], edx
jle 0x4acf4d
mov dl, byte [esi - 0x687f697c]
xchg byte [ebx - 0x6c766b82], dl
adc byte [ebp - 0x5e836782], 0x88
mov al, byte [0x94819985]
adc dword [ebx + 0x3c5a9581], 0x6d6e5429
inc esi
sub eax, 0x665c3173
imul esp, dword cs:[ebx], 0x5470614e
sub byte [eax + 0x71], bl
xor byte [ecx + 0x27], bl
and edi, dword [0xe967667b]
invalid
mov dword [ebp - 0x50], 0x4acf95
mov dword [ebp - 0x4c], 0x4acfcb
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], ecx
mov byte [ebp - 0x179], 0x24
mov dword [ebp - 0x170], 0
jmp 0x4ad02c
mov edx, dword [ebp - 0x170]
add edx, 1
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0x100
jae 0x4ad04d
mov eax, dword [ebp - 0x170]
mov cl, byte [ebp - 0x170]
mov byte [ebp + eax - 0x168], cl
jmp 0x4ad01d
mov dword [ebp - 0x60], 0
mov byte [ebp - 0x17a], 0
mov dword [ebp - 0x170], 0xff
jmp 0x4ad076
mov edx, dword [ebp - 0x170]
sub edx, 1
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0
jbe 0x4ad36d
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x188], 1
mov eax, dword [ebp - 0x188]
cmp eax, dword [ebp - 0x170]
jae 0x4ad0b7
mov ecx, dword [ebp - 0x188]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x188], edx
jmp 0x4ad097
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 3
ja case.default.0x4ad0d3
mov ecx, dword [ebp - 0x2bc]
jmp dword [ecx*4 + 0x4af518]
movzx edx, byte [ebp - 0x17a]
movzx ecx, byte [ebp + edx - 0x168]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x2be]
movzx eax, word [ebp - 0x2be]
or eax, 0xc00
mov dword [ebp - 0x2c4], eax
fldcw word [ebp - 0x2c4]
fistp qword [ebp - 0x2cc]
fldcw word [ebp - 0x2be]
mov edx, dword [ebp - 0x2cc]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x17a], cl
jmp 0x4ad252
movzx eax, byte [ebp - 0x17a]
movzx ecx, byte [ebp + eax - 0x168]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x2ce]
movzx eax, word [ebp - 0x2ce]
or eax, 0xc00
mov dword [ebp - 0x2d4], eax
fldcw word [ebp - 0x2d4]
fistp qword [ebp - 0x2dc]
fldcw word [ebp - 0x2ce]
mov edx, dword [ebp - 0x2dc]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x17a], cl
jmp 0x4ad252
movzx eax, byte [ebp - 0x17a]
movzx ecx, byte [ebp + eax - 0x168]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x2de]
movzx eax, word [ebp - 0x2de]
or eax, 0xc00
mov dword [ebp - 0x2e4], eax
fldcw word [ebp - 0x2e4]
fistp qword [ebp - 0x2ec]
fldcw word [ebp - 0x2de]
mov edx, dword [ebp - 0x2ec]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x17a], cl
jmp 0x4ad252
movzx eax, byte [ebp - 0x17a]
movzx ecx, byte [ebp + eax - 0x168]
fld qword [ebp - 0x10]
fnstcw word [ebp - 0x2ee]
movzx eax, word [ebp - 0x2ee]
or eax, 0xc00
mov dword [ebp - 0x2f4], eax
fldcw word [ebp - 0x2f4]
fistp qword [ebp - 0x2fc]
fldcw word [ebp - 0x2ee]
mov edx, dword [ebp - 0x2fc]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x17a], cl
jmp 0x4ad252
movzx eax, byte [ebp - 0x17a]
movzx ecx, byte [ebp + eax - 0x168]
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x60]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x17a], cl
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
movzx edx, byte [ebp - 0x179]
cmp dword [ebp - 0x60], edx
jb 0x4ad284
mov dword [ebp - 0x60], 0
movzx eax, byte [ebp - 0x179]
movzx ecx, byte [ebp - 0x17a]
add ecx, eax
mov byte [ebp - 0x17a], cl
movzx edx, byte [ebp - 0x17a]
and edx, dword [ebp - 0x188]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0xb
jbe 0x4ad2c3
mov eax, dword [ebp - 0x184]
xor edx, edx
div dword [ebp - 0x170]
mov dword [ebp - 0x184], edx
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [ebp - 0x170]
ja 0x4ad0b7
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x184]
je 0x4ad368
mov eax, dword [ebp - 0x184]
movzx ecx, byte [ebp + eax - 0x168]
mov edx, dword [ebp - 0x170]
movzx eax, byte [ebp + edx - 0x168]
xor eax, ecx
mov ecx, dword [ebp - 0x170]
mov byte [ebp + ecx - 0x168], al
mov edx, dword [ebp - 0x170]
movzx eax, byte [ebp + edx - 0x168]
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ebp + ecx - 0x168]
xor edx, eax
mov eax, dword [ebp - 0x184]
mov byte [ebp + eax - 0x168], dl
mov ecx, dword [ebp - 0x184]
movzx edx, byte [ebp + ecx - 0x168]
mov eax, dword [ebp - 0x170]
movzx ecx, byte [ebp + eax - 0x168]
xor ecx, edx
mov edx, dword [ebp - 0x170]
mov byte [ebp + edx - 0x168], cl
jmp 0x4ad067
mov al, byte [ebp - 0x167]
mov byte [ebp - 0x17b], al
mov cl, byte [ebp - 0x165]
mov byte [ebp - 0x61], cl
mov dl, byte [ebp - 0x163]
mov byte [ebp - 0x169], dl
mov al, byte [ebp - 0x161]
mov byte [ebp - 0x171], al
movzx ecx, byte [ebp - 0x17a]
mov dl, byte [ebp + ecx - 0x168]
mov byte [ebp - 0x51], dl
mov dword [ebp - 0x178], 0x36
cmp dword [ebp - 0x178], 2
jle 0x4af4cc
mov eax, dword [ebp - 0x178]
and eax, 1
jne 0x4af4cc
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
fld qword [0x9d4000]
fstp qword [ebp - 0x290]
fld qword [0x9d3ff8]
fstp qword [ebp - 0x240]
fld qword [0x9d3ff0]
fstp qword [ebp - 0x1f8]
fld qword [0x9d3fe8]
fstp qword [ebp - 0x1c0]
fld qword [0x9d3fe0]
fstp qword [ebp - 0x210]
fld qword [0x9d3fd8]
fstp qword [ebp - 0x1d8]
fld qword [0x9d3fd0]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x210]
fsub qword [ebp - 0x1a8]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x290]
fmul qword [ebp - 0x1a8]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x1a8]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x240]
fsub qword [ebp - 0x1a8]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x1f8]
fadd qword [ebp - 0x1a8]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x1f8]
fmul qword [ebp - 0x1a8]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x1f8]
fmul qword [ebp - 0x1a8]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x1a8]
fcomp qword [ebp - 0x1f8]
fnstsw ax
test ah, 0x41
jne 0x4ad6e4
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x1a8]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1f8]
fsub qword [ebp - 0x1c0]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x240]
fadd qword [ebp - 0x1f8]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x290]
fadd qword [ebp - 0x240]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x290]
fmul qword [ebp - 0x240]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x1d8]
fadd qword [ebp - 0x1a8]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1a8]
fdiv qword [ebp - 0x290]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x290]
fadd qword [ebp - 0x1f8]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x1c0]
fadd qword [ebp - 0x1d8]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1d8]
fmul qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x290]
fdiv qword [ebp - 0x1f8]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x1d8]
fsub qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x210]
fadd qword [ebp - 0x1a8]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x290]
fcomp qword [ebp - 0x1d8]
fnstsw ax
test ah, 0x41
jne 0x4ad661
fld qword [ebp - 0x1d8]
fdiv qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1d8]
fsub qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1c0]
fsub qword [ebp - 0x1d8]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x240]
fmul qword [ebp - 0x1c0]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x240]
fmul qword [ebp - 0x1c0]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x290]
fadd qword [ebp - 0x1f8]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x290]
fmul qword [ebp - 0x1f8]
fstp qword [ebp - 0x290]
jmp 0x4ad6df
fld qword [ebp - 0x1a8]
fdiv qword [ebp - 0x290]
fstp qword [ebp - 0x1a8]
fld qword [ebp - 0x1d8]
fdiv qword [ebp - 0x1a8]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x210]
fsub qword [ebp - 0x1d8]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x1d8]
fdiv qword [ebp - 0x1a8]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1c0]
fsub qword [ebp - 0x210]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x290]
fmul qword [ebp - 0x240]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x1a8]
fdiv qword [ebp - 0x290]
fstp qword [ebp - 0x1a8]
jmp 0x4ad771
fld qword [ebp - 0x1d8]
fadd qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x240]
fsub qword [ebp - 0x1c0]
fstp qword [ebp - 0x240]
fld qword [ebp - 0x1c0]
fsub qword [ebp - 0x1d8]
fstp qword [ebp - 0x1c0]
fld qword [ebp - 0x1f8]
fmul qword [ebp - 0x210]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x290]
fsub qword [ebp - 0x1f8]
fstp qword [ebp - 0x290]
fld qword [ebp - 0x1d8]
fadd qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
fld qword [ebp - 0x1d8]
fsub qword [ebp - 0x290]
fstp qword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x234]
shl edx, 1
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x260]
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x1cc], 0
mov edx, dword [ebp - 0x1cc]
add edx, 0x7b
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x234]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x1fc]
movzx eax, byte [edx]
add eax, dword [ebp - 0x288]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x25c], 0
mov ecx, dword [ebp - 0x25c]
add ecx, 0x92
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x284], 0
mov edx, dword [ebp - 0x260]
sub edx, dword [ebp - 0x1cc]
add edx, dword [ebp - 0x284]
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x288]
sub eax, dword [ebp - 0x25c]
add eax, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x284]
shl ecx, 4
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x258], 0
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x280]
or eax, dword [ebp - 0x258]
mov dword [ebp - 0x22c], eax
mov byte [ebp - 0x1e9], 0
mov cl, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], cl
mov byte [ebp - 0x279], 0
movzx edx, byte [ebp - 0x51]
mov al, byte [ebp + edx - 0x168]
mov byte [ebp - 0x279], al
movzx ecx, byte [ebp - 0x17b]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x61]
add eax, edx
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x17b]
add cl, 1
mov byte [ebp - 0x17b], cl
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp - 0x51]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
movzx eax, byte [ebp - 0x171]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
mov al, byte [ebp - 0x279]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x279]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x169]
add eax, edx
mov byte [ebp - 0x169], al
movzx ecx, byte [ebp - 0x1e9]
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x17b]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
xor ecx, eax
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x51]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
movzx edx, byte [ebp - 0x169]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
movzx edx, byte [ebp + eax - 0x168]
xor ecx, edx
mov byte [ebp - 0x171], cl
mov al, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], al
mov cl, byte [ebp - 0x171]
mov byte [ebp - 0x251], cl
cmp dword [ebp - 0x234], 0
jle 0x4ada29
movsx dx, byte [ebp - 0x251]
mov eax, dword [ebp - 0x234]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x234]
shl eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x18c]
movzx edx, byte [ecx]
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x1cc], 0x7b
mov eax, dword [ebp - 0x234]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x1fc]
movzx eax, byte [edx]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x25c], 0x92
mov ecx, dword [ebp - 0x260]
sub ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x288]
sub edx, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x284]
shl eax, 4
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x280]
or edx, dword [ebp - 0x258]
mov dword [ebp - 0x22c], edx
mov al, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], al
movzx ecx, byte [ebp - 0x51]
mov dl, byte [ebp + ecx - 0x168]
mov byte [ebp - 0x279], dl
movzx eax, byte [ebp - 0x17b]
movzx ecx, byte [ebp + eax - 0x168]
movzx edx, byte [ebp - 0x61]
add edx, ecx
mov byte [ebp - 0x61], dl
mov al, byte [ebp - 0x17b]
add al, 1
mov byte [ebp - 0x17b], al
movzx ecx, byte [ebp - 0x61]
movzx edx, byte [ebp - 0x51]
mov al, byte [ebp + ecx - 0x168]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x171]
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + ecx - 0x168]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x17b]
movzx edx, byte [ebp - 0x171]
mov al, byte [ebp + ecx - 0x168]
mov byte [ebp + edx - 0x168], al
fld qword [0x9d3fc8]
fstp qword [ebp - 0x250]
fld qword [0x9d3fc0]
fstp qword [ebp - 0x208]
fld qword [0x9d3fb8]
fstp qword [ebp - 0x1c8]
fld qword [0x9d3fb0]
fstp qword [ebp - 0x198]
fld qword [0x9d3fa8]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x250]
fmul qword [ebp - 0x248]
fstp qword [ebp - 0x250]
fld qword [ebp - 0x1c8]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x1c8]
fld qword [ebp - 0x208]
fadd qword [ebp - 0x248]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x250]
fmul qword [ebp - 0x248]
fstp qword [ebp - 0x250]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x250]
fcomp qword [ebp - 0x248]
fnstsw ax
test ah, 5
jp 0x4adda8
fld qword [ebp - 0x248]
fsub qword [ebp - 0x208]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x208]
fadd qword [ebp - 0x198]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x250]
fdiv qword [ebp - 0x1c8]
fstp qword [ebp - 0x250]
fld qword [ebp - 0x1c8]
fadd qword [ebp - 0x248]
fstp qword [ebp - 0x1c8]
fld qword [ebp - 0x248]
fsub qword [ebp - 0x208]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x250]
fadd qword [ebp - 0x208]
fstp qword [ebp - 0x250]
fld qword [ebp - 0x1c8]
fmul qword [ebp - 0x198]
fstp qword [ebp - 0x1c8]
fld qword [ebp - 0x198]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x198]
fld qword [ebp - 0x198]
fsub qword [ebp - 0x248]
fstp qword [ebp - 0x198]
fld qword [ebp - 0x248]
fadd qword [ebp - 0x250]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x1c8]
fcomp qword [ebp - 0x250]
fnstsw ax
test ah, 0x41
jne 0x4add4c
fld qword [ebp - 0x248]
fadd qword [ebp - 0x208]
fstp qword [ebp - 0x248]
fld qword [ebp - 0x208]
fmul qword [ebp - 0x198]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x198]
fsub qword [ebp - 0x250]
fstp qword [ebp - 0x198]
fld qword [ebp - 0x208]
fsub qword [ebp - 0x198]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x208]
fadd qword [ebp - 0x198]
fstp qword [ebp - 0x208]
jmp 0x4adda6
fld qword [ebp - 0x250]
fmul qword [ebp - 0x208]
fstp qword [ebp - 0x250]
fld qword [ebp - 0x1c8]
fsub qword [ebp - 0x198]
fstp qword [ebp - 0x1c8]
fld qword [ebp - 0x198]
fdiv qword [ebp - 0x248]
fstp qword [ebp - 0x198]
fld qword [ebp - 0x208]
fadd qword [ebp - 0x1c8]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x1c8]
fmul qword [ebp - 0x198]
fstp qword [ebp - 0x1c8]
jmp 0x4ade16
fld qword [ebp - 0x208]
fsub qword [ebp - 0x198]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x250]
fadd qword [ebp - 0x1c8]
fstp qword [ebp - 0x250]
fld qword [ebp - 0x208]
fmul qword [ebp - 0x198]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x208]
fadd qword [ebp - 0x198]
fstp qword [ebp - 0x208]
fld qword [ebp - 0x198]
fadd qword [ebp - 0x250]
fstp qword [ebp - 0x198]
movzx ecx, byte [ebp - 0x17b]
mov dl, byte [ebp - 0x279]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x279]
movzx ecx, byte [ebp + eax - 0x168]
movzx edx, byte [ebp - 0x169]
add edx, ecx
mov byte [ebp - 0x169], dl
movzx eax, byte [ebp - 0x1e9]
movzx ecx, byte [ebp - 0x61]
movzx edx, byte [ebp + ecx - 0x168]
movzx ecx, byte [ebp - 0x17b]
movzx ecx, byte [ebp + ecx - 0x168]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x168]
xor eax, edx
movzx ecx, byte [ebp - 0x171]
movzx edx, byte [ebp + ecx - 0x168]
movzx ecx, byte [ebp - 0x51]
movzx ecx, byte [ebp + ecx - 0x168]
add edx, ecx
movzx ecx, byte [ebp - 0x169]
movzx ecx, byte [ebp + ecx - 0x168]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x168]
movzx ecx, byte [ebp + edx - 0x168]
xor eax, ecx
mov byte [ebp - 0x171], al
mov dl, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], dl
mov al, byte [ebp - 0x171]
mov byte [ebp - 0x251], al
cmp dword [ebp - 0x234], 0
jle 0x4adee5
movsx cx, byte [ebp - 0x251]
mov edx, dword [ebp - 0x234]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x234]
shl edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x1cc], 0x7b
mov edx, dword [ebp - 0x234]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x1fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x288], edx
mov dword [ebp - 0x25c], 0x92
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x288]
sub ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x284]
shl edx, 4
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x280]
or ecx, dword [ebp - 0x258]
mov dword [ebp - 0x22c], ecx
mov dl, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], dl
movzx eax, byte [ebp - 0x51]
mov cl, byte [ebp + eax - 0x168]
mov byte [ebp - 0x279], cl
movzx edx, byte [ebp - 0x17b]
movzx eax, byte [ebp + edx - 0x168]
movzx ecx, byte [ebp - 0x61]
add ecx, eax
mov byte [ebp - 0x61], cl
mov dl, byte [ebp - 0x17b]
add dl, 1
mov byte [ebp - 0x17b], dl
movzx eax, byte [ebp - 0x61]
movzx ecx, byte [ebp - 0x51]
mov dl, byte [ebp + eax - 0x168]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x171]
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + eax - 0x168]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x17b]
movzx ecx, byte [ebp - 0x171]
mov dl, byte [ebp + eax - 0x168]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x17b]
mov cl, byte [ebp - 0x279]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x279]
movzx eax, byte [ebp + edx - 0x168]
movzx ecx, byte [ebp - 0x169]
add ecx, eax
mov byte [ebp - 0x169], cl
movzx edx, byte [ebp - 0x1e9]
movzx eax, byte [ebp - 0x61]
movzx ecx, byte [ebp + eax - 0x168]
movzx eax, byte [ebp - 0x17b]
movzx eax, byte [ebp + eax - 0x168]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x168]
xor edx, ecx
movzx eax, byte [ebp - 0x171]
movzx ecx, byte [ebp + eax - 0x168]
movzx eax, byte [ebp - 0x51]
movzx eax, byte [ebp + eax - 0x168]
add ecx, eax
movzx eax, byte [ebp - 0x169]
movzx eax, byte [ebp + eax - 0x168]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp + ecx - 0x168]
xor edx, eax
mov byte [ebp - 0x171], dl
mov cl, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], cl
mov dl, byte [ebp - 0x171]
mov byte [ebp - 0x251], dl
cmp dword [ebp - 0x234], 0
jle 0x4ae11c
movsx ax, byte [ebp - 0x251]
mov ecx, dword [ebp - 0x234]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0x230]
add edx, 0xa
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x294], eax
jmp 0x4ae14b
mov ecx, dword [ebp - 0x294]
add ecx, 1
mov dword [ebp - 0x294], ecx
mov edx, dword [ebp - 0x294]
cmp edx, dword [ebp - 0x230]
jge 0x4ae388
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
shl ecx, 1
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x1cc], 0x7b
mov ecx, dword [ebp - 0x234]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x1fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x25c], 0x92
mov edx, dword [ebp - 0x260]
sub edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x288]
sub eax, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x284]
shl ecx, 4
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x280]
or eax, dword [ebp - 0x258]
mov dword [ebp - 0x22c], eax
mov cl, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], cl
movzx edx, byte [ebp - 0x51]
mov al, byte [ebp + edx - 0x168]
mov byte [ebp - 0x279], al
movzx ecx, byte [ebp - 0x17b]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x61]
add eax, edx
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x17b]
add cl, 1
mov byte [ebp - 0x17b], cl
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp - 0x51]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
movzx eax, byte [ebp - 0x171]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
mov al, byte [ebp - 0x279]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x279]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x169]
add eax, edx
mov byte [ebp - 0x169], al
movzx ecx, byte [ebp - 0x1e9]
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x17b]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
xor ecx, eax
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x51]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
movzx edx, byte [ebp - 0x169]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
movzx edx, byte [ebp + eax - 0x168]
xor ecx, edx
mov byte [ebp - 0x171], cl
mov al, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], al
mov cl, byte [ebp - 0x171]
mov byte [ebp - 0x251], cl
cmp dword [ebp - 0x234], 0
jle 0x4ae383
movsx dx, byte [ebp - 0x251]
mov eax, dword [ebp - 0x234]
mov word [ebp + eax*2 - 0x4a], dx
jmp 0x4ae13c
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x230]
add edx, 0xb
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x298], eax
jmp 0x4ae3c6
mov ecx, dword [ebp - 0x298]
add ecx, 1
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x298]
cmp edx, dword [ebp - 0x230]
jge 0x4ae905
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
shl ecx, 1
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x1cc], 0x7b
mov ecx, dword [ebp - 0x234]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x1fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x25c], 0x92
mov edx, dword [ebp - 0x260]
sub edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], edx
fld dword [0x9d3fa4]
fstp dword [ebp - 0x2a8]
fld dword [0x9d3fa0]
fstp dword [ebp - 0x2a0]
fld dword [0x9d3f9c]
fstp dword [ebp - 0x2b0]
fld dword [0x9d3f98]
fstp dword [ebp - 0x2ac]
fld dword [0x9d3f94]
fstp dword [ebp - 0x2a4]
fld dword [0x9d3f90]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x2a0]
fsub dword [ebp - 0x29c]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2ac]
fadd dword [ebp - 0x29c]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2ac]
fsub dword [ebp - 0x29c]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2a0]
fadd dword [ebp - 0x29c]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2ac]
fadd dword [ebp - 0x29c]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2ac]
fmul dword [ebp - 0x29c]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2ac]
fld dword [ebp - 0x29c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4ae6e5
fld dword [ebp - 0x2a0]
fdiv dword [ebp - 0x2b0]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2ac]
fdiv dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2a8]
fmul dword [ebp - 0x2a0]
fstp dword [ebp - 0x2a8]
fld dword [ebp - 0x2ac]
fsub dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2a0]
fsub dword [ebp - 0x2b0]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2a4]
fsub dword [ebp - 0x29c]
fstp dword [ebp - 0x2a4]
fld dword [ebp - 0x29c]
fsub dword [ebp - 0x2a8]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x2b0]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2b0]
fld dword [ebp - 0x29c]
fsub dword [ebp - 0x2a8]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x2ac]
fmul dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2a0]
fmul dword [ebp - 0x2b0]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x29c]
fmul dword [ebp - 0x2a8]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x2a0]
fld dword [ebp - 0x2ac]
fcompp
fnstsw ax
test ah, 5
jp 0x4ae677
fld dword [ebp - 0x2a8]
fadd dword [ebp - 0x2a0]
fstp dword [ebp - 0x2a8]
fld dword [ebp - 0x2ac]
fadd dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2ac]
fadd dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2ac]
fmul dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2a0]
fdiv dword [ebp - 0x2b0]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2b0]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2b0]
jmp 0x4ae6e3
fld dword [ebp - 0x2a0]
fsub dword [ebp - 0x2b0]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2a0]
fmul dword [ebp - 0x2b0]
fstp dword [ebp - 0x2a0]
fld dword [ebp - 0x2a4]
fadd dword [ebp - 0x29c]
fstp dword [ebp - 0x2a4]
fld dword [ebp - 0x2a8]
fdiv dword [ebp - 0x2a0]
fstp dword [ebp - 0x2a8]
fld dword [ebp - 0x2ac]
fsub dword [ebp - 0x2a4]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x29c]
fmul dword [ebp - 0x2a8]
fstp dword [ebp - 0x29c]
jmp 0x4ae763
fld dword [ebp - 0x2b0]
fmul dword [ebp - 0x2a4]
fstp dword [ebp - 0x2b0]
fld dword [ebp - 0x2ac]
fsub dword [ebp - 0x29c]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2a4]
fsub dword [ebp - 0x2a8]
fstp dword [ebp - 0x2a4]
fld dword [ebp - 0x2a4]
fadd dword [ebp - 0x2a8]
fstp dword [ebp - 0x2a4]
fld dword [ebp - 0x29c]
fsub dword [ebp - 0x2a0]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x2a0]
fmul dword [ebp - 0x2ac]
fstp dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x288]
sub eax, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x284]
shl ecx, 4
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x280]
or eax, dword [ebp - 0x258]
mov dword [ebp - 0x22c], eax
mov cl, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], cl
movzx edx, byte [ebp - 0x51]
mov al, byte [ebp + edx - 0x168]
mov byte [ebp - 0x279], al
movzx ecx, byte [ebp - 0x17b]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x61]
add eax, edx
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x17b]
add cl, 1
mov byte [ebp - 0x17b], cl
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp - 0x51]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
movzx eax, byte [ebp - 0x171]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
mov al, byte [ebp - 0x279]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x279]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x169]
add eax, edx
mov byte [ebp - 0x169], al
movzx ecx, byte [ebp - 0x1e9]
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x17b]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
xor ecx, eax
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x51]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
movzx edx, byte [ebp - 0x169]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
movzx edx, byte [ebp + eax - 0x168]
xor ecx, edx
mov byte [ebp - 0x171], cl
mov al, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], al
mov cl, byte [ebp - 0x171]
mov byte [ebp - 0x251], cl
cmp dword [ebp - 0x234], 0
jle 0x4ae900
movsx dx, byte [ebp - 0x251]
mov eax, dword [ebp - 0x234]
mov word [ebp + eax*2 - 0x4a], dx
jmp 0x4ae3b7
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x230]
add eax, 1
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x234]
shl ecx, 1
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x18c]
movzx eax, byte [edx]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x1cc], 0x7b
mov ecx, dword [ebp - 0x234]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x1fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x25c], 0x92
mov edx, dword [ebp - 0x260]
sub edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x288]
sub eax, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x284]
shl ecx, 4
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x19c]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x280]
or eax, dword [ebp - 0x258]
mov dword [ebp - 0x22c], eax
mov cl, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], cl
movzx edx, byte [ebp - 0x51]
mov al, byte [ebp + edx - 0x168]
mov byte [ebp - 0x279], al
movzx ecx, byte [ebp - 0x17b]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x61]
add eax, edx
mov byte [ebp - 0x61], al
mov cl, byte [ebp - 0x17b]
add cl, 1
mov byte [ebp - 0x17b], cl
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp - 0x51]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp - 0x61]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
movzx eax, byte [ebp - 0x171]
mov cl, byte [ebp + edx - 0x168]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x17b]
mov al, byte [ebp - 0x279]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x279]
movzx edx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp - 0x169]
add eax, edx
mov byte [ebp - 0x169], al
movzx ecx, byte [ebp - 0x1e9]
movzx edx, byte [ebp - 0x61]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x17b]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
xor ecx, eax
movzx edx, byte [ebp - 0x171]
movzx eax, byte [ebp + edx - 0x168]
movzx edx, byte [ebp - 0x51]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
movzx edx, byte [ebp - 0x169]
movzx edx, byte [ebp + edx - 0x168]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x168]
movzx edx, byte [ebp + eax - 0x168]
xor ecx, edx
mov byte [ebp - 0x171], cl
mov al, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], al
mov cl, byte [ebp - 0x171]
mov byte [ebp - 0x251], cl
cmp dword [ebp - 0x234], 0
jle 0x4aeb49
movsx dx, byte [ebp - 0x251]
mov eax, dword [ebp - 0x234]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x234]
shl eax, 1
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x18c]
movzx edx, byte [ecx]
mov dword [ebp - 0x260], edx
mov dword [ebp - 0x1cc], 0x7b
mov eax, dword [ebp - 0x234]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x1fc]
movzx eax, byte [edx]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x25c], 0x92
mov ecx, dword [ebp - 0x260]
sub ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x288]
sub edx, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x284]
shl eax, 4
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x258], ecx
mov edx, dword [ebp - 0x280]
or edx, dword [ebp - 0x258]
mov dword [ebp - 0x22c], edx
mov al, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], al
movzx ecx, byte [ebp - 0x51]
mov dl, byte [ebp + ecx - 0x168]
mov byte [ebp - 0x279], dl
movzx eax, byte [ebp - 0x17b]
movzx ecx, byte [ebp + eax - 0x168]
movzx edx, byte [ebp - 0x61]
add edx, ecx
mov byte [ebp - 0x61], dl
mov al, byte [ebp - 0x17b]
add al, 1
mov byte [ebp - 0x17b], al
movzx ecx, byte [ebp - 0x61]
movzx edx, byte [ebp - 0x51]
mov al, byte [ebp + ecx - 0x168]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x171]
movzx edx, byte [ebp - 0x61]
mov al, byte [ebp + ecx - 0x168]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x17b]
movzx edx, byte [ebp - 0x171]
mov al, byte [ebp + ecx - 0x168]
mov byte [ebp + edx - 0x168], al
movzx ecx, byte [ebp - 0x17b]
mov dl, byte [ebp - 0x279]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x279]
movzx ecx, byte [ebp + eax - 0x168]
movzx edx, byte [ebp - 0x169]
add edx, ecx
mov byte [ebp - 0x169], dl
movzx eax, byte [ebp - 0x1e9]
movzx ecx, byte [ebp - 0x61]
movzx edx, byte [ebp + ecx - 0x168]
movzx ecx, byte [ebp - 0x17b]
movzx ecx, byte [ebp + ecx - 0x168]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x168]
xor eax, edx
movzx ecx, byte [ebp - 0x171]
movzx edx, byte [ebp + ecx - 0x168]
movzx ecx, byte [ebp - 0x51]
movzx ecx, byte [ebp + ecx - 0x168]
add edx, ecx
movzx ecx, byte [ebp - 0x169]
movzx ecx, byte [ebp + ecx - 0x168]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x168]
movzx ecx, byte [ebp + edx - 0x168]
xor eax, ecx
mov byte [ebp - 0x171], al
mov dl, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], dl
mov al, byte [ebp - 0x171]
mov byte [ebp - 0x251], al
cmp dword [ebp - 0x234], 0
jle 0x4aed7f
movsx cx, byte [ebp - 0x251]
mov edx, dword [ebp - 0x234]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0x234]
add eax, 1
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
fld qword [0x9d3f88]
fstp qword [ebp - 0x278]
fld qword [0x9d3f80]
fstp qword [ebp - 0x228]
fld qword [0x9d3f78]
fstp qword [ebp - 0x1e8]
fld qword [0x9d3f70]
fstp qword [ebp - 0x1b8]
fld qword [0x9d3f68]
fstp qword [ebp - 0x270]
fld qword [0x9d3f60]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x1b8]
fsub qword [ebp - 0x220]
fstp qword [ebp - 0x1b8]
fld qword [ebp - 0x278]
fmul qword [ebp - 0x220]
fstp qword [ebp - 0x278]
fld qword [ebp - 0x278]
fsub qword [ebp - 0x220]
fstp qword [ebp - 0x278]
fld qword [ebp - 0x1e8]
fmul qword [ebp - 0x220]
fstp qword [ebp - 0x1e8]
fld qword [ebp - 0x1e8]
fmul qword [ebp - 0x220]
fstp qword [ebp - 0x1e8]
fld qword [ebp - 0x278]
fadd qword [ebp - 0x220]
fstp qword [ebp - 0x278]
fld qword [ebp - 0x220]
fcomp qword [ebp - 0x1e8]
fnstsw ax
test ah, 5
jp 0x4aeee3
fld qword [ebp - 0x1e8]
fmul qword [ebp - 0x270]
fstp qword [ebp - 0x1e8]
fld qword [ebp - 0x270]
fsub qword [ebp - 0x278]
fstp qword [ebp - 0x270]
fld qword [ebp - 0x1e8]
fadd qword [ebp - 0x270]
fstp qword [ebp - 0x1e8]
fld qword [ebp - 0x220]
fmul qword [ebp - 0x228]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x278]
fmul qword [ebp - 0x1e8]
fstp qword [ebp - 0x278]
fld qword [ebp - 0x270]
fadd qword [ebp - 0x278]
fstp qword [ebp - 0x270]
mov edx, dword [ebp - 0x234]
shl edx, 1
mov dword [ebp - 0x18c], edx
jmp 0x4af0a8
fld qword [ebp - 0x228]
fsub qword [ebp - 0x1b8]
fstp qword [ebp - 0x228]
fld qword [ebp - 0x1b8]
fadd qword [ebp - 0x220]
fstp qword [ebp - 0x1b8]
fld qword [ebp - 0x1e8]
fadd qword [ebp - 0x270]
fstp qword [ebp - 0x1e8]
fld qword [ebp - 0x228]
fmul qword [ebp - 0x1b8]
fstp qword [ebp - 0x228]
fld qword [ebp - 0x228]
fsub qword [ebp - 0x1b8]
fstp qword [ebp - 0x228]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x228]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x220]
fsub qword [ebp - 0x228]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x220]
fmul qword [ebp - 0x228]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x270]
fsub qword [ebp - 0x278]
fstp qword [ebp - 0x270]
fld qword [ebp - 0x1b8]
fdiv qword [ebp - 0x220]
fstp qword [ebp - 0x1b8]
fld qword [ebp - 0x1b8]
fsub qword [ebp - 0x220]
fstp qword [ebp - 0x1b8]
fld qword [ebp - 0x220]
fadd qword [ebp - 0x228]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x220]
fcomp qword [ebp - 0x1b8]
fnstsw ax
test ah, 5
jp 0x4af03c
fld qword [ebp - 0x1e8]
fadd qword [ebp - 0x1b8]
fstp qword [ebp - 0x1e8]
fld qword [ebp - 0x270]
fmul qword [ebp - 0x220]
fstp qword [ebp - 0x270]
fld qword [ebp - 0x228]
fmul qword [ebp - 0x1e8]
fstp qword [ebp - 0x228]
fld qword [ebp - 0x220]
fdiv qword [ebp - 0x278]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x228]
fsub qword [ebp - 0x1e8]
fstp qword [ebp - 0x228]
fld qword [ebp - 0x220]
fdiv qword [ebp - 0x278]
fstp qword [ebp - 0x220]
jmp 0x4af0a8
fld qword [ebp - 0x220]
fsub qword [ebp - 0x278]
fstp qword [ebp - 0x220]
fld qword [ebp - 0x270]
fadd qword [ebp - 0x220]
fstp qword [ebp - 0x270]
fld qword [ebp - 0x278]
fsub qword [ebp - 0x228]
fstp qword [ebp - 0x278]
fld qword [ebp - 0x270]
fmul qword [ebp - 0x220]
fstp qword [ebp - 0x270]
fld qword [ebp - 0x278]
fmul qword [ebp - 0x228]
fstp qword [ebp - 0x278]
fld qword [ebp - 0x278]
fmul qword [ebp - 0x228]
fstp qword [ebp - 0x278]
mov eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x18c]
movzx ecx, byte [eax]
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x1cc], 0x7b
mov edx, dword [ebp - 0x234]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x1fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x288], edx
mov dword [ebp - 0x25c], 0x92
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x288]
sub ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x284]
shl edx, 4
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x280]
or ecx, dword [ebp - 0x258]
mov dword [ebp - 0x22c], ecx
mov dl, byte [ebp - 0x22c]
mov byte [ebp - 0x1e9], dl
movzx eax, byte [ebp - 0x51]
mov cl, byte [ebp + eax - 0x168]
mov byte [ebp - 0x279], cl
movzx edx, byte [ebp - 0x17b]
movzx eax, byte [ebp + edx - 0x168]
movzx ecx, byte [ebp - 0x61]
add ecx, eax
mov byte [ebp - 0x61], cl
mov dl, byte [ebp - 0x17b]
add dl, 1
mov byte [ebp - 0x17b], dl
movzx eax, byte [ebp - 0x61]
movzx ecx, byte [ebp - 0x51]
mov dl, byte [ebp + eax - 0x168]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x171]
movzx ecx, byte [ebp - 0x61]
mov dl, byte [ebp + eax - 0x168]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x17b]
movzx ecx, byte [ebp - 0x171]
mov dl, byte [ebp + eax - 0x168]
mov byte [ebp + ecx - 0x168], dl
movzx eax, byte [ebp - 0x17b]
mov cl, byte [ebp - 0x279]
mov byte [ebp + eax - 0x168], cl
movzx edx, byte [ebp - 0x279]
movzx eax, byte [ebp + edx - 0x168]
movzx ecx, byte [ebp - 0x169]
add ecx, eax
mov byte [ebp - 0x169], cl
movzx edx, byte [ebp - 0x1e9]
movzx eax, byte [ebp - 0x61]
movzx ecx, byte [ebp + eax - 0x168]
movzx eax, byte [ebp - 0x17b]
movzx eax, byte [ebp + eax - 0x168]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x168]
xor edx, ecx
movzx eax, byte [ebp - 0x171]
movzx ecx, byte [ebp + eax - 0x168]
movzx eax, byte [ebp - 0x51]
movzx eax, byte [ebp + eax - 0x168]
add ecx, eax
movzx eax, byte [ebp - 0x169]
movzx eax, byte [ebp + eax - 0x168]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x168]
movzx eax, byte [ebp + ecx - 0x168]
xor edx, eax
mov byte [ebp - 0x171], dl
mov cl, byte [ebp - 0x1e9]
mov byte [ebp - 0x51], cl
fld dword [0x9d3f5c]
fstp dword [ebp - 0x1dc]
fld dword [0x9d3f58]
fstp dword [ebp - 0x214]
fld dword [0x9d3f54]
fstp dword [ebp - 0x264]
fld dword [0x9d3f50]
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x264]
fmul dword [ebp - 0x1ac]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x264]
fmul dword [ebp - 0x1ac]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x214]
fmul dword [ebp - 0x1ac]
fstp dword [ebp - 0x214]
fld dword [ebp - 0x1dc]
fmul dword [ebp - 0x1ac]
fstp dword [ebp - 0x1dc]
fld dword [ebp - 0x1ac]
fld dword [ebp - 0x264]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4af371
fld dword [ebp - 0x214]
fadd dword [ebp - 0x1ac]
fstp dword [ebp - 0x214]
fld dword [ebp - 0x264]
fsub dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x214]
fmul dword [ebp - 0x1ac]
fstp dword [ebp - 0x214]
fld dword [ebp - 0x1ac]
fmul dword [ebp - 0x214]
fstp dword [ebp - 0x1ac]
mov dl, byte [ebp - 0x171]
mov byte [ebp - 0x251], dl
jmp 0x4af4a8
fld dword [ebp - 0x264]
fmul dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x264]
fsub dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x1ac]
fadd dword [ebp - 0x214]
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x264]
fmul dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x1ac]
fdiv dword [ebp - 0x214]
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1dc]
fdiv dword [ebp - 0x264]
fstp dword [ebp - 0x1dc]
fld dword [ebp - 0x214]
fdiv dword [ebp - 0x1ac]
fstp dword [ebp - 0x214]
fld dword [ebp - 0x264]
fdiv dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x264]
fld dword [ebp - 0x1dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4af460
fld dword [ebp - 0x264]
fmul dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
fld dword [ebp - 0x1ac]
fdiv dword [ebp - 0x214]
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x214]
fmul dword [ebp - 0x1ac]
fstp dword [ebp - 0x214]
fld dword [ebp - 0x264]
fdiv dword [ebp - 0x1dc]
fstp dword [ebp - 0x264]
jmp 0x4af4a8
fld dword [ebp - 0x214]
fsub dword [ebp - 0x264]
fstp dword [ebp - 0x214]
fld dword [ebp - 0x1ac]
fmul dword [ebp - 0x1dc]
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
fsub dword [ebp - 0x1dc]
fstp dword [ebp - 0x1ac]
fld dword [ebp - 0x1ac]
fdiv dword [ebp - 0x1dc]
fstp dword [ebp - 0x1ac]
cmp dword [ebp - 0x234], 0
jle 0x4af4c4
movsx ax, byte [ebp - 0x251]
mov ecx, dword [ebp - 0x234]
mov word [ebp + ecx*2 - 0x4a], ax
xor edx, edx
mov word [ebp - 0x14], dx
jmp 0x4af4ff
mov dword [ebp - 0x2b4], 0
jmp 0x4af4e7
mov eax, dword [ebp - 0x2b4]
add eax, 1
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0x1b
jge 0x4af4ff
xor ecx, ecx
mov edx, dword [ebp - 0x2b4]
mov word [ebp + edx*2 - 0x48], cx
jmp 0x4af4d8
call fcn.00967ded
cdq
mov ecx, 0x1a
idiv ecx
mov ax, word [ebp + edx*2 - 0x48]
mov esp, ebp
pop ebp
ret