Function at 0x4e8829
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x992a5e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c4
push ebx
push esi
push edi
mov dword [ebp - 0x380], ecx
and dword [ebp - 0x34], 0
push 0x99795c
mov ecx, dword [ebp + 0xc]
call fcn.004713ca
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.0092aac0
add esp, 0xc
push 0xa
lea eax, [ebp - 0x18c]
push eax
push dword [ebp + 8]
call fcn.0092cb6a
add esp, 0xc
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
mov al, byte [eax + 1]
mov byte [ebp - 0x385], al
inc dword [ebp - 0x384]
cmp byte [ebp - 0x385], 0
jne 0x4e88b4
mov edi, dword [ebp - 0x384]
mov esi, 0x999f38
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 0x4e8905
fld qword [ebp - 0x3c]
fadd qword [0x996a50]
fstp qword [ebp - 0x3c]
fld qword [0x999f30]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4e8964
fld qword [0x999f28]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x999f20]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x999f18]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x999f10]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4e8962
fld qword [0x999f08]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4e88f9
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4e89b5
and byte [0x7d413778], bh
outsd dx, dword [esi]
dec ebp
cmp bh, byte [0x272d4464]
jne 0x4e89a0
jge 0x4e89e4
inc esi
and dword [esp + esi + 0x72], eax
dec esp
sub ebx, dword [eax + 0x32]
dec eax
aaa
aaa
nop
lds ecx, [esi - 0x753d6d45]
ret 0xc291
nop
mov eax, 0xbe95bb91
xchg edx, eax
les edx, [eax - 0x7846754a]
rcl byte [ebx + 0x1be7e9b6], 0
add bh, al
inc ebp
mov al, byte [0x4e8990]
mov dword [ebp - 0x60], 0x4e8990
mov dword [ebp - 0x4c], 0x4e8970
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x2b5], 0x24
and dword [ebp - 0x2ac], 0
jmp 0x4e89f2
or eax, 0xfd54858b
invalid
mov eax, dword [ebp - 0x2ac]
inc eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0x100
jae 0x4e8a13
mov eax, dword [ebp - 0x2ac]
mov cl, byte [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4e89e5
and dword [ebp - 0x19c], 0
mov byte [ebp - 0x2b6], 0
mov dword [ebp - 0x2ac], 0xff
jmp 0x4e8a3a
mov eax, dword [ebp - 0x2ac]
dec eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
jbe 0x4e8ca8
and dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2ac]
jae 0x4e8a78
mov eax, dword [ebp - 0x2c4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c4], eax
jmp 0x4e8a58
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0
je 0x4e8abd
sub dword [ebp - 0x390], 1
je 0x4e8ae6
sub dword [ebp - 0x390], 1
je 0x4e8b0f
sub dword [ebp - 0x390], 1
je 0x4e8b38
jmp 0x4e8b61
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092c0b6
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4e8b88
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092c0b6
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4e8b88
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092c0b6
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4e8b88
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.0092c0b6
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4e8b88
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 0x4e8bc1
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 0x4e8bfe
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 0x4e8a78
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [ebp - 0x2c0]
je 0x4e8ca3
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 0x4e8a2d
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 0x4ea570
mov eax, dword [ebp - 0x2b4]
and eax, 1
jne 0x4ea570
and dword [ebp - 0x304], 0
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
and dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x304]
shl eax, 1
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x32c]
mov dword [ebp - 0x32c], eax
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2e8]
add eax, 0x86
mov dword [ebp - 0x2e8], eax
and dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
and dword [ebp - 0x33c], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
add eax, dword [ebp - 0x33c]
mov dword [ebp - 0x33c], eax
and dword [ebp - 0x328], 0
fld qword [0x999f00]
fstp qword [ebp - 0x2e4]
fld qword [0x999ef8]
fstp qword [ebp - 0x2dc]
fld qword [0x999ef0]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2dc]
fsub qword [ebp - 0x324]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x2e4]
fadd qword [ebp - 0x324]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2e4]
fadd qword [ebp - 0x324]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2dc]
fcomp qword [ebp - 0x2e4]
fnstsw ax
test ah, 5
jp 0x4e8e72
fld qword [ebp - 0x2e4]
fadd qword [ebp - 0x2dc]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2e4]
fadd qword [ebp - 0x2dc]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2e4]
fsub qword [ebp - 0x2dc]
fstp qword [ebp - 0x2e4]
mov eax, dword [ebp - 0x328]
add eax, 0xb6
mov dword [ebp - 0x328], eax
jmp 0x4e8ea8
fld qword [ebp - 0x2dc]
fadd qword [ebp - 0x2e4]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x324]
fmul qword [ebp - 0x2dc]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2e4]
fsub qword [ebp - 0x324]
fstp qword [ebp - 0x2e4]
and dword [ebp - 0x338], 0
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
add eax, dword [ebp - 0x338]
mov dword [ebp - 0x338], eax
and dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d0], eax
and dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
and dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov byte [ebp - 0x2e9], 0
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
mov byte [ebp - 0x32d], 0
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e90bf
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x300]
add eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x340], eax
jmp 0x4e90ea
mov eax, dword [ebp - 0x340]
inc eax
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x300]
jge 0x4e9344
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e933f
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
jmp 0x4e90dd
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e95a1
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e97f1
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x300]
add eax, 5
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x344], eax
jmp 0x4e981c
mov eax, dword [ebp - 0x344]
inc eax
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x300]
jge 0x4e9a76
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e9a71
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
jmp 0x4e980f
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e9cd3
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4e9f23
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4ea173
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
inc eax
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x304]
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 - 0x32c], eax
mov dword [ebp - 0x2e8], 0x86
mov eax, dword [ebp - 0x304]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x328], 0xb6
fld dword [0x999eec]
fstp dword [ebp - 0x2c8]
fld dword [0x999ee8]
fstp dword [ebp - 0x30c]
fld dword [0x999ee4]
fstp dword [ebp - 0x308]
fld dword [0x999ee0]
fstp dword [ebp - 0x310]
fld dword [0x999edc]
fstp dword [ebp - 0x2f0]
fld dword [0x999ed8]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x310]
fsub dword [ebp - 0x2f4]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x308]
fmul dword [ebp - 0x2f4]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x30c]
fadd dword [ebp - 0x2f4]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x2c8]
fsub dword [ebp - 0x2f4]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2c8]
fmul dword [ebp - 0x2f4]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x30c]
fsub dword [ebp - 0x2f4]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x2f4]
fld dword [ebp - 0x2c8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4ea336
fld dword [ebp - 0x2f4]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x30c]
fmul dword [ebp - 0x308]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x310]
fsub dword [ebp - 0x2f0]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x2f4]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x310]
fsub dword [ebp - 0x2f0]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x310]
fadd dword [ebp - 0x2f0]
fstp dword [ebp - 0x310]
mov eax, dword [ebp - 0x32c]
sub eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x338], eax
jmp 0x4ea3a2
fld dword [ebp - 0x308]
fadd dword [ebp - 0x2f0]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x30c]
fmul dword [ebp - 0x310]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2f4]
fdiv dword [ebp - 0x30c]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2c8]
fdiv dword [ebp - 0x308]
fstp dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x33c]
sub eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x338]
shl eax, 4
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x334]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2fc], eax
mov al, byte [ebp - 0x2fc]
mov byte [ebp - 0x2e9], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x32d], 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 - 0x32d]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e9]
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 - 0x2e9]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x304], 0
jle 0x4ea56a
mov eax, dword [ebp - 0x304]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov byte [ebp - 0x21], 0
jmp 0x4ea59c
and dword [ebp - 0x348], 0
jmp 0x4ea586
mov eax, dword [ebp - 0x348]
inc eax
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0x10
jge 0x4ea59c
mov eax, dword [ebp - 0x348]
mov byte [ebp + eax - 0x30], 0
jmp 0x4ea579
lea eax, [ebp - 0x30]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x394]
mov al, byte [eax]
mov byte [ebp - 0x399], al
inc dword [ebp - 0x394]
cmp byte [ebp - 0x399], 0
jne 0x4ea5b1
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x398]
mov dword [ebp - 0x3a0], ecx
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp - 0x3a8]
mov al, byte [eax + 1]
mov byte [ebp - 0x3a9], al
inc dword [ebp - 0x3a8]
cmp byte [ebp - 0x3a9], 0
jne 0x4ea5f9
mov edi, dword [ebp - 0x3a8]
mov esi, dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x3a4]
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 - 0x3b0], eax
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x3b0]
mov al, byte [eax]
mov byte [ebp - 0x3b5], al
inc dword [ebp - 0x3b0]
cmp byte [ebp - 0x3b5], 0
jne 0x4ea64f
mov eax, dword [ebp - 0x3b0]
sub eax, dword [ebp - 0x3b4]
mov ecx, dword [ebp - 0x3b4]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3c0], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x3c4]
mov al, byte [eax + 1]
mov byte [ebp - 0x3c5], al
inc dword [ebp - 0x3c4]
cmp byte [ebp - 0x3c5], 0
jne 0x4ea697
mov edi, dword [ebp - 0x3c4]
mov esi, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x3c0]
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 - 0x380]
call dword [eax + 0xdc]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4ea708
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4ea872
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 - 0x380]
call dword [eax + 0xcc]
test eax, eax
jne 0x4ea76a
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 0x4ea872
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
call fcn.0092ae17
pop ecx
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x14]
push 0
push dword [ebp - 0x48]
call fcn.0092aac0
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 - 0x380]
call dword [eax + 0xcc]
test eax, eax
jne 0x4ea7f1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x350], eax
push dword [ebp - 0x350]
call fcn.0092ae01
pop ecx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4ea872
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 0x4ea851
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x36c]
call fcn.00491416
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], eax
and dword [ebp - 4], 0
push dword [ebp - 0x3d0]
mov ecx, dword [ebp + 0xc]
call fcn.004d736c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x36c]
call fcn.0045cf72
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x370], eax
push dword [ebp - 0x370]
call fcn.0092ae01
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