Function at 0x4f053b
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x99efa0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3f4
push ebx
push esi
push edi
mov dword [ebp - 0x3b0], ecx
and dword [ebp - 0x34], 0
push 0x9a39bc
mov ecx, dword [ebp + 0xc]
call fcn.00471c65
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.00937030
add esp, 0xc
push 0xa
lea eax, [ebp - 0x18c]
push eax
push dword [ebp + 8]
call fcn.009390da
add esp, 0xc
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x3b4]
mov al, byte [eax + 1]
mov byte [ebp - 0x3b5], al
inc dword [ebp - 0x3b4]
cmp byte [ebp - 0x3b5], 0
jne 0x4f05c6
mov edi, dword [ebp - 0x3b4]
mov esi, 0x9a6180
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 0x4f0617
fld qword [ebp - 0x3c]
fadd qword [0x9a2418]
fstp qword [ebp - 0x3c]
fld qword [0x9a6178]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4f0676
fld qword [0x9a6170]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9a2580]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9a55c8]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x9a6168]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4f0674
fld qword [0x9a6160]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4f060b
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4f06c3
ret
mov dword [ebp - 0x60], 0x4f0682
mov dword [ebp - 0x4c], 0x4f06a2
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x194], eax
mov byte [ebp - 0x2b5], 0x20
and dword [ebp - 0x2ac], 0
jmp 0x4f0700
mov eax, dword [ebp - 0x2ac]
inc eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0x100
jae 0x4f0721
mov eax, dword [ebp - 0x2ac]
mov cl, byte [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4f06f3
and dword [ebp - 0x19c], 0
mov byte [ebp - 0x2b6], 0
mov dword [ebp - 0x2ac], 0xff
jmp 0x4f0748
mov eax, dword [ebp - 0x2ac]
dec eax
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
jbe 0x4f09b6
and dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2ac]
jae 0x4f0786
mov eax, dword [ebp - 0x2c4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c4], eax
jmp 0x4f0766
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 0
je 0x4f07cb
sub dword [ebp - 0x3c0], 1
je 0x4f07f4
sub dword [ebp - 0x3c0], 1
je 0x4f081d
sub dword [ebp - 0x3c0], 1
je 0x4f0846
jmp 0x4f086f
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00938626
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4f0896
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00938626
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4f0896
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00938626
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4f0896
movzx eax, byte [ebp - 0x2b6]
movzx ebx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
call fcn.00938626
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x2b6], bl
jmp 0x4f0896
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 0x4f08cf
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 0x4f090c
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 0x4f0786
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [ebp - 0x2c0]
je 0x4f09b1
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 0x4f073b
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 0x4f25fe
mov eax, dword [ebp - 0x2b4]
and eax, 1
jne 0x4f25fe
and dword [ebp - 0x2f4], 0
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
and dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x2f4]
shl eax, 1
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x320], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x320]
mov dword [ebp - 0x320], eax
and dword [ebp - 0x2dc], 0
mov eax, dword [ebp - 0x2dc]
add eax, 0xb7
mov dword [ebp - 0x2dc], eax
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
and dword [ebp - 0x330], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
add eax, dword [ebp - 0x330]
mov dword [ebp - 0x330], eax
and dword [ebp - 0x31c], 0
mov eax, dword [ebp - 0x31c]
add eax, 0x26
mov dword [ebp - 0x31c], eax
and dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
add eax, dword [ebp - 0x32c]
mov dword [ebp - 0x32c], eax
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
add eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d4], eax
and dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
and dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
and dword [ebp - 0x2ec], 0
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
mov byte [ebp - 0x2e1], 0
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
mov byte [ebp - 0x321], 0
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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 - 0x2e1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f0cf0
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
shl eax, 1
mov dword [ebp - 0x2cc], eax
fld dword [0x9a615c]
fstp dword [ebp - 0x310]
fld dword [0x9a6158]
fstp dword [ebp - 0x2e0]
fld dword [0x9a6154]
fstp dword [ebp - 0x304]
fld dword [0x9a6150]
fstp dword [ebp - 0x2f8]
fld dword [0x9a614c]
fstp dword [ebp - 0x30c]
fld dword [0x9a6148]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x310]
fsub dword [ebp - 0x300]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x304]
fmul dword [ebp - 0x300]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x310]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x2f8]
fmul dword [ebp - 0x300]
fstp dword [ebp - 0x2f8]
fld dword [ebp - 0x304]
fmul dword [ebp - 0x300]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x310]
fsub dword [ebp - 0x300]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x300]
fld dword [ebp - 0x304]
fcompp
fnstsw ax
test ah, 5
jp 0x4f0fb1
fld dword [ebp - 0x300]
fsub dword [ebp - 0x2e0]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x30c]
fmul dword [ebp - 0x310]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x30c]
fsub dword [ebp - 0x310]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x310]
fdiv dword [ebp - 0x304]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x30c]
fsub dword [ebp - 0x310]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x304]
fadd dword [ebp - 0x30c]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x2e0]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x2e0]
fsub dword [ebp - 0x304]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x2e0]
fmul dword [ebp - 0x304]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x30c]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x2e0]
fdiv dword [ebp - 0x304]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x304]
fdiv dword [ebp - 0x2f8]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x304]
fld dword [ebp - 0x30c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f0f40
fld dword [ebp - 0x30c]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x30c]
fmul dword [ebp - 0x300]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x300]
fsub dword [ebp - 0x310]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x304]
fdiv dword [ebp - 0x2f8]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x310]
fdiv dword [ebp - 0x2e0]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x30c]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x30c]
jmp 0x4f0fac
fld dword [ebp - 0x304]
fadd dword [ebp - 0x2f8]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x310]
fadd dword [ebp - 0x2e0]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x2f8]
fmul dword [ebp - 0x30c]
fstp dword [ebp - 0x2f8]
fld dword [ebp - 0x2e0]
fmul dword [ebp - 0x304]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x2e0]
fsub dword [ebp - 0x304]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x310]
fsub dword [ebp - 0x2e0]
fstp dword [ebp - 0x310]
jmp 0x4f1032
fld dword [ebp - 0x2f8]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x2f8]
fld dword [ebp - 0x2f8]
fsub dword [ebp - 0x300]
fstp dword [ebp - 0x2f8]
fld dword [ebp - 0x300]
fsub dword [ebp - 0x2e0]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x304]
fadd dword [ebp - 0x30c]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x310]
fadd dword [ebp - 0x304]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x310]
fadd dword [ebp - 0x304]
fstp dword [ebp - 0x310]
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x2dc], 0xb7
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x31c], 0x26
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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 - 0x2e1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f1245
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
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 - 0x320], eax
mov dword [ebp - 0x2dc], 0xb7
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x31c], 0x26
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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 - 0x2e1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f1495
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x2f0]
add eax, 5
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x334], eax
jmp 0x4f14c0
mov eax, dword [ebp - 0x334]
inc eax
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
cmp eax, dword [ebp - 0x2f0]
jge 0x4f1c30
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
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 - 0x320], eax
mov dword [ebp - 0x2dc], 0xb7
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x31c], 0x26
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
fld qword [0x9a6140]
fstp qword [ebp - 0x35c]
fld qword [0x9a6138]
fstp qword [ebp - 0x364]
fld qword [0x9a6130]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x344]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x344]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x364]
fadd qword [ebp - 0x344]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x344]
fcomp qword [ebp - 0x35c]
fnstsw ax
test ah, 5
jp 0x4f1640
fld qword [ebp - 0x364]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x344]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x364]
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
jmp 0x4f172d
fld qword [ebp - 0x344]
fsub qword [ebp - 0x35c]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x344]
fadd qword [ebp - 0x35c]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x364]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x344]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x364]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x35c]
fadd qword [ebp - 0x364]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x364]
fcomp qword [ebp - 0x344]
fnstsw ax
test ah, 5
jp 0x4f16f7
fld qword [ebp - 0x364]
fadd qword [ebp - 0x344]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x344]
fmul qword [ebp - 0x35c]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x344]
fstp qword [ebp - 0x364]
jmp 0x4f172d
fld qword [ebp - 0x35c]
fmul qword [ebp - 0x364]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x344]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x364]
fmul qword [ebp - 0x344]
fstp qword [ebp - 0x364]
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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
fld dword [0x9a612c]
fstp dword [ebp - 0x36c]
fld dword [0x9a6128]
fstp dword [ebp - 0x368]
fld dword [0x9a6124]
fstp dword [ebp - 0x350]
fld dword [0x9a6120]
fstp dword [ebp - 0x338]
fld dword [0x9a611c]
fstp dword [ebp - 0x34c]
fld dword [0x9a6118]
fstp dword [ebp - 0x348]
fld dword [0x9a6114]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x348]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x338]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x338]
fld dword [ebp - 0x36c]
fadd dword [ebp - 0x370]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x338]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x338]
fld dword [ebp - 0x350]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x370]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x348]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x370]
fld dword [ebp - 0x338]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f19f3
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x34c]
fmul dword [ebp - 0x348]
fstp dword [ebp - 0x34c]
fld dword [ebp - 0x350]
fadd dword [ebp - 0x338]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x34c]
fmul dword [ebp - 0x348]
fstp dword [ebp - 0x34c]
fld dword [ebp - 0x338]
fmul dword [ebp - 0x34c]
fstp dword [ebp - 0x338]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x338]
fsub dword [ebp - 0x34c]
fstp dword [ebp - 0x338]
mov al, byte [ebp - 0x2e1]
mov byte [ebp - 0x18d], al
jmp 0x4f1c06
fld dword [ebp - 0x370]
fadd dword [ebp - 0x36c]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x36c]
fmul dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x370]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x36c]
fdiv dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x370]
fadd dword [ebp - 0x36c]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x36c]
fadd dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x368]
fmul dword [ebp - 0x350]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x350]
fsub dword [ebp - 0x34c]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x368]
fadd dword [ebp - 0x338]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x338]
fadd dword [ebp - 0x348]
fstp dword [ebp - 0x338]
fld dword [ebp - 0x348]
fmul dword [ebp - 0x36c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x348]
fmul dword [ebp - 0x36c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x348]
fadd dword [ebp - 0x36c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x350]
fsub dword [ebp - 0x34c]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x34c]
fld dword [ebp - 0x370]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f1b88
fld dword [ebp - 0x350]
fsub dword [ebp - 0x338]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x338]
fadd dword [ebp - 0x34c]
fstp dword [ebp - 0x338]
fld dword [ebp - 0x348]
fadd dword [ebp - 0x370]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x368]
fadd dword [ebp - 0x350]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x338]
fsub dword [ebp - 0x34c]
fstp dword [ebp - 0x338]
fld dword [ebp - 0x350]
fadd dword [ebp - 0x338]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x368]
fstp dword [ebp - 0x36c]
jmp 0x4f1c06
fld dword [ebp - 0x348]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x34c]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x34c]
fld dword [ebp - 0x36c]
fsub dword [ebp - 0x350]
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x348]
fsub dword [ebp - 0x36c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x350]
fdiv dword [ebp - 0x34c]
fstp dword [ebp - 0x350]
fld dword [ebp - 0x368]
fadd dword [ebp - 0x338]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x34c]
fadd dword [ebp - 0x370]
fstp dword [ebp - 0x34c]
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f1c2b
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
jmp 0x4f14b3
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f0]
add eax, 6
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x374], eax
jmp 0x4f1c68
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0x374]
cmp eax, dword [ebp - 0x2f0]
jge 0x4f1ec2
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
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 - 0x320], eax
mov dword [ebp - 0x2dc], 0xb7
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x31c], 0x26
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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 - 0x2e1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f1ebd
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
jmp 0x4f1c5b
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
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 - 0x320], eax
mov dword [ebp - 0x2dc], 0xb7
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x31c], 0x26
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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
fld dword [0x9a6110]
fstp dword [ebp - 0x2c8]
fld dword [0x9a610c]
fstp dword [ebp - 0x2d0]
fld dword [0x9a6108]
fstp dword [ebp - 0x308]
fld dword [0x9a6104]
fstp dword [ebp - 0x2d8]
fld dword [0x9a6100]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x2d0]
fsub dword [ebp - 0x2fc]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x2fc]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x308]
fmul dword [ebp - 0x2fc]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x308]
fadd dword [ebp - 0x2fc]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x308]
fmul dword [ebp - 0x2fc]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x2fc]
fld dword [ebp - 0x308]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f2204
fld dword [ebp - 0x2d8]
fadd dword [ebp - 0x2fc]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2c8]
fsub dword [ebp - 0x2d0]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2d8]
fadd dword [ebp - 0x2fc]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2fc]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x2d0]
fadd dword [ebp - 0x308]
fstp dword [ebp - 0x2d0]
mov al, byte [ebp - 0x2e1]
mov byte [ebp - 0x18d], al
jmp 0x4f2383
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x308]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2fc]
fmul dword [ebp - 0x2d0]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x2d8]
fadd dword [ebp - 0x2c8]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d0]
fdiv dword [ebp - 0x2d8]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2fc]
fadd dword [ebp - 0x2d0]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x2d0]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x308]
fmul dword [ebp - 0x2d8]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x308]
fadd dword [ebp - 0x2d8]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x2d0]
fdiv dword [ebp - 0x308]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2fc]
fadd dword [ebp - 0x2c8]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x308]
fld dword [ebp - 0x2fc]
fcompp
fnstsw ax
test ah, 5
jp 0x4f2329
fld dword [ebp - 0x2d8]
fsub dword [ebp - 0x2c8]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d0]
fmul dword [ebp - 0x2d8]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x308]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2d0]
fsub dword [ebp - 0x2d8]
fstp dword [ebp - 0x2d0]
fld dword [ebp - 0x2d0]
fmul dword [ebp - 0x2d8]
fstp dword [ebp - 0x2d0]
jmp 0x4f2383
fld dword [ebp - 0x2c8]
fdiv dword [ebp - 0x308]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2d8]
fsub dword [ebp - 0x2c8]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2d8]
fmul dword [ebp - 0x2c8]
fstp dword [ebp - 0x2d8]
fld dword [ebp - 0x2c8]
fmul dword [ebp - 0x308]
fstp dword [ebp - 0x2c8]
fld dword [ebp - 0x2fc]
fdiv dword [ebp - 0x2d0]
fstp dword [ebp - 0x2fc]
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f23a8
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov eax, dword [ebp - 0x2f4]
inc eax
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f0]
inc eax
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2f4]
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 - 0x320], eax
mov dword [ebp - 0x2dc], 0xb7
mov eax, dword [ebp - 0x2f4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e8]
movzx eax, byte [eax]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x31c], 0x26
mov eax, dword [ebp - 0x320]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x330]
sub eax, dword [ebp - 0x31c]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x32c]
shl eax, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x328]
or eax, dword [ebp - 0x318]
mov dword [ebp - 0x2ec], eax
mov al, byte [ebp - 0x2ec]
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0x18d]
mov al, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x321], 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 - 0x321]
mov byte [ebp + eax - 0x2a4], cl
movzx eax, byte [ebp - 0x321]
movzx eax, byte [ebp + eax - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx eax, byte [ebp - 0x2e1]
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 - 0x2e1]
mov byte [ebp - 0x18d], al
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x311], al
cmp dword [ebp - 0x2f4], 0
jle 0x4f25f8
mov eax, dword [ebp - 0x2f4]
mov cl, byte [ebp - 0x311]
mov byte [ebp + eax - 0x31], cl
mov byte [ebp - 0x21], 0
jmp 0x4f262a
and dword [ebp - 0x378], 0
jmp 0x4f2614
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0x10
jge 0x4f262a
mov eax, dword [ebp - 0x378]
mov byte [ebp + eax - 0x30], 0
jmp 0x4f2607
lea eax, [ebp - 0x30]
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x3c4]
mov al, byte [eax]
mov byte [ebp - 0x3c9], al
inc dword [ebp - 0x3c4]
cmp byte [ebp - 0x3c9], 0
jne 0x4f263f
mov eax, dword [ebp - 0x3c4]
sub eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3d4], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x3d8]
mov al, byte [eax + 1]
mov byte [ebp - 0x3d9], al
inc dword [ebp - 0x3d8]
cmp byte [ebp - 0x3d9], 0
jne 0x4f2687
mov edi, dword [ebp - 0x3d8]
mov esi, dword [ebp - 0x3d0]
mov eax, dword [ebp - 0x3d4]
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 - 0x3e0], eax
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e0]
mov al, byte [eax]
mov byte [ebp - 0x3e5], al
inc dword [ebp - 0x3e0]
cmp byte [ebp - 0x3e5], 0
jne 0x4f26dd
mov eax, dword [ebp - 0x3e0]
sub eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3f0], eax
lea eax, [ebp - 0x164]
dec eax
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f4]
mov al, byte [eax + 1]
mov byte [ebp - 0x3f5], al
inc dword [ebp - 0x3f4]
cmp byte [ebp - 0x3f5], 0
jne 0x4f2725
mov edi, dword [ebp - 0x3f4]
mov esi, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x3f0]
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 - 0x3b0]
call dword [eax + 0xdc]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4f2796
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4f2900
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 - 0x3b0]
call dword [eax + 0xcc]
test eax, eax
jne 0x4f27f8
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 0x4f2900
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
call fcn.00937387
pop ecx
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x14]
push 0
push dword [ebp - 0x48]
call fcn.00937030
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 - 0x3b0]
call dword [eax + 0xcc]
test eax, eax
jne 0x4f287f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x380], eax
push dword [ebp - 0x380]
call fcn.00937371
pop ecx
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4f2900
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 0x4f28df
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x39c]
call fcn.00492550
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x400], eax
and dword [ebp - 4], 0
push dword [ebp - 0x400]
mov ecx, dword [ebp + 0xc]
call fcn.004dc605
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x39c]
call fcn.00459de5
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3a0], eax
push dword [ebp - 0x3a0]
call fcn.00937371
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