Function at 0x4f3f20
Capabilities:
Get storage device properties

Disassembly:
adc eax, 0xfffff9c4
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c56bb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4b8
push esi
push edi
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x34], 0
push 0x9c99c9
mov ecx, dword [ebp + 0xc]
call fcn.00472d10
mov byte [ebp - 0x18c], 0
xor eax, eax
mov dword [ebp - 0x18b], eax
mov dword [ebp - 0x187], eax
mov dword [ebp - 0x183], eax
mov dword [ebp - 0x17f], eax
mov dword [ebp - 0x17b], eax
mov dword [ebp - 0x177], eax
mov dword [ebp - 0x173], eax
mov dword [ebp - 0x16f], eax
mov byte [ebp - 0x16b], al
mov byte [ebp - 0x164], 0
push 0xff
push 0
lea ecx, [ebp - 0x163]
push ecx
call fcn.0095d660
add esp, 0xc
push 0xa
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0095f63a
add esp, 0xc
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x43c]
mov al, byte [edx + 1]
mov byte [ebp - 0x43d], al
add dword [ebp - 0x43c], 1
cmp byte [ebp - 0x43d], 0
jne 0x4f3fda
mov edi, dword [ebp - 0x43c]
mov cx, word [0x9cbfb0]
mov word [edi], cx
mov dl, byte [0x9cbfb2]
mov byte [edi + 2], dl
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x4c], 0
fldz
fstp qword [ebp - 0x44]
fldz
fstp qword [ebp - 0x3c]
fldz
fstp qword [ebp - 0x3c]
jmp 0x4f403d
fld qword [ebp - 0x3c]
fadd qword [0x9c87a8]
fstp qword [ebp - 0x3c]
fld qword [0x9cbfa8]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4f409c
fld qword [0x9cbfa0]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9c8550]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9cbf98]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x9cbf90]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4f409a
fld qword [0x9cbf88]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4f4031
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4f40e2
inc ebx
push 0x69
jbe 0x4f4116
jl 0x4f410a
outsd dx, dword [esi]
push esi
and al, 0x68
and edi, dword [esi + 0x50]
pop ebp
push ecx
push ecx
xor ch, byte [edx + 0x71]
sbb al, 0xdd
sbb eax, 0x16dc1cd9
in al, 0x15
fstp dword [0x1adb21e6]
loopne 0x4f40e9
ficom dword [ebx]
fst qword [esi]
fsub qword [edx]
fistp word [edx]
in eax, 0x1b
ficomp word [ecx]
xlatb
sbb ah, ah
jmp 0x4f6a82
mov dword [ebp - 0x60], 0x4f40bd
mov dword [ebp - 0x4c], 0x4f40a8
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x194], ecx
mov byte [ebp - 0x2b5], 0x19
mov dword [ebp - 0x2ac], 0
jmp 0x4f4124
test dword [ebp + edi*8 - 1], edx
inc dword [eax]
add byte [eax], al
add bl, ch
jnp 0x4c95af
mov edx, dword [ebp - 0x2ac]
add edx, 1
mov dword [ebp - 0x2ac], edx
xchg ebp, eax
push esp
std
invalid
inc dword [ebx - 0x6a76fe3e]
push esp
std
invalid
cmp dword [ebp - 0x2ac], 0x100
jae 0x4f4145
mov eax, dword [ebp - 0x2ac]
mov cl, byte [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4f4115
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x2b6], 0
mov dword [ebp - 0x2ac], 0xff
jmp 0x4f4171
mov edx, dword [ebp - 0x2ac]
sub edx, 1
mov dword [ebp - 0x2ac], edx
cmp dword [ebp - 0x2ac], 0
jbe 0x4f447d
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2ac]
jae 0x4f41b2
mov ecx, dword [ebp - 0x2c4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x2c4], edx
jmp 0x4f4192
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 3
ja case.default.0x4f41d1
mov ecx, dword [ebp - 0x444]
jmp dword [ecx*4 + 0x4f6da0]
movzx edx, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + edx - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x446]
movzx eax, word [ebp - 0x446]
or eax, 0xc00
mov dword [ebp - 0x44c], eax
fldcw word [ebp - 0x44c]
fistp qword [ebp - 0x454]
fldcw word [ebp - 0x446]
mov edx, dword [ebp - 0x454]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4f4356
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x456]
movzx eax, word [ebp - 0x456]
or eax, 0xc00
mov dword [ebp - 0x45c], eax
fldcw word [ebp - 0x45c]
fistp qword [ebp - 0x464]
fldcw word [ebp - 0x456]
mov edx, dword [ebp - 0x464]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4f4356
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x466]
movzx eax, word [ebp - 0x466]
or eax, 0xc00
mov dword [ebp - 0x46c], eax
fldcw word [ebp - 0x46c]
fistp qword [ebp - 0x474]
fldcw word [ebp - 0x466]
mov edx, dword [ebp - 0x474]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4f4356
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x476]
movzx eax, word [ebp - 0x476]
or eax, 0xc00
mov dword [ebp - 0x47c], eax
fldcw word [ebp - 0x47c]
fistp qword [ebp - 0x484]
fldcw word [ebp - 0x476]
mov edx, dword [ebp - 0x484]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4f4356
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
mov edx, dword [ebp - 0x194]
add edx, dword [ebp - 0x19c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x2b6], cl
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
movzx edx, byte [ebp - 0x2b5]
cmp dword [ebp - 0x19c], edx
jb 0x4f4394
mov dword [ebp - 0x19c], 0
movzx eax, byte [ebp - 0x2b5]
movzx ecx, byte [ebp - 0x2b6]
add ecx, eax
mov byte [ebp - 0x2b6], cl
movzx edx, byte [ebp - 0x2b6]
and edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2bc]
add eax, 1
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0xb
jbe 0x4f43d3
mov eax, dword [ebp - 0x2c0]
xor edx, edx
div dword [ebp - 0x2ac]
mov dword [ebp - 0x2c0], edx
mov ecx, dword [ebp - 0x2c0]
cmp ecx, dword [ebp - 0x2ac]
ja 0x4f41b2
mov edx, dword [ebp - 0x2ac]
cmp edx, dword [ebp - 0x2c0]
je 0x4f4478
mov eax, dword [ebp - 0x2c0]
movzx ecx, byte [ebp + eax - 0x2a4]
mov edx, dword [ebp - 0x2ac]
movzx eax, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov ecx, dword [ebp - 0x2ac]
mov byte [ebp + ecx - 0x2a4], al
mov edx, dword [ebp - 0x2ac]
movzx eax, byte [ebp + edx - 0x2a4]
mov ecx, dword [ebp - 0x2c0]
movzx edx, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov eax, dword [ebp - 0x2c0]
mov byte [ebp + eax - 0x2a4], dl
mov ecx, dword [ebp - 0x2c0]
movzx edx, byte [ebp + ecx - 0x2a4]
mov eax, dword [ebp - 0x2ac]
movzx ecx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov edx, dword [ebp - 0x2ac]
mov byte [ebp + edx - 0x2a4], cl
jmp 0x4f4162
mov al, byte [ebp - 0x2a3]
mov byte [ebp - 0x2b7], al
mov cl, byte [ebp - 0x2a1]
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x29f]
mov byte [ebp - 0x2a5], dl
mov al, byte [ebp - 0x29d]
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2b6]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x18d], dl
mov dword [ebp - 0x2b4], 0x20
cmp dword [ebp - 0x2b4], 2
jle 0x4f6a51
mov eax, dword [ebp - 0x2b4]
and eax, 1
jne 0x4f6a51
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
mov dword [ebp - 0x2c8], 0
mov edx, dword [ebp - 0x338]
shl edx, 1
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x358], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2c8]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x358]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x300], 0
mov edx, dword [ebp - 0x300]
add edx, 0x13
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x320], 0
mov eax, dword [ebp - 0x338]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x370], 0
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x320]
movzx eax, byte [edx]
add eax, dword [ebp - 0x370]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x354], 0
mov ecx, dword [ebp - 0x354]
add ecx, 0xd7
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x36c], 0
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x300]
add edx, dword [ebp - 0x36c]
mov dword [ebp - 0x36c], edx
mov dword [ebp - 0x2d8], 0
mov eax, dword [ebp - 0x370]
sub eax, dword [ebp - 0x354]
add eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x36c]
shl ecx, 4
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x350], 0
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x330], 0
mov eax, dword [ebp - 0x368]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov byte [ebp - 0x30d], 0
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], cl
mov byte [ebp - 0x361], 0
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x361]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x361]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x30d]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x338], 0
jle 0x4f47e0
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x334]
add edx, 1
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
shl eax, 1
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x2c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x300], 0x13
mov eax, dword [ebp - 0x338]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x320]
movzx eax, byte [edx]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x354], 0xd7
fld dword [0x9cbf84]
fstp dword [ebp - 0x360]
fld dword [0x9cbf80]
fstp dword [ebp - 0x328]
fld dword [0x9cbf7c]
fstp dword [ebp - 0x340]
fld dword [0x9cbf78]
fstp dword [ebp - 0x344]
fld dword [0x9cba78]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x328]
fadd dword [ebp - 0x33c]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x360]
fsub dword [ebp - 0x33c]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x360]
fsub dword [ebp - 0x33c]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x340]
fmul dword [ebp - 0x33c]
fstp dword [ebp - 0x340]
fld dword [ebp - 0x328]
fsub dword [ebp - 0x33c]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x33c]
fld dword [ebp - 0x340]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f4973
fld dword [ebp - 0x33c]
fsub dword [ebp - 0x360]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x33c]
fmul dword [ebp - 0x360]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x360]
fmul dword [ebp - 0x328]
fstp dword [ebp - 0x360]
fld dword [ebp - 0x328]
fmul dword [ebp - 0x340]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x344]
fadd dword [ebp - 0x33c]
fstp dword [ebp - 0x344]
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], ecx
jmp 0x4f49cd
fld dword [ebp - 0x340]
fmul dword [ebp - 0x33c]
fstp dword [ebp - 0x340]
fld dword [ebp - 0x340]
fdiv dword [ebp - 0x33c]
fstp dword [ebp - 0x340]
fld dword [ebp - 0x33c]
fadd dword [ebp - 0x328]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x340]
fdiv dword [ebp - 0x33c]
fstp dword [ebp - 0x340]
fld dword [ebp - 0x360]
fadd dword [ebp - 0x340]
fstp dword [ebp - 0x360]
mov edx, dword [ebp - 0x370]
sub edx, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x36c]
shl eax, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x368]
or edx, dword [ebp - 0x350]
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x30d], al
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x361], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x19d]
add edx, ecx
mov byte [ebp - 0x19d], dl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], al
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp - 0x19d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
mov dl, byte [ebp - 0x361]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x361]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x2a5]
add edx, ecx
mov byte [ebp - 0x2a5], dl
movzx eax, byte [ebp - 0x30d]
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
xor eax, edx
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x18d]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
movzx ecx, byte [ebp - 0x2a5]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2ad], al
mov dl, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], dl
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], al
cmp dword [ebp - 0x338], 0
jle 0x4f4b95
mov ecx, dword [ebp - 0x338]
mov dl, byte [ebp - 0x349]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x338], eax
fld qword [0x9cbf70]
fstp qword [ebp - 0x31c]
fld qword [0x9cbf68]
fstp qword [ebp - 0x2f4]
fld qword [0x9cbf60]
fstp qword [ebp - 0x2e4]
fld qword [0x9cbf58]
fstp qword [ebp - 0x2d4]
fld qword [0x9cbf50]
fstp qword [ebp - 0x2fc]
fld qword [0x9cbf48]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2d4]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x2d4]
fld qword [ebp - 0x31c]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x2f4]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x2d4]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x2d4]
fld qword [ebp - 0x2d4]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x2d4]
fld qword [ebp - 0x2f4]
fcomp qword [ebp - 0x2d4]
fnstsw ax
test ah, 5
jp 0x4f4cd9
fld qword [ebp - 0x2f4]
fsub qword [ebp - 0x2d4]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x2f4]
fadd qword [ebp - 0x2d4]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x2f4]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x31c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x31c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2d4]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x2d4]
jmp 0x4f4d54
fld qword [ebp - 0x2fc]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x31c]
fmul qword [ebp - 0x2f4]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x2e4]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2e4]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x2e4]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x2e4]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x338]
shl edx, 1
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2c8]
movzx ecx, byte [eax]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x300], 0x13
mov edx, dword [ebp - 0x338]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x320]
movzx edx, byte [ecx]
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x354], 0xd7
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
sub ecx, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 4
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x368]
or ecx, dword [ebp - 0x350]
mov dword [ebp - 0x330], ecx
mov dl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], dl
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x361], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x2b7]
add dl, 1
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x361]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x361]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx edx, byte [ebp - 0x30d]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor edx, ecx
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x18d]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
movzx eax, byte [ebp - 0x2a5]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov byte [ebp - 0x2ad], dl
mov cl, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], cl
mov dl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], dl
cmp dword [ebp - 0x338], 0
jle 0x4f4f8b
mov eax, dword [ebp - 0x338]
mov cl, byte [ebp - 0x349]
mov byte [ebp + eax - 0x31], cl
mov edx, dword [ebp - 0x334]
add edx, 3
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x374], eax
jmp 0x4f4fba
mov ecx, dword [ebp - 0x374]
add ecx, 1
mov dword [ebp - 0x374], ecx
mov edx, dword [ebp - 0x374]
cmp edx, dword [ebp - 0x334]
jge 0x4f5427
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x338], eax
fld dword [0x9cbf44]
fstp dword [ebp - 0x384]
fld dword [0x9cbf40]
fstp dword [ebp - 0x378]
fld dword [0x9cbf3c]
fstp dword [ebp - 0x380]
fld dword [0x9cbf38]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x380]
fmul dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x37c]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x380]
fsub dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x384]
fsub dword [ebp - 0x37c]
fstp dword [ebp - 0x384]
fld dword [ebp - 0x37c]
fld dword [ebp - 0x378]
fcompp
fnstsw ax
test ah, 5
jp 0x4f51a5
fld dword [ebp - 0x378]
fsub dword [ebp - 0x380]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x384]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x380]
fadd dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x380]
fsub dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x380]
fmul dword [ebp - 0x384]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x37c]
fsub dword [ebp - 0x378]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x37c]
fdiv dword [ebp - 0x378]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x380]
fmul dword [ebp - 0x384]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x384]
fld dword [ebp - 0x380]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f515b
fld dword [ebp - 0x380]
fmul dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x384]
fsub dword [ebp - 0x378]
fstp dword [ebp - 0x384]
fld dword [ebp - 0x378]
fdiv dword [ebp - 0x380]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x380]
fadd dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
jmp 0x4f51a3
fld dword [ebp - 0x384]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x384]
fld dword [ebp - 0x380]
fmul dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x380]
fadd dword [ebp - 0x37c]
fstp dword [ebp - 0x380]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x380]
fstp dword [ebp - 0x378]
jmp 0x4f51fb
fld dword [ebp - 0x378]
fadd dword [ebp - 0x380]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x380]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x384]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x384]
fmul dword [ebp - 0x378]
fstp dword [ebp - 0x384]
mov ecx, dword [ebp - 0x338]
shl ecx, 1
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x2c8]
movzx eax, byte [edx]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x300], 0x13
mov ecx, dword [ebp - 0x338]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x320]
movzx ecx, byte [eax]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x354], 0xd7
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
sub eax, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 4
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x368]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], cl
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x361]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x361]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x30d]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x338], 0
jle 0x4f5422
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
jmp 0x4f4fab
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x338]
add edx, 1
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x334]
add eax, 1
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x338]
shl ecx, 1
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x2c8]
movzx eax, byte [edx]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x300], 0x13
mov ecx, dword [ebp - 0x338]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x320]
movzx ecx, byte [eax]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x354], 0xd7
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
sub eax, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 4
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x368]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], cl
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x361]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x361]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x30d]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x338], 0
jle 0x4f5689
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x334]
add edx, 1
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
shl eax, 1
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x2c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x300], 0x13
mov eax, dword [ebp - 0x338]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x320]
movzx eax, byte [edx]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x354], 0xd7
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x370]
sub edx, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x36c]
shl eax, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x368]
or edx, dword [ebp - 0x350]
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x30d], al
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x361], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x19d]
add edx, ecx
mov byte [ebp - 0x19d], dl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], al
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp - 0x19d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
mov dl, byte [ebp - 0x361]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x361]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x2a5]
add edx, ecx
mov byte [ebp - 0x2a5], dl
movzx eax, byte [ebp - 0x30d]
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
xor eax, edx
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x18d]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
movzx ecx, byte [ebp - 0x2a5]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2ad], al
mov dl, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], dl
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], al
cmp dword [ebp - 0x338], 0
jle 0x4f58dd
mov ecx, dword [ebp - 0x338]
mov dl, byte [ebp - 0x349]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x338]
shl edx, 1
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2c8]
movzx ecx, byte [eax]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x300], 0x13
mov edx, dword [ebp - 0x338]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x320]
movzx edx, byte [ecx]
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x354], 0xd7
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
sub ecx, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 4
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x368]
or ecx, dword [ebp - 0x350]
mov dword [ebp - 0x330], ecx
mov dl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], dl
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x361], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x2b7]
add dl, 1
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
fld dword [0x9cbf34]
fstp dword [ebp - 0x2e8]
fld dword [0x9cbf30]
fstp dword [ebp - 0x348]
fld dword [0x9cbf2c]
fstp dword [ebp - 0x32c]
fld dword [0x9cbf28]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x2ec]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x348]
fsub dword [ebp - 0x2ec]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x32c]
fadd dword [ebp - 0x2ec]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x348]
fadd dword [ebp - 0x2ec]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x32c]
fld dword [ebp - 0x2ec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f5bdb
fld dword [ebp - 0x2ec]
fdiv dword [ebp - 0x2e8]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2e8]
fdiv dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x348]
fmul dword [ebp - 0x32c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x2e8]
fsub dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x2e8]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x2e8]
fdiv dword [ebp - 0x32c]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x348]
fadd dword [ebp - 0x2ec]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x2e8]
fdiv dword [ebp - 0x32c]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x2e8]
fld dword [ebp - 0x32c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f5b91
fld dword [ebp - 0x2e8]
fadd dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x2ec]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x2ec]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x32c]
fdiv dword [ebp - 0x2ec]
fstp dword [ebp - 0x32c]
jmp 0x4f5bd9
fld dword [ebp - 0x348]
fsub dword [ebp - 0x32c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x2e8]
fadd dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x2e8]
fsub dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x32c]
fadd dword [ebp - 0x2ec]
fstp dword [ebp - 0x32c]
jmp 0x4f5c3f
fld dword [ebp - 0x2ec]
fmul dword [ebp - 0x2e8]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2ec]
fmul dword [ebp - 0x2e8]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2e8]
fadd dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
fld dword [ebp - 0x2e8]
fmul dword [ebp - 0x348]
fstp dword [ebp - 0x2e8]
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x361]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x361]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx edx, byte [ebp - 0x30d]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor edx, ecx
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x18d]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
movzx eax, byte [ebp - 0x2a5]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov byte [ebp - 0x2ad], dl
mov cl, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], cl
mov dl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], dl
cmp dword [ebp - 0x338], 0
jle 0x4f5d44
mov eax, dword [ebp - 0x338]
mov cl, byte [ebp - 0x349]
mov byte [ebp + eax - 0x31], cl
mov edx, dword [ebp - 0x334]
add edx, 3
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x388], eax
jmp 0x4f5d73
mov ecx, dword [ebp - 0x388]
add ecx, 1
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x388]
cmp edx, dword [ebp - 0x334]
jge 0x4f5fce
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
shl ecx, 1
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x2c8]
movzx eax, byte [edx]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x300], 0x13
mov ecx, dword [ebp - 0x338]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x320]
movzx ecx, byte [eax]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x354], 0xd7
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
sub eax, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 4
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x368]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], cl
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x361]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x361]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x30d]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x338], 0
jle 0x4f5fc9
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
jmp 0x4f5d64
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x338]
add edx, 1
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x334]
add eax, 1
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x338]
shl ecx, 1
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x2c8]
movzx eax, byte [edx]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x300], 0x13
mov ecx, dword [ebp - 0x338]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x320]
movzx ecx, byte [eax]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x354], 0xd7
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
sub eax, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 4
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x368]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], cl
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x361]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x361]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x30d]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x338], 0
jle 0x4f6230
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x338]
add ecx, 1
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x334]
add edx, 1
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
shl eax, 1
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x2c8]
movzx edx, byte [ecx]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x300], 0x13
mov eax, dword [ebp - 0x338]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x320]
movzx eax, byte [edx]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x354], 0xd7
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x370]
sub edx, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x36c]
shl eax, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x368]
or edx, dword [ebp - 0x350]
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x30d], al
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x361], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x19d]
add edx, ecx
mov byte [ebp - 0x19d], dl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], al
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp - 0x19d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
mov dl, byte [ebp - 0x361]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x361]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x2a5]
add edx, ecx
mov byte [ebp - 0x2a5], dl
movzx eax, byte [ebp - 0x30d]
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
xor eax, edx
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x18d]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
movzx ecx, byte [ebp - 0x2a5]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2ad], al
mov dl, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], dl
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], al
cmp dword [ebp - 0x338], 0
jle 0x4f6484
mov ecx, dword [ebp - 0x338]
mov dl, byte [ebp - 0x349]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x338]
add eax, 1
mov dword [ebp - 0x338], eax
fld dword [0x9cbf24]
fstp dword [ebp - 0x35c]
fld dword [0x9cbf20]
fstp dword [ebp - 0x2cc]
fld dword [0x9cbf1c]
fstp dword [ebp - 0x304]
fld dword [0x9cbf18]
fstp dword [ebp - 0x324]
fld dword [ebp - 0x2cc]
fsub dword [ebp - 0x324]
fstp dword [ebp - 0x2cc]
fld dword [ebp - 0x35c]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x35c]
fld dword [ebp - 0x35c]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x35c]
fld dword [ebp - 0x304]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x35c]
fld dword [ebp - 0x324]
fcompp
fnstsw ax
test ah, 5
jp 0x4f6579
fld dword [ebp - 0x2cc]
fsub dword [ebp - 0x324]
fstp dword [ebp - 0x2cc]
fld dword [ebp - 0x35c]
fadd dword [ebp - 0x304]
fstp dword [ebp - 0x35c]
fld dword [ebp - 0x2cc]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x2cc]
fld dword [ebp - 0x2cc]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x334]
add ecx, 1
mov dword [ebp - 0x334], ecx
jmp 0x4f65c1
fld dword [ebp - 0x324]
fdiv dword [ebp - 0x2cc]
fstp dword [ebp - 0x324]
fld dword [ebp - 0x324]
fsub dword [ebp - 0x2cc]
fstp dword [ebp - 0x324]
fld dword [ebp - 0x35c]
fmul dword [ebp - 0x304]
fstp dword [ebp - 0x35c]
fld dword [ebp - 0x2cc]
fmul dword [ebp - 0x324]
fstp dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x338]
shl edx, 1
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2c8]
movzx ecx, byte [eax]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x300], 0x13
mov edx, dword [ebp - 0x338]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x320]
movzx edx, byte [ecx]
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x354], 0xd7
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x300]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
sub ecx, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 4
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x368]
or ecx, dword [ebp - 0x350]
mov dword [ebp - 0x330], ecx
mov dl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], dl
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x361], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x2b7]
add dl, 1
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x361]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x361]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx edx, byte [ebp - 0x30d]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor edx, ecx
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x18d]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
movzx eax, byte [ebp - 0x2a5]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov byte [ebp - 0x2ad], dl
mov cl, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], cl
mov dl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], dl
cmp dword [ebp - 0x338], 0
jle 0x4f67f8
mov eax, dword [ebp - 0x338]
mov cl, byte [ebp - 0x349]
mov byte [ebp + eax - 0x31], cl
mov edx, dword [ebp - 0x338]
add edx, 1
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x334]
add eax, 1
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x338]
shl ecx, 1
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x2c8]
movzx eax, byte [edx]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x300], 0x13
mov ecx, dword [ebp - 0x338]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x320]
movzx ecx, byte [eax]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x354], 0xd7
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x300]
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
sub eax, dword [ebp - 0x354]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 4
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x368]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x30d], cl
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x361], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x361]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x361]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x30d]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x30d]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x338], 0
jle 0x4f6a4b
mov edx, dword [ebp - 0x338]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
mov byte [ebp - 0x21], 0
jmp 0x4f6a82
mov dword [ebp - 0x38c], 0
jmp 0x4f6a6c
mov ecx, dword [ebp - 0x38c]
add ecx, 1
mov dword [ebp - 0x38c], ecx
cmp dword [ebp - 0x38c], 0x10
jge 0x4f6a82
mov edx, dword [ebp - 0x38c]
mov byte [ebp + edx - 0x30], 0
jmp 0x4f6a5d
lea eax, [ebp - 0x30]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x488]
mov al, byte [edx]
mov byte [ebp - 0x48d], al
add dword [ebp - 0x488], 1
cmp byte [ebp - 0x48d], 0
jne 0x4f6a97
mov ecx, dword [ebp - 0x488]
sub ecx, dword [ebp - 0x48c]
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x498], ecx
lea eax, [ebp - 0x164]
add eax, 0xffffffff
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x49d], dl
add dword [ebp - 0x49c], 1
cmp byte [ebp - 0x49d], 0
jne 0x4f6ae2
mov edi, dword [ebp - 0x49c]
mov esi, dword [ebp - 0x494]
mov eax, dword [ebp - 0x498]
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 ecx, [ebp - 0x18c]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x4a4]
mov cl, byte [eax]
mov byte [ebp - 0x4a9], cl
add dword [ebp - 0x4a4], 1
cmp byte [ebp - 0x4a9], 0
jne 0x4f6b39
mov edx, dword [ebp - 0x4a4]
sub edx, dword [ebp - 0x4a8]
mov eax, dword [ebp - 0x4a8]
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4b4], edx
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x4b8]
mov al, byte [edx + 1]
mov byte [ebp - 0x4b9], al
add dword [ebp - 0x4b8], 1
cmp byte [ebp - 0x4b9], 0
jne 0x4f6b84
mov edi, dword [ebp - 0x4b8]
mov esi, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x4b4]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
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 ecx, dword [ebp - 0x438]
mov edx, dword [ecx + 0xdc]
call edx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4f6bf8
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4f6d8d
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x1c], 0
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x50], 0
push 0
lea edx, [ebp - 0x50]
push edx
push 8
lea eax, [ebp - 0x1c]
push eax
push 0xc
lea ecx, [ebp - 0x5c]
push ecx
push 0x2d1400
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x438]
mov ecx, dword [eax + 0xcc]
call ecx
test eax, eax
jne 0x4f6c6c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4f6d8d
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0095d9b7
add esp, 4
mov dword [ebp - 0x390], eax
mov edx, dword [ebp - 0x390]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x14]
push eax
push 0
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0095d660
add esp, 0xc
push 0
lea edx, [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
push 0xc
lea edx, [ebp - 0x5c]
push edx
push 0x2d1400
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x438]
mov edx, dword [ecx + 0xcc]
call edx
test eax, eax
jne 0x4f6d01
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x394]
push ecx
call fcn.0095d9a1
add esp, 4
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4f6d8d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
je 0x4f6d68
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x10]
push eax
lea ecx, [ebp - 0x3b0]
call fcn.00498780
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x4c4]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.004e3300
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3b0]
call fcn.004b4410
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b4]
push ecx
call fcn.0095d9a1
add esp, 4
mov edx, dword [ebp - 0x20]
push edx
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
mov esp, ebp
pop ebp
ret 8