Function at 0x4eaca6
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x99c602
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x45c
push ebx
push esi
push edi
mov dword [ebp - 0x418], ecx
and dword [ebp - 0x34], 0
push 0x9a0a44
mov ecx, dword [ebp + 0xc]
call fcn.00471c7d
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.009346a0
add esp, 0xc
push 0xa
lea eax, [ebp - 0x18c]
push eax
push dword [ebp + 8]
call fcn.0093674a
add esp, 0xc
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
mov al, byte [eax + 1]
mov byte [ebp - 0x41d], al
inc dword [ebp - 0x41c]
cmp byte [ebp - 0x41d], 0
jne 0x4ead31
mov edi, dword [ebp - 0x41c]
mov esi, 0x9a2d98
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 0x4ead82
fld qword [ebp - 0x3c]
fadd qword [0x99f300]
fstp qword [ebp - 0x3c]
fld qword [0x9a2d90]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4eade1
fld qword [0x9a2d88]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9a2d80]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9a2d78]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x9a2d70]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4eaddf
fld qword [0x9a2d68]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4ead76
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4eae29
and byte [esi], ah
jae 0x4eae2f
jno 0x4eae34
outsd dx, dword [esi]
xor eax, 0x6330244d
popal
sub dword [edx + 0x5d], edx
push edi
jnp 0x4eae6e
and al, 0x2f
je 0x4eae29
rol edx, 0xc6
enter 0xffffffffffffc5c9, 0xffffffffffffffc4
invalid
mov dword [ebp - 0x60], 0x4eae04
mov dword [ebp - 0x4c], 0x4eaded
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x2b5], 0x1b
and dword [ebp - 0x2ac], 0
jmp 0x4eae66
add bh, al
inc ebp
mov ah, 0xed
lodsd eax, dword [esi]
dec esi
add byte [ebx - 0x7a765fbb], cl
push 0x8bfffffe
inc ebp
mov ah, 0x89
test dword [esi + edi*8 - 1], ebp
inc esi
test dword [ebx - 3], ecx
invalid
mov eax, dword [ebp - 0x2ac]
inc eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0x100
add byte [eax], al
jae 0x4eae87
mov eax, dword [ebp - 0x2ac]
mov cl, byte [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4eae59
and dword [ebp - 0x19c], 0
mov byte [ebp - 0x2b6], 0
mov dword [ebp - 0x2ac], 0xff
jmp 0x4eaeae
mov eax, dword [ebp - 0x2ac]
dec eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
jbe 0x4eb11c
and dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2ac]
jae 0x4eaeec
mov eax, dword [ebp - 0x2c4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c4], eax
jmp 0x4eaecc
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
je 0x4eaf31
sub dword [ebp - 0x428], 1
je 0x4eaf5a
sub dword [ebp - 0x428], 1
je 0x4eaf83
sub dword [ebp - 0x428], 1
je 0x4eafac
jmp 0x4eafd5
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00935c96
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4eaffc
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00935c96
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4eaffc
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00935c96
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4eaffc
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00935c96
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4eaffc
movzx eax, byte [ebp - 0x2b6]
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 - 0x2b6], al
mov eax, dword [ebp - 0x19c]
inc eax
mov dword [ebp - 0x19c], eax
movzx eax, byte [ebp - 0x2b5]
cmp dword [ebp - 0x19c], eax
jb 0x4eb035
and dword [ebp - 0x19c], 0
movzx eax, byte [ebp - 0x2b5]
movzx ecx, byte [ebp - 0x2b6]
add ecx, eax
mov byte [ebp - 0x2b6], cl
movzx eax, byte [ebp - 0x2b6]
and eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2bc]
inc eax
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0xb
jbe 0x4eb072
mov eax, dword [ebp - 0x2c0]
xor edx, edx
div dword [ebp - 0x2ac]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2c0]
cmp eax, dword [ebp - 0x2ac]
ja 0x4eaeec
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [ebp - 0x2c0]
je 0x4eb117
mov eax, dword [ebp - 0x2c0]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x2ac]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor ecx, eax
mov eax, dword [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
mov eax, dword [ebp - 0x2ac]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x2c0]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor ecx, eax
mov eax, dword [ebp - 0x2c0]
mov byte [ebp + eax - 0x2a4], cl
mov eax, dword [ebp - 0x2c0]
movzx eax, byte [ebp + eax - 0x2a4]
mov ecx, dword [ebp - 0x2ac]
movzx ecx, byte [ebp + ecx - 0x2a4]
xor ecx, eax
mov eax, dword [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4eaea1
mov al, byte [ebp - 0x2a3]
mov byte [ebp - 0x2b7], al
mov al, byte [ebp - 0x2a1]
mov byte [ebp - 0x19d], al
mov al, byte [ebp - 0x29f]
mov byte [ebp - 0x2a5], al
mov al, byte [ebp - 0x29d]
mov byte [ebp - 0x2ad], al
movzx eax, byte [ebp - 0x2b6]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x18d], al
mov dword [ebp - 0x2b4], 0x20
cmp dword [ebp - 0x2b4], 2
jle 0x4ecc00
mov eax, dword [ebp - 0x2b4]
and eax, 1
jne 0x4ecc00
and dword [ebp - 0x318], 0
and dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
and dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x318]
shl eax, 1
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x334]
mov dword [ebp - 0x334], eax
and dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0x2e0]
add eax, 0xbd
mov dword [ebp - 0x2e0], eax
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x318]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x300], eax
and dword [ebp - 0x34c], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x300]
movzx eax, byte [eax]
add eax, dword [ebp - 0x34c]
mov dword [ebp - 0x34c], eax
and dword [ebp - 0x330], 0
mov eax, dword [ebp - 0x330]
add eax, 0xbc
mov dword [ebp - 0x330], eax
and dword [ebp - 0x348], 0
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x2e0]
add eax, dword [ebp - 0x348]
mov dword [ebp - 0x348], eax
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x330]
add eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d4], eax
and dword [ebp - 0x344], 0
mov eax, dword [ebp - 0x348]
shl eax, 4
mov dword [ebp - 0x344], eax
and dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x32c], eax
and dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x344]
or eax, dword [ebp - 0x32c]
mov dword [ebp - 0x310], eax
mov byte [ebp - 0x2f1], 0
mov al, byte [ebp - 0x310]
mov byte [ebp - 0x2f1], al
mov byte [ebp - 0x33d], 0
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x33d], al
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], 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 - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x33d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2f1]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
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 - 0x2ad]
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 - 0x2ad], al
mov al, byte [ebp - 0x2f1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x325], al
cmp dword [ebp - 0x318], 0
jle 0x4eb458
mov eax, dword [ebp - 0x318]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x314]
add eax, 6
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x350], eax
jmp 0x4eb483
mov eax, dword [ebp - 0x350]
inc eax
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x350]
cmp eax, dword [ebp - 0x314]
jge 0x4ebce3
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x318]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x2e0], 0xbd
mov eax, dword [ebp - 0x318]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x300]
movzx eax, byte [eax]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x330], 0xbc
fld dword [0x9a2d60]
fstp dword [ebp - 0x378]
fld dword [0x9a2d5c]
fstp dword [ebp - 0x36c]
fld dword [0x9a2d58]
fstp dword [ebp - 0x398]
fld dword [0x9a2d54]
fstp dword [ebp - 0x368]
fld dword [0x9a2d50]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x388]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x398]
fsub dword [ebp - 0x388]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x388]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x398]
fmul dword [ebp - 0x388]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x388]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x378]
fld dword [ebp - 0x388]
fcompp
fnstsw ax
test ah, 5
jp 0x4eb61a
fld dword [ebp - 0x388]
fadd dword [ebp - 0x36c]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x398]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x36c]
fmul dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x378]
fadd dword [ebp - 0x398]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x368]
fsub dword [ebp - 0x378]
fstp dword [ebp - 0x368]
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x348], eax
jmp 0x4eb799
fld dword [ebp - 0x388]
fmul dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x368]
fdiv dword [ebp - 0x388]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x388]
fdiv dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x368]
fmul dword [ebp - 0x388]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x388]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x388]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x388]
fmul dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x398]
fadd dword [ebp - 0x368]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x378]
fld dword [ebp - 0x398]
fcompp
fnstsw ax
test ah, 5
jp 0x4eb73f
fld dword [ebp - 0x388]
fdiv dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x368]
fsub dword [ebp - 0x388]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x388]
fdiv dword [ebp - 0x378]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x398]
fmul dword [ebp - 0x368]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x36c]
fdiv dword [ebp - 0x398]
fstp dword [ebp - 0x36c]
jmp 0x4eb799
fld dword [ebp - 0x388]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x388]
fld dword [ebp - 0x36c]
fmul dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x368]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x388]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x388]
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x348]
shl eax, 4
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x344]
or eax, dword [ebp - 0x32c]
mov dword [ebp - 0x310], eax
mov al, byte [ebp - 0x310]
mov byte [ebp - 0x2f1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x33d], al
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], 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 - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x33d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2f1]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
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 - 0x2ad]
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 - 0x2ad], al
mov al, byte [ebp - 0x2f1]
mov byte [ebp - 0x18d], al
fld qword [0x9a2d48]
fstp qword [ebp - 0x374]
fld qword [0x9a2d40]
fstp qword [ebp - 0x384]
fld qword [0x9a2d38]
fstp qword [ebp - 0x394]
fld qword [0x9a2d30]
fstp qword [ebp - 0x3ac]
fld qword [0x9a2d28]
fstp qword [ebp - 0x364]
fld qword [0x9a2d20]
fstp qword [ebp - 0x35c]
fld qword [0x9a2d18]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x394]
fmul qword [ebp - 0x3a4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x3a4]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x35c]
fadd qword [ebp - 0x3a4]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x364]
fmul qword [ebp - 0x3a4]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x384]
fmul qword [ebp - 0x3a4]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x35c]
fadd qword [ebp - 0x3a4]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x3a4]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x384]
fcomp qword [ebp - 0x3a4]
fnstsw ax
test ah, 0x41
jne 0x4ebab4
fld qword [ebp - 0x364]
fadd qword [ebp - 0x3a4]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x374]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x384]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x374]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x384]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x384]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x384]
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x325], al
jmp 0x4ebcc5
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x3a4]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x384]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x384]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x374]
fdiv qword [ebp - 0x384]
fstp qword [ebp - 0x374]
fld qword [ebp - 0x384]
fdiv qword [ebp - 0x394]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x394]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x374]
fdiv qword [ebp - 0x394]
fstp qword [ebp - 0x374]
fld qword [ebp - 0x35c]
fdiv qword [ebp - 0x374]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x3a4]
fdiv qword [ebp - 0x384]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x364]
fdiv qword [ebp - 0x3a4]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x35c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x35c]
fdiv qword [ebp - 0x374]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3ac]
fcomp qword [ebp - 0x384]
fnstsw ax
test ah, 0x41
jne 0x4ebc47
fld qword [ebp - 0x394]
fmul qword [ebp - 0x364]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fsub qword [ebp - 0x364]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x35c]
fadd qword [ebp - 0x374]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x374]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x374]
fld qword [ebp - 0x384]
fdiv qword [ebp - 0x3ac]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x374]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x374]
jmp 0x4ebcc5
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x394]
fdiv qword [ebp - 0x364]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x384]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x384]
fdiv qword [ebp - 0x3ac]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x3ac]
fdiv qword [ebp - 0x35c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x374]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x374]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x374]
cmp dword [ebp - 0x318], 0
jle 0x4ebcde
mov eax, dword [ebp - 0x318]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x31], cl
jmp 0x4eb476
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x318]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x2e0], 0xbd
mov eax, dword [ebp - 0x318]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x300]
movzx eax, byte [eax]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x330], 0xbc
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x348]
shl eax, 4
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x344]
or eax, dword [ebp - 0x32c]
mov dword [ebp - 0x310], eax
mov al, byte [ebp - 0x310]
mov byte [ebp - 0x2f1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x33d], al
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], 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 - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x33d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2f1]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
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 - 0x2ad]
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 - 0x2ad], al
mov al, byte [ebp - 0x2f1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x325], al
cmp dword [ebp - 0x318], 0
jle 0x4ebf40
mov eax, dword [ebp - 0x318]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x318]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x2e0], 0xbd
mov eax, dword [ebp - 0x318]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x300]
movzx eax, byte [eax]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x330], 0xbc
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x348]
shl eax, 4
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x344]
or eax, dword [ebp - 0x32c]
mov dword [ebp - 0x310], eax
mov al, byte [ebp - 0x310]
mov byte [ebp - 0x2f1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x33d], al
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], 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 - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x33d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2f1]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
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 - 0x2ad]
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 - 0x2ad], al
mov al, byte [ebp - 0x2f1]
mov byte [ebp - 0x18d], al
fld dword [0x9a2d14]
fstp dword [ebp - 0x2d0]
fld dword [0x9a2d10]
fstp dword [ebp - 0x2d8]
fld dword [0x9a2d0c]
fstp dword [ebp - 0x2f0]
fld dword [0x9a2d08]
fstp dword [ebp - 0x2c8]
fld dword [0x9a2d04]
fstp dword [ebp - 0x2dc]
fld dword [0x9a2d00]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x2c8]
fmul dword [ebp - 0x31c]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2d8]
fmul dword [ebp - 0x31c]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
fmul dword [ebp - 0x31c]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2c8]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x31c]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2d8]
fld dword [ebp - 0x31c]
fcompp
fnstsw ax
test ah, 5
jp 0x4ec2ae
fld dword [ebp - 0x31c]
fmul dword [ebp - 0x2d8]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x2d8]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2dc]
fadd dword [ebp - 0x2d0]
fstp dword [ebp - 0x2dc]
fld dword [ebp - 0x2d0]
fmul dword [ebp - 0x2f0]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x2dc]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2c8]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x2c8]
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x325], al
jmp 0x4ec31a
fld dword [ebp - 0x31c]
fdiv dword [ebp - 0x2d8]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x31c]
fsub dword [ebp - 0x2d8]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x2f0]
fdiv dword [ebp - 0x2dc]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x2dc]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2d0]
fdiv dword [ebp - 0x2f0]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2d8]
fsub dword [ebp - 0x2c8]
fstp dword [ebp - 0x2d8]
cmp dword [ebp - 0x318], 0
jle 0x4ec333
mov eax, dword [ebp - 0x318]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x31], cl
fld qword [0x9a2cf8]
fstp qword [ebp - 0x2ec]
fld qword [0x9a2cf0]
fstp qword [ebp - 0x324]
fld qword [0x9a2ce8]
fstp qword [ebp - 0x33c]
fld qword [0x9a1578]
fstp qword [ebp - 0x2fc]
fld qword [0x9a2ce0]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x33c]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x2ec]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x324]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2fc]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x30c]
fcomp qword [ebp - 0x2ec]
fnstsw ax
test ah, 5
jp 0x4ec445
fld qword [ebp - 0x30c]
fsub qword [ebp - 0x324]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x33c]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x2ec]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x324]
fmul qword [ebp - 0x2fc]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x2ec]
fstp qword [ebp - 0x2fc]
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x318], eax
jmp 0x4ec49f
fld qword [ebp - 0x324]
fmul qword [ebp - 0x2fc]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x324]
fdiv qword [ebp - 0x2fc]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2ec]
fadd qword [ebp - 0x33c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x2ec]
fdiv qword [ebp - 0x33c]
fstp qword [ebp - 0x2ec]
fld qword [ebp - 0x324]
fsub qword [ebp - 0x2fc]
fstp qword [ebp - 0x324]
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x318]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x2e0], 0xbd
mov eax, dword [ebp - 0x318]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x300]
movzx eax, byte [eax]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x330], 0xbc
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x348]
shl eax, 4
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x344]
or eax, dword [ebp - 0x32c]
mov dword [ebp - 0x310], eax
mov al, byte [ebp - 0x310]
mov byte [ebp - 0x2f1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x33d], al
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], 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 - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x33d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2f1]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
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 - 0x2ad]
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 - 0x2ad], al
mov al, byte [ebp - 0x2f1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x325], al
cmp dword [ebp - 0x318], 0
jle 0x4ec6e2
mov eax, dword [ebp - 0x318]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x314]
add eax, 6
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x3b0], eax
jmp 0x4ec70d
mov eax, dword [ebp - 0x3b0]
inc eax
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x3b0]
cmp eax, dword [ebp - 0x314]
jge 0x4ecbed
mov eax, dword [ebp - 0x318]
inc eax
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x318]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x2e0], 0xbd
mov eax, dword [ebp - 0x318]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x300]
movzx eax, byte [eax]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x330], 0xbc
mov eax, dword [ebp - 0x334]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x34c]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x348]
shl eax, 4
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x344]
or eax, dword [ebp - 0x32c]
mov dword [ebp - 0x310], eax
mov al, byte [ebp - 0x310]
mov byte [ebp - 0x2f1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x33d], al
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], 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 - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], al
fld qword [0x9a2cd8]
fstp qword [ebp - 0x3cc]
fld qword [0x9a2cd0]
fstp qword [ebp - 0x3d4]
fld qword [0x9a2cc8]
fstp qword [ebp - 0x3bc]
fld qword [0x9a2cc0]
fstp qword [ebp - 0x3c4]
fld qword [0x9a2cb8]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3bc]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3c4]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3d4]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3d4]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3d4]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3c4]
fcomp qword [ebp - 0x3d4]
fnstsw ax
test ah, 0x41
jne 0x4ecaa5
fld qword [ebp - 0x3bc]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3c4]
fadd qword [ebp - 0x3cc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3d4]
fsub qword [ebp - 0x3c4]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3bc]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3dc]
fmul qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3c4]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3cc]
fmul qword [ebp - 0x3d4]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3bc]
fmul qword [ebp - 0x3c4]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x3cc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3cc]
fsub qword [ebp - 0x3d4]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3c4]
fcomp qword [ebp - 0x3d4]
fnstsw ax
test ah, 0x41
jne 0x4eca49
fld qword [ebp - 0x3bc]
fsub qword [ebp - 0x3c4]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3d4]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3cc]
fdiv qword [ebp - 0x3d4]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3d4]
fsub qword [ebp - 0x3bc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3cc]
fdiv qword [ebp - 0x3d4]
fstp qword [ebp - 0x3cc]
jmp 0x4ecaa3
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3c4]
fadd qword [ebp - 0x3cc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3d4]
fsub qword [ebp - 0x3c4]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3c4]
fmul qword [ebp - 0x3cc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3d4]
fadd qword [ebp - 0x3c4]
fstp qword [ebp - 0x3d4]
jmp 0x4ecb13
fld qword [ebp - 0x3c4]
fmul qword [ebp - 0x3cc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3c4]
fsub qword [ebp - 0x3cc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3bc]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3bc]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3d4]
fsub qword [ebp - 0x3c4]
fstp qword [ebp - 0x3d4]
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x33d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2f1]
movzx ecx, byte [ebp - 0x19d]
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
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 - 0x2ad]
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 - 0x2ad], al
mov al, byte [ebp - 0x2f1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x325], al
cmp dword [ebp - 0x318], 0
jle 0x4ecbe8
mov eax, dword [ebp - 0x318]
mov cl, byte [ebp - 0x325]
mov byte [ebp + eax - 0x31], cl
jmp 0x4ec700
mov eax, dword [ebp - 0x314]
inc eax
mov dword [ebp - 0x314], eax
mov byte [ebp - 0x21], 0
jmp 0x4ecc2c
and dword [ebp - 0x3e0], 0
jmp 0x4ecc16
mov eax, dword [ebp - 0x3e0]
inc eax
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0x10
jge 0x4ecc2c
mov eax, dword [ebp - 0x3e0]
mov byte [ebp + eax - 0x30], 0
jmp 0x4ecc09
lea eax, [ebp - 0x30]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x42c]
mov al, byte [eax]
mov byte [ebp - 0x431], al
inc dword [ebp - 0x42c]
cmp byte [ebp - 0x431], 0
jne 0x4ecc41
mov eax, dword [ebp - 0x42c]
sub eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x440]
mov al, byte [eax + 1]
mov byte [ebp - 0x441], al
inc dword [ebp - 0x440]
cmp byte [ebp - 0x441], 0
jne 0x4ecc89
mov edi, dword [ebp - 0x440]
mov esi, dword [ebp - 0x438]
mov eax, dword [ebp - 0x43c]
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 - 0x448], eax
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x448]
mov al, byte [eax]
mov byte [ebp - 0x44d], al
inc dword [ebp - 0x448]
cmp byte [ebp - 0x44d], 0
jne 0x4eccdf
mov eax, dword [ebp - 0x448]
sub eax, dword [ebp - 0x44c]
mov ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x458], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x45c]
mov al, byte [eax + 1]
mov byte [ebp - 0x45d], al
inc dword [ebp - 0x45c]
cmp byte [ebp - 0x45d], 0
jne 0x4ecd27
mov edi, dword [ebp - 0x45c]
mov esi, dword [ebp - 0x454]
mov eax, dword [ebp - 0x458]
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 - 0x418]
call dword [eax + 0xdc]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4ecd98
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4ecf02
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 - 0x418]
call dword [eax + 0xcc]
test eax, eax
jne 0x4ecdfa
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 0x4ecf02
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
call fcn.009349f7
pop ecx
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x14]
push 0
push dword [ebp - 0x48]
call fcn.009346a0
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 - 0x418]
call dword [eax + 0xcc]
test eax, eax
jne 0x4ece81
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3e8], eax
push dword [ebp - 0x3e8]
call fcn.009349e1
pop ecx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4ecf02
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 0x4ecee1
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x404]
call fcn.00491470
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
and dword [ebp - 4], 0
push dword [ebp - 0x468]
mov ecx, dword [ebp + 0xc]
call fcn.004d9842
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x404]
call fcn.0045d918
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x408], eax
push dword [ebp - 0x408]
call fcn.009349e1
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