Function at 0x4e9ed7
Capabilities:
Encode data using xor
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x991fa0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4d0
push ebx
push esi
push edi
mov dword [ebp - 0x48c], ecx
and dword [ebp - 0x34], 0
push 0x996864
mov ecx, dword [ebp + 0xc]
call fcn.0046e42f
mov byte [ebp - 0x18c], 0
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x18b]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov byte [ebp - 0x164], 0
push 0xff
push 0
lea eax, [ebp - 0x163]
push eax
call fcn.0092a010
add esp, 0xc
push 0xa
lea eax, [ebp - 0x18c]
push eax
push dword [ebp + 8]
call fcn.0092c0ba
add esp, 0xc
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x490]
mov al, byte [eax + 1]
mov byte [ebp - 0x491], al
inc dword [ebp - 0x490]
cmp byte [ebp - 0x491], 0
jne 0x4e9f62
mov edi, dword [ebp - 0x490]
mov esi, 0x999020
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
and dword [ebp - 0x60], 0
and dword [ebp - 0x4c], 0
fldz
fstp qword [ebp - 0x44]
fldz
fstp qword [ebp - 0x3c]
fldz
fstp qword [ebp - 0x3c]
jmp 0x4e9fb3
fld qword [ebp - 0x3c]
fadd qword [0x995958]
fstp qword [ebp - 0x3c]
fld qword [0x999018]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4ea012
fld qword [0x999010]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x996478]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x996bd0]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x999008]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4ea010
fld qword [0x999000]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4e9fa7
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4ea05a
xchg esp, eax
adc byte [esi + ecx + 0xa9c0496], bl
sahf
or ah, byte [edx - 0x69f764f3]
add al, 0x9f
add eax, 0xc971095
xchg esi, eax
adc byte [ecx - 0x69f968ff], ah
add esp, dword [edx + 0x79433b02]
jno 0x4ea0ae
inc ebx
jns 0x4ea0b3
imul ebp, dword [ebx], 0x3d
jb 0x4ea092
sub edi, dword [0x2a304b72]
xor byte [edx], ch
pop edx
pop edi
outsb dx, byte [esi]
aas
pop edx
xor byte [esi + 0x59], ah
xor dword [edx + 0x24], eax
je 0x4ea03f
les ebp, [edx]
add byte [eax], al
mov dword [ebp - 0x60], 0x4ea01e
mov dword [ebp - 0x4c], 0x4ea03e
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x2bd], 0x1b
and dword [ebp - 0x2b0], 0
jmp 0x4ea097
mov eax, dword [ebp - 0x2b0]
inc eax
mov dword [ebp - 0x2b0], eax
test dword [eax - 3], edx
invalid
cmp dword [ebp - 0x2b0], 0x100
jae 0x4ea0b8
mov eax, dword [ebp - 0x2b0]
mov cl, byte [ebp - 0x2b0]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4ea08a
dec dword [eax - 0x2a3fa74]
std
invalid
and dword [ebp - 0x19c], 0
mov byte [ebp - 0x2be], 0
mov dword [ebp - 0x2b0], 0xff
jmp 0x4ea0df
mov eax, dword [ebp - 0x2b0]
dec eax
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
jbe 0x4ea34d
and dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2d8], 1
mov eax, dword [ebp - 0x2d8]
cmp eax, dword [ebp - 0x2b0]
jae 0x4ea11d
mov eax, dword [ebp - 0x2d8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2d8], eax
jmp 0x4ea0fd
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x49c], 0
je 0x4ea162
sub dword [ebp - 0x49c], 1
je 0x4ea18b
sub dword [ebp - 0x49c], 1
je 0x4ea1b4
sub dword [ebp - 0x49c], 1
je 0x4ea1dd
jmp 0x4ea206
movzx eax, byte [ebp - 0x2be]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092b606
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2be], bl
jmp 0x4ea22d
movzx eax, byte [ebp - 0x2be]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092b606
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2be], bl
jmp 0x4ea22d
movzx eax, byte [ebp - 0x2be]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092b606
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2be], bl
jmp 0x4ea22d
movzx eax, byte [ebp - 0x2be]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092b606
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2be], bl
jmp 0x4ea22d
movzx eax, byte [ebp - 0x2be]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x194]
add ecx, dword [ebp - 0x19c]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x2be], al
mov eax, dword [ebp - 0x19c]
inc eax
mov dword [ebp - 0x19c], eax
movzx eax, byte [ebp - 0x2bd]
cmp dword [ebp - 0x19c], eax
jb 0x4ea266
and dword [ebp - 0x19c], 0
movzx eax, byte [ebp - 0x2bd]
movzx ecx, byte [ebp - 0x2be]
add ecx, eax
mov byte [ebp - 0x2be], cl
movzx eax, byte [ebp - 0x2be]
and eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d0]
inc eax
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2d0], 0xb
jbe 0x4ea2a3
mov eax, dword [ebp - 0x2d4]
xor edx, edx
div dword [ebp - 0x2b0]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d4]
cmp eax, dword [ebp - 0x2b0]
ja 0x4ea11d
mov eax, dword [ebp - 0x2b0]
cmp eax, dword [ebp - 0x2d4]
je 0x4ea348
mov eax, dword [ebp - 0x2d4]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x2b0]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor ecx, eax
mov eax, dword [ebp - 0x2b0]
mov byte [ebp + eax - 0x2a4], cl
mov eax, dword [ebp - 0x2b0]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x2d4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor ecx, eax
mov eax, dword [ebp - 0x2d4]
mov byte [ebp + eax - 0x2a4], cl
mov eax, dword [ebp - 0x2d4]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x2b0]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor ecx, eax
mov eax, dword [ebp - 0x2b0]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4ea0d2
mov al, byte [ebp - 0x2a3]
mov byte [ebp - 0x2c9], al
fld dword [0x998ffc]
fstp dword [ebp - 0x2bc]
fld dword [0x998ff8]
fstp dword [ebp - 0x2c8]
fld dword [0x998ff4]
fstp dword [ebp - 0x2c4]
fld dword [0x998ff0]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2bc]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2bc]
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c4]
fsub dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2bc]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2bc]
fld dword [ebp - 0x2bc]
fld dword [ebp - 0x2c4]
fcompp
fnstsw ax
test ah, 5
jp 0x4ea43f
fld dword [ebp - 0x2c4]
fsub dword [ebp - 0x2bc]
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2ac]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2ac]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2ac]
mov al, byte [ebp - 0x2a1]
mov byte [ebp - 0x19d], al
jmp 0x4ea576
fld dword [ebp - 0x2c8]
fsub dword [ebp - 0x2c4]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c4]
fadd dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2bc]
fadd dword [ebp - 0x2c8]
fstp dword [ebp - 0x2bc]
fld dword [ebp - 0x2bc]
fadd dword [ebp - 0x2c8]
fstp dword [ebp - 0x2bc]
fld dword [ebp - 0x2ac]
fdiv dword [ebp - 0x2bc]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2c8]
fdiv dword [ebp - 0x2c4]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c8]
fdiv dword [ebp - 0x2c4]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2bc]
fsub dword [ebp - 0x2c8]
fstp dword [ebp - 0x2bc]
fld dword [ebp - 0x2c8]
fld dword [ebp - 0x2ac]
fcompp
fnstsw ax
test ah, 5
jp 0x4ea52e
fld dword [ebp - 0x2c4]
fmul dword [ebp - 0x2bc]
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2c8]
fdiv dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2ac]
fdiv dword [ebp - 0x2c8]
fstp dword [ebp - 0x2ac]
fld dword [ebp - 0x2c8]
fdiv dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c8]
jmp 0x4ea576
fld dword [ebp - 0x2c8]
fsub dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c8]
fmul dword [ebp - 0x2ac]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c4]
fsub dword [ebp - 0x2bc]
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2bc]
fdiv dword [ebp - 0x2c4]
fstp dword [ebp - 0x2bc]
mov al, byte [ebp - 0x29f]
mov byte [ebp - 0x2a5], al
mov al, byte [ebp - 0x29d]
mov byte [ebp - 0x2b1], al
movzx eax, byte [ebp - 0x2be]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x18d], al
mov dword [ebp - 0x2b8], 0x20
cmp dword [ebp - 0x2b8], 2
jle 0x4ecaf2
mov eax, dword [ebp - 0x2b8]
and eax, 1
jne 0x4ecaf2
and dword [ebp - 0x378], 0
and dword [ebp - 0x374], 0
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
and dword [ebp - 0x3a8], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
add eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3a8], eax
and dword [ebp - 0x320], 0
fld qword [0x998fe8]
fstp qword [ebp - 0x2ec]
fld qword [0x998fe0]
fstp qword [ebp - 0x38c]
fld qword [0x998fd8]
fstp qword [ebp - 0x34c]
fld qword [0x998fd0]
fstp qword [ebp - 0x3cc]
fld qword [0x994a98]
fstp qword [ebp - 0x30c]
fld qword [0x998fc8]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x2ec]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x30c]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x38c]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x3cc]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x34c]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x2ec]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x2ec]
fcomp qword [ebp - 0x35c]
fnstsw ax
test ah, 5
jp 0x4ea8b3
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x35c]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x2ec]
fadd qword [ebp - 0x38c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x2ec]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x2ec]
fadd qword [ebp - 0x38c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x30c]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x2ec]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x3cc]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x38c]
fdiv qword [ebp - 0x34c]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x35c]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x3cc]
fdiv qword [ebp - 0x30c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x35c]
fdiv qword [ebp - 0x2ec]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x3cc]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x35c]
fcomp qword [ebp - 0x3cc]
fnstsw ax
test ah, 5
jp 0x4ea845
fld qword [ebp - 0x35c]
fdiv qword [ebp - 0x2ec]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x38c]
fsub qword [ebp - 0x34c]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x3cc]
fdiv qword [ebp - 0x30c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x3cc]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x34c]
fsub qword [ebp - 0x3cc]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x34c]
fsub qword [ebp - 0x3cc]
fstp qword [ebp - 0x34c]
jmp 0x4ea8b1
fld qword [ebp - 0x3cc]
fdiv qword [ebp - 0x35c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3cc]
fdiv qword [ebp - 0x35c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3cc]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x30c]
fsub qword [ebp - 0x2ec]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x38c]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x2ec]
fmul qword [ebp - 0x34c]
fstp qword [ebp - 0x2ec]
jmp 0x4ea930
fld qword [ebp - 0x2ec]
fadd qword [ebp - 0x34c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x2ec]
fadd qword [ebp - 0x34c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x34c]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x3cc]
fadd qword [ebp - 0x35c]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x2ec]
fsub qword [ebp - 0x34c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x34c]
mov eax, dword [ebp - 0x320]
add eax, 0x94
mov dword [ebp - 0x320], eax
and dword [ebp - 0x350], 0
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
and dword [ebp - 0x3c0], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
add eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c0], eax
and dword [ebp - 0x3a4], 0
mov eax, dword [ebp - 0x3a4]
inc eax
mov dword [ebp - 0x3a4], eax
and dword [ebp - 0x3bc], 0
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3bc], eax
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
add eax, dword [ebp - 0x300]
mov dword [ebp - 0x300], eax
and dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
and dword [ebp - 0x3a0], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
and dword [ebp - 0x370], 0
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov byte [ebp - 0x32d], 0
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
mov byte [ebp - 0x3b1], 0
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
fld dword [0x998fc0]
fstp dword [ebp - 0x37c]
fld dword [0x998fbc]
fstp dword [ebp - 0x39c]
fld dword [0x998fb8]
fstp dword [ebp - 0x3b0]
fld dword [0x9986a0]
fstp dword [ebp - 0x340]
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x340]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x3b0]
fsub dword [ebp - 0x340]
fstp dword [ebp - 0x3b0]
fld dword [ebp - 0x39c]
fsub dword [ebp - 0x340]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x340]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x3b0]
fld dword [ebp - 0x37c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4eab2e
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x39c]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x3b0]
fsub dword [ebp - 0x340]
fstp dword [ebp - 0x3b0]
fld dword [ebp - 0x39c]
fsub dword [ebp - 0x3b0]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x39c]
fstp dword [ebp - 0x37c]
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
jmp 0x4eab76
fld dword [ebp - 0x39c]
fsub dword [ebp - 0x3b0]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x39c]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x39c]
fsub dword [ebp - 0x3b0]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x3b0]
fadd dword [ebp - 0x340]
fstp dword [ebp - 0x3b0]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4eacb3
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x320], 0x94
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
fld qword [0x998fb0]
fstp qword [ebp - 0x2fc]
fld qword [0x998fa8]
fstp qword [ebp - 0x394]
fld qword [0x998fa0]
fstp qword [ebp - 0x32c]
fld qword [0x998f98]
fstp qword [ebp - 0x384]
fld qword [0x998f90]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x32c]
fmul qword [ebp - 0x2e4]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x32c]
fsub qword [ebp - 0x2e4]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x394]
fmul qword [ebp - 0x2e4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x384]
fadd qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x384]
fsub qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x394]
fcomp qword [ebp - 0x2e4]
fnstsw ax
test ah, 0x41
jne 0x4eafe6
fld qword [ebp - 0x384]
fadd qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x384]
fsub qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x394]
fsub qword [ebp - 0x32c]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x384]
fadd qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
jmp 0x4eb163
fld qword [ebp - 0x384]
fmul qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x2fc]
fdiv qword [ebp - 0x394]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x384]
fadd qword [ebp - 0x2e4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x32c]
fdiv qword [ebp - 0x384]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x32c]
fdiv qword [ebp - 0x384]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x2e4]
fdiv qword [ebp - 0x2fc]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2fc]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2fc]
fdiv qword [ebp - 0x394]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2fc]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x394]
fdiv qword [ebp - 0x32c]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fcomp qword [ebp - 0x2e4]
fnstsw ax
test ah, 5
jp 0x4eb109
fld qword [ebp - 0x2fc]
fdiv qword [ebp - 0x32c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2e4]
fdiv qword [ebp - 0x394]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x394]
fmul qword [ebp - 0x384]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fdiv qword [ebp - 0x384]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fdiv qword [ebp - 0x384]
fstp qword [ebp - 0x394]
jmp 0x4eb163
fld qword [ebp - 0x394]
fadd qword [ebp - 0x384]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x384]
fmul qword [ebp - 0x2fc]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x32c]
fsub qword [ebp - 0x2e4]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x2e4]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2fc]
fdiv qword [ebp - 0x32c]
fstp qword [ebp - 0x2fc]
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4eb188
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x374]
add eax, 5
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x3d0], eax
jmp 0x4eb1b3
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
cmp eax, dword [ebp - 0x374]
jge 0x4eb5a2
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
fld qword [0x998f88]
fstp qword [ebp - 0x3e4]
fld qword [0x998f80]
fstp qword [ebp - 0x3ec]
fld qword [0x998f78]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3e4]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3ec]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3e4]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3e4]
fcomp qword [ebp - 0x3ec]
fnstsw ax
test ah, 5
jp 0x4eb288
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3ec]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3e4]
fadd qword [ebp - 0x3ec]
fstp qword [ebp - 0x3e4]
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
jmp 0x4eb375
fld qword [ebp - 0x3ec]
fdiv qword [ebp - 0x3dc]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3e4]
fmul qword [ebp - 0x3ec]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3dc]
fdiv qword [ebp - 0x3e4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3ec]
fdiv qword [ebp - 0x3dc]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3dc]
fdiv qword [ebp - 0x3e4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3ec]
fcomp qword [ebp - 0x3dc]
fnstsw ax
test ah, 5
jp 0x4eb33f
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x3ec]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x3ec]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3e4]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3e4]
jmp 0x4eb375
fld qword [ebp - 0x3e4]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3e4]
fdiv qword [ebp - 0x3dc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3ec]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x320], 0x94
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4eb59d
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
jmp 0x4eb1a6
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x320], 0x94
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
fld qword [0x998f70]
fstp qword [ebp - 0x364]
fld qword [0x998f68]
fstp qword [ebp - 0x31c]
fld qword [0x998f60]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x33c]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x364]
fmul qword [ebp - 0x33c]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x33c]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x364]
fcomp qword [ebp - 0x33c]
fnstsw ax
test ah, 5
jp 0x4eb6ca
fld qword [ebp - 0x31c]
fsub qword [ebp - 0x33c]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x31c]
fadd qword [ebp - 0x33c]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x364]
fadd qword [ebp - 0x31c]
fstp qword [ebp - 0x364]
jmp 0x4eb712
fld qword [ebp - 0x364]
fadd qword [ebp - 0x31c]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x31c]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x31c]
fmul qword [ebp - 0x33c]
fstp qword [ebp - 0x31c]
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4eb8da
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x320], 0x94
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4ebb2a
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x320], 0x94
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
fld dword [0x998f5c]
fstp dword [ebp - 0x36c]
fld dword [0x998f58]
fstp dword [ebp - 0x314]
fld dword [0x998f54]
fstp dword [ebp - 0x2f4]
fld dword [0x998f50]
fstp dword [ebp - 0x310]
fld dword [0x998f4c]
fstp dword [ebp - 0x324]
fld dword [0x998f48]
fstp dword [ebp - 0x368]
fld dword [0x998f44]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x368]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x314]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x368]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x36c]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x314]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x314]
fld dword [ebp - 0x3ac]
fcompp
fnstsw ax
test ah, 5
jp 0x4ebe13
fld dword [ebp - 0x368]
fadd dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x36c]
fadd dword [ebp - 0x314]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x314]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x36c]
fadd dword [ebp - 0x314]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x314]
fsub dword [ebp - 0x2f4]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x2f4]
fmul dword [ebp - 0x310]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x368]
fsub dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4ec026
fld dword [ebp - 0x324]
fadd dword [ebp - 0x368]
fstp dword [ebp - 0x324]
fld dword [ebp - 0x324]
fmul dword [ebp - 0x368]
fstp dword [ebp - 0x324]
fld dword [ebp - 0x314]
fadd dword [ebp - 0x2f4]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x2f4]
fdiv dword [ebp - 0x310]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x3ac]
fmul dword [ebp - 0x36c]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x324]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x2f4]
fadd dword [ebp - 0x310]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x3ac]
fdiv dword [ebp - 0x36c]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x368]
fsub dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x3ac]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x3ac]
fadd dword [ebp - 0x36c]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x368]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x368]
fadd dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x36c]
fdiv dword [ebp - 0x314]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x324]
fld dword [ebp - 0x3ac]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4ebfa8
fld dword [ebp - 0x310]
fsub dword [ebp - 0x324]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x314]
fmul dword [ebp - 0x2f4]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x368]
fsub dword [ebp - 0x3ac]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x3ac]
fdiv dword [ebp - 0x36c]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x310]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x2f4]
fadd dword [ebp - 0x310]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x314]
fmul dword [ebp - 0x2f4]
fstp dword [ebp - 0x314]
jmp 0x4ec026
fld dword [ebp - 0x3ac]
fdiv dword [ebp - 0x314]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x314]
fsub dword [ebp - 0x310]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x3ac]
fsub dword [ebp - 0x314]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x314]
fadd dword [ebp - 0x310]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x2f4]
fsub dword [ebp - 0x324]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x3ac]
fadd dword [ebp - 0x314]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x3ac]
fdiv dword [ebp - 0x314]
fstp dword [ebp - 0x3ac]
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4ec0fb
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x374]
add eax, 5
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x3f0], eax
jmp 0x4ec126
mov eax, dword [ebp - 0x3f0]
inc eax
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x374]
jge 0x4ec88f
fld dword [0x998f40]
fstp dword [ebp - 0x450]
fld dword [0x998f3c]
fstp dword [ebp - 0x41c]
fld dword [0x998f38]
fstp dword [ebp - 0x3f4]
fld dword [0x997e78]
fstp dword [ebp - 0x448]
fld dword [0x998f34]
fstp dword [ebp - 0x418]
fld dword [0x998f30]
fstp dword [ebp - 0x44c]
fld dword [ebp - 0x3f4]
fsub dword [ebp - 0x44c]
fstp dword [ebp - 0x3f4]
fld dword [ebp - 0x450]
fadd dword [ebp - 0x44c]
fstp dword [ebp - 0x450]
fld dword [ebp - 0x3f4]
fadd dword [ebp - 0x44c]
fstp dword [ebp - 0x3f4]
fld dword [ebp - 0x418]
fadd dword [ebp - 0x44c]
fstp dword [ebp - 0x418]
fld dword [ebp - 0x448]
fsub dword [ebp - 0x44c]
fstp dword [ebp - 0x448]
fld dword [ebp - 0x450]
fadd dword [ebp - 0x44c]
fstp dword [ebp - 0x450]
fld dword [ebp - 0x450]
fld dword [ebp - 0x44c]
fcompp
fnstsw ax
test ah, 5
jp 0x4ec27c
fld dword [ebp - 0x3f4]
fmul dword [ebp - 0x418]
fstp dword [ebp - 0x3f4]
fld dword [ebp - 0x450]
fsub dword [ebp - 0x3f4]
fstp dword [ebp - 0x450]
fld dword [ebp - 0x448]
fmul dword [ebp - 0x44c]
fstp dword [ebp - 0x448]
fld dword [ebp - 0x41c]
fadd dword [ebp - 0x448]
fstp dword [ebp - 0x41c]
fld dword [ebp - 0x448]
fsub dword [ebp - 0x44c]
fstp dword [ebp - 0x448]
fld dword [ebp - 0x44c]
fsub dword [ebp - 0x41c]
fstp dword [ebp - 0x44c]
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
jmp 0x4ec2e8
fld dword [ebp - 0x448]
fdiv dword [ebp - 0x44c]
fstp dword [ebp - 0x448]
fld dword [ebp - 0x3f4]
fsub dword [ebp - 0x418]
fstp dword [ebp - 0x3f4]
fld dword [ebp - 0x450]
fsub dword [ebp - 0x3f4]
fstp dword [ebp - 0x450]
fld dword [ebp - 0x448]
fmul dword [ebp - 0x44c]
fstp dword [ebp - 0x448]
fld dword [ebp - 0x3f4]
fdiv dword [ebp - 0x418]
fstp dword [ebp - 0x3f4]
fld dword [ebp - 0x450]
fadd dword [ebp - 0x3f4]
fstp dword [ebp - 0x450]
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
fld qword [0x998f28]
fstp qword [ebp - 0x404]
fld qword [0x998f20]
fstp qword [ebp - 0x414]
fld qword [0x998f18]
fstp qword [ebp - 0x42c]
fld qword [0x998f10]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x404]
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x414]
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x42c]
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x42c]
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x444]
fcomp qword [ebp - 0x404]
fnstsw ax
test ah, 5
jp 0x4ec3ed
fld qword [ebp - 0x404]
fsub qword [ebp - 0x414]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x404]
fmul qword [ebp - 0x414]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x42c]
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x414]
fsub qword [ebp - 0x42c]
fstp qword [ebp - 0x414]
mov dword [ebp - 0x320], 0x94
jmp 0x4ec522
fld qword [ebp - 0x42c]
fmul qword [ebp - 0x404]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x414]
fsub qword [ebp - 0x444]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x404]
fdiv qword [ebp - 0x42c]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x404]
fadd qword [ebp - 0x42c]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x404]
fadd qword [ebp - 0x414]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x404]
fmul qword [ebp - 0x414]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x414]
fadd qword [ebp - 0x42c]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x414]
fsub qword [ebp - 0x42c]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x404]
fcomp qword [ebp - 0x42c]
fnstsw ax
test ah, 0x41
jne 0x4ec4da
fld qword [ebp - 0x444]
fdiv qword [ebp - 0x414]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x42c]
fdiv qword [ebp - 0x404]
fstp qword [ebp - 0x42c]
fld qword [ebp - 0x444]
fsub qword [ebp - 0x414]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x444]
fdiv qword [ebp - 0x414]
fstp qword [ebp - 0x444]
jmp 0x4ec522
fld qword [ebp - 0x404]
fadd qword [ebp - 0x42c]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x444]
fmul qword [ebp - 0x414]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x444]
fadd qword [ebp - 0x414]
fstp qword [ebp - 0x444]
fld qword [ebp - 0x414]
fsub qword [ebp - 0x444]
fstp qword [ebp - 0x414]
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
fld qword [0x998f08]
fstp qword [ebp - 0x43c]
fld qword [0x998f00]
fstp qword [ebp - 0x424]
fld qword [0x998ef8]
fstp qword [ebp - 0x40c]
fld qword [0x998ef0]
fstp qword [ebp - 0x3fc]
fld qword [0x998ee8]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x43c]
fsub qword [ebp - 0x434]
fstp qword [ebp - 0x43c]
fld qword [ebp - 0x43c]
fmul qword [ebp - 0x434]
fstp qword [ebp - 0x43c]
fld qword [ebp - 0x40c]
fadd qword [ebp - 0x434]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3fc]
fsub qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x43c]
fmul qword [ebp - 0x434]
fstp qword [ebp - 0x43c]
fld qword [ebp - 0x3fc]
fcomp qword [ebp - 0x43c]
fnstsw ax
test ah, 5
jp 0x4ec779
fld qword [ebp - 0x40c]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x424]
fmul qword [ebp - 0x40c]
fstp qword [ebp - 0x424]
fld qword [ebp - 0x434]
fadd qword [ebp - 0x43c]
fstp qword [ebp - 0x434]
fld qword [ebp - 0x3fc]
fmul qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x434]
fsub qword [ebp - 0x43c]
fstp qword [ebp - 0x434]
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
jmp 0x4ec7d3
fld qword [ebp - 0x424]
fadd qword [ebp - 0x40c]
fstp qword [ebp - 0x424]
fld qword [ebp - 0x43c]
fadd qword [ebp - 0x424]
fstp qword [ebp - 0x43c]
fld qword [ebp - 0x3fc]
fadd qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x3fc]
fmul qword [ebp - 0x434]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x424]
fdiv qword [ebp - 0x40c]
fstp qword [ebp - 0x424]
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4ec88a
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
jmp 0x4ec119
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x378]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f0]
movzx eax, byte [eax]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x320], 0x94
mov eax, dword [ebp - 0x378]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x350]
movzx eax, byte [eax]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x320]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3c0]
sub eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x3bc]
shl eax, 4
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x370], eax
mov al, byte [ebp - 0x370]
mov byte [ebp - 0x32d], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b1], al
movzx eax, byte [ebp - 0x2c9]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2c9]
add al, 1
mov byte [ebp - 0x2c9], al
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b1]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
movzx ecx, byte [ebp - 0x2b1]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2c9]
mov cl, byte [ebp - 0x3b1]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x3b1]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2c9]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
movzx ecx, byte [ebp - 0x2b1]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2b1], al
mov al, byte [ebp - 0x32d]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2b1]
mov byte [ebp - 0x395], al
cmp dword [ebp - 0x378], 0
jle 0x4ecaec
mov eax, dword [ebp - 0x378]
mov cl, byte [ebp - 0x395]
mov byte [ebp + eax - 0x31], cl
mov byte [ebp - 0x21], 0
jmp 0x4ecb1e
and dword [ebp - 0x454], 0
jmp 0x4ecb08
mov eax, dword [ebp - 0x454]
inc eax
mov dword [ebp - 0x454], eax
cmp dword [ebp - 0x454], 0x10
jge 0x4ecb1e
mov eax, dword [ebp - 0x454]
mov byte [ebp + eax - 0x30], 0
jmp 0x4ecafb
lea eax, [ebp - 0x30]
mov dword [ebp - 0x4a0], eax
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x4a0]
mov al, byte [eax]
mov byte [ebp - 0x4a5], al
inc dword [ebp - 0x4a0]
cmp byte [ebp - 0x4a5], 0
jne 0x4ecb33
mov eax, dword [ebp - 0x4a0]
sub eax, dword [ebp - 0x4a4]
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4b0], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x4b4]
mov al, byte [eax + 1]
mov byte [ebp - 0x4b5], al
inc dword [ebp - 0x4b4]
cmp byte [ebp - 0x4b5], 0
jne 0x4ecb7b
mov edi, dword [ebp - 0x4b4]
mov esi, dword [ebp - 0x4ac]
mov eax, dword [ebp - 0x4b0]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp - 0x4bc]
mov al, byte [eax]
mov byte [ebp - 0x4c1], al
inc dword [ebp - 0x4bc]
cmp byte [ebp - 0x4c1], 0
jne 0x4ecbd1
mov eax, dword [ebp - 0x4bc]
sub eax, dword [ebp - 0x4c0]
mov ecx, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c8], ecx
mov dword [ebp - 0x4cc], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4d0]
mov al, byte [eax + 1]
mov byte [ebp - 0x4d1], al
inc dword [ebp - 0x4d0]
cmp byte [ebp - 0x4d1], 0
jne 0x4ecc19
mov edi, dword [ebp - 0x4d0]
mov esi, dword [ebp - 0x4c8]
mov eax, dword [ebp - 0x4cc]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0
push 0
push 3
push 0
push 3
push 0
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp - 0x48c]
call dword [eax + 0xdc]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4ecc8a
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4ecdf4
xor eax, eax
lea edi, [ebp - 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x5c], 0
and dword [ebp - 0x58], 0
and dword [ebp - 0x1c], 0
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
and dword [ebp - 0x50], 0
push 0
lea eax, [ebp - 0x50]
push eax
push 8
lea eax, [ebp - 0x1c]
push eax
push 0xc
lea eax, [ebp - 0x5c]
push eax
push 0x2d1400
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x48c]
call dword [eax + 0xcc]
test eax, eax
jne 0x4eccec
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4ecdf4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
call fcn.0092a367
pop ecx
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x14]
push 0
push dword [ebp - 0x48]
call fcn.0092a010
add esp, 0xc
push 0
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x14]
push dword [ebp - 0x48]
push 0xc
lea eax, [ebp - 0x5c]
push eax
push 0x2d1400
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x48c]
call dword [eax + 0xcc]
test eax, eax
jne 0x4ecd73
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x45c], eax
push dword [ebp - 0x45c]
call fcn.0092a351
pop ecx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4ecdf4
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4ecdd3
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x478]
call fcn.0049118d
mov dword [ebp - 0x4d8], eax
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], eax
and dword [ebp - 4], 0
push dword [ebp - 0x4dc]
mov ecx, dword [ebp + 0xc]
call fcn.004da97a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x478]
call fcn.004583b8
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x47c], eax
push dword [ebp - 0x47c]
call fcn.0092a351
pop ecx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 8