Function at 0x4ef800
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c2ebb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x514
push esi
push edi
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x34], 0
push 0x9c7939
mov ecx, dword [ebp + 0xc]
call fcn.00472670
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.0095ae70
add esp, 0xc
push 0xa
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0095ce4a
add esp, 0xc
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x498]
mov al, byte [edx + 1]
mov byte [ebp - 0x499], al
add dword [ebp - 0x498], 1
cmp byte [ebp - 0x499], 0
jne 0x4ef8ba
mov edi, dword [ebp - 0x498]
mov cx, word [0x9c9cf0]
mov word [edi], cx
mov dl, byte [0x9c9cf2]
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 0x4ef91d
fld qword [ebp - 0x3c]
fadd qword [0x9c5c28]
fstp qword [ebp - 0x3c]
fld qword [0x9c9ce8]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4efa5e
fld qword [0x9c9ce0]
fstp qword [ebp - 0x1a4]
fld qword [0x9c9cd8]
fstp qword [ebp - 0x194]
fld qword [0x9c9cd0]
fstp qword [ebp - 0x19c]
fld qword [ebp - 0x194]
fsub qword [ebp - 0x19c]
fstp qword [ebp - 0x194]
fld qword [ebp - 0x1a4]
fadd qword [ebp - 0x19c]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x1a4]
fsub qword [ebp - 0x19c]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x194]
fcomp qword [ebp - 0x1a4]
fnstsw ax
test ah, 0x41
jne 0x4ef9d6
fld qword [ebp - 0x1a4]
fsub qword [ebp - 0x19c]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x1a4]
fmul qword [ebp - 0x19c]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x19c]
fdiv qword [ebp - 0x194]
fstp qword [ebp - 0x19c]
jmp 0x4efa3a
fld qword [ebp - 0x19c]
fmul qword [ebp - 0x194]
fstp qword [ebp - 0x19c]
fld qword [ebp - 0x1a4]
fsub qword [ebp - 0x19c]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x194]
fsub qword [ebp - 0x1a4]
fstp qword [ebp - 0x194]
fld qword [0x9c9cc8]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9c8ca0]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9c8b60]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x9c9cc0]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4efa59
fld qword [0x9c9cb8]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4ef911
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4efaa9
loopne 0x4efa82
jmp 0x4efa86
out dx, eax
push cs
jecxz 0x4efa92
ljmp 0x7a48:0x5310ee12
jae 0x4efad2
sub dh, byte [esi]
push 0x6a352971
inc esp
inc esp
dec ebx
je 0x4efadd
pop eax
arpl word [esi], si
cmp ch, cl
outsd dx, dword [esi]
sub al, 0
add bh, al
inc ebp
mov al, byte [0x4efa6a]
mov dword [ebp - 0x60], 0x4efa6a
mov dword [ebp - 0x4c], 0x4efa8a
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1ac], ecx
mov byte [ebp - 0x2cd], 0x1e
mov dword [ebp - 0x2c4], 0
jmp 0x4efaeb
cmp al, 0xfd
invalid
mov edx, dword [ebp - 0x2c4]
add edx, 1
mov dword [ebp - 0x2c4], edx
xchg ebp, eax
cmp al, 0xfd
invalid
cmp dword [ebp - 0x2c4], 0x100
jae 0x4efb0c
mov eax, dword [ebp - 0x2c4]
mov cl, byte [ebp - 0x2c4]
mov byte [ebp + eax - 0x2bc], cl
jmp 0x4efadc
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x2ce], 0
mov dword [ebp - 0x2c4], 0xff
jmp 0x4efb38
mov edx, dword [ebp - 0x2c4]
sub edx, 1
mov dword [ebp - 0x2c4], edx
cmp dword [ebp - 0x2c4], 0
jbe 0x4efe44
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2dc], 1
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0x2c4]
jae 0x4efb79
mov ecx, dword [ebp - 0x2dc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x2dc], edx
jmp 0x4efb59
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 3
ja case.default.0x4efb98
mov ecx, dword [ebp - 0x4a0]
jmp dword [ecx*4 + 0x4f2a38]
movzx edx, byte [ebp - 0x2ce]
movzx ecx, byte [ebp + edx - 0x2bc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4a2]
movzx eax, word [ebp - 0x4a2]
or eax, 0xc00
mov dword [ebp - 0x4a8], eax
fldcw word [ebp - 0x4a8]
fistp qword [ebp - 0x4b0]
fldcw word [ebp - 0x4a2]
mov edx, dword [ebp - 0x4b0]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2ce], cl
jmp 0x4efd1d
movzx eax, byte [ebp - 0x2ce]
movzx ecx, byte [ebp + eax - 0x2bc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4b2]
movzx eax, word [ebp - 0x4b2]
or eax, 0xc00
mov dword [ebp - 0x4b8], eax
fldcw word [ebp - 0x4b8]
fistp qword [ebp - 0x4c0]
fldcw word [ebp - 0x4b2]
mov edx, dword [ebp - 0x4c0]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2ce], cl
jmp 0x4efd1d
movzx eax, byte [ebp - 0x2ce]
movzx ecx, byte [ebp + eax - 0x2bc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4c2]
movzx eax, word [ebp - 0x4c2]
or eax, 0xc00
mov dword [ebp - 0x4c8], eax
fldcw word [ebp - 0x4c8]
fistp qword [ebp - 0x4d0]
fldcw word [ebp - 0x4c2]
mov edx, dword [ebp - 0x4d0]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2ce], cl
jmp 0x4efd1d
movzx eax, byte [ebp - 0x2ce]
movzx ecx, byte [ebp + eax - 0x2bc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4d2]
movzx eax, word [ebp - 0x4d2]
or eax, 0xc00
mov dword [ebp - 0x4d8], eax
fldcw word [ebp - 0x4d8]
fistp qword [ebp - 0x4e0]
fldcw word [ebp - 0x4d2]
mov edx, dword [ebp - 0x4e0]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2ce], cl
jmp 0x4efd1d
movzx eax, byte [ebp - 0x2ce]
movzx ecx, byte [ebp + eax - 0x2bc]
mov edx, dword [ebp - 0x1ac]
add edx, dword [ebp - 0x1b4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x2ce], cl
mov ecx, dword [ebp - 0x1b4]
add ecx, 1
mov dword [ebp - 0x1b4], ecx
movzx edx, byte [ebp - 0x2cd]
cmp dword [ebp - 0x1b4], edx
jb 0x4efd5b
mov dword [ebp - 0x1b4], 0
movzx eax, byte [ebp - 0x2cd]
movzx ecx, byte [ebp - 0x2ce]
add ecx, eax
mov byte [ebp - 0x2ce], cl
movzx edx, byte [ebp - 0x2ce]
and edx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x2d4]
add eax, 1
mov dword [ebp - 0x2d4], eax
cmp dword [ebp - 0x2d4], 0xb
jbe 0x4efd9a
mov eax, dword [ebp - 0x2d8]
xor edx, edx
div dword [ebp - 0x2c4]
mov dword [ebp - 0x2d8], edx
mov ecx, dword [ebp - 0x2d8]
cmp ecx, dword [ebp - 0x2c4]
ja 0x4efb79
mov edx, dword [ebp - 0x2c4]
cmp edx, dword [ebp - 0x2d8]
je 0x4efe3f
mov eax, dword [ebp - 0x2d8]
movzx ecx, byte [ebp + eax - 0x2bc]
mov edx, dword [ebp - 0x2c4]
movzx eax, byte [ebp + edx - 0x2bc]
xor eax, ecx
mov ecx, dword [ebp - 0x2c4]
mov byte [ebp + ecx - 0x2bc], al
mov edx, dword [ebp - 0x2c4]
movzx eax, byte [ebp + edx - 0x2bc]
mov ecx, dword [ebp - 0x2d8]
movzx edx, byte [ebp + ecx - 0x2bc]
xor edx, eax
mov eax, dword [ebp - 0x2d8]
mov byte [ebp + eax - 0x2bc], dl
mov ecx, dword [ebp - 0x2d8]
movzx edx, byte [ebp + ecx - 0x2bc]
mov eax, dword [ebp - 0x2c4]
movzx ecx, byte [ebp + eax - 0x2bc]
xor ecx, edx
mov edx, dword [ebp - 0x2c4]
mov byte [ebp + edx - 0x2bc], cl
jmp 0x4efb29
mov al, byte [ebp - 0x2bb]
mov byte [ebp - 0x2cf], al
mov cl, byte [ebp - 0x2b9]
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2b7]
mov byte [ebp - 0x2bd], dl
mov al, byte [ebp - 0x2b5]
mov byte [ebp - 0x2c5], al
movzx ecx, byte [ebp - 0x2ce]
mov dl, byte [ebp + ecx - 0x2bc]
mov byte [ebp - 0x1a5], dl
mov dword [ebp - 0x2cc], 0x20
cmp dword [ebp - 0x2cc], 2
jle 0x4f26e7
mov eax, dword [ebp - 0x2cc]
and eax, 1
jne 0x4f26e7
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x368], 0
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x2e8], 0
mov edx, dword [ebp - 0x36c]
shl edx, 1
mov dword [ebp - 0x2e8], edx
mov dword [ebp - 0x394], 0
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x394]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x330], 0
mov edx, dword [ebp - 0x330]
add edx, 0xe0
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x350], 0
mov eax, dword [ebp - 0x36c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x3b0], 0
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x350]
movzx eax, byte [edx]
add eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x390]
add ecx, 0xc
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x3ac], 0
mov edx, dword [ebp - 0x394]
sub edx, dword [ebp - 0x330]
add edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x3b0]
sub eax, dword [ebp - 0x390]
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x3a8], 0
mov ecx, dword [ebp - 0x3ac]
shl ecx, 4
mov dword [ebp - 0x3a8], ecx
mov dword [ebp - 0x38c], 0
fld dword [0x9c9cb4]
fstp dword [ebp - 0x378]
fld dword [0x9c9cb0]
fstp dword [ebp - 0x344]
fld dword [0x9c9cac]
fstp dword [ebp - 0x364]
fld dword [0x9c9ca8]
fstp dword [ebp - 0x3a4]
fld dword [0x9c9ca4]
fstp dword [ebp - 0x2e4]
fld dword [0x9c9ca0]
fstp dword [ebp - 0x308]
fld dword [0x9c9c9c]
fstp dword [ebp - 0x320]
fld dword [ebp - 0x378]
fadd dword [ebp - 0x320]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fadd dword [ebp - 0x320]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x364]
fadd dword [ebp - 0x320]
fstp dword [ebp - 0x364]
fld dword [ebp - 0x364]
fsub dword [ebp - 0x320]
fstp dword [ebp - 0x364]
fld dword [ebp - 0x308]
fmul dword [ebp - 0x320]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x2e4]
fadd dword [ebp - 0x320]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x320]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x320]
fld dword [ebp - 0x378]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f0160
fld dword [ebp - 0x378]
fadd dword [ebp - 0x364]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x364]
fadd dword [ebp - 0x2e4]
fstp dword [ebp - 0x364]
fld dword [ebp - 0x344]
fsub dword [ebp - 0x3a4]
fstp dword [ebp - 0x344]
fld dword [ebp - 0x344]
fsub dword [ebp - 0x3a4]
fstp dword [ebp - 0x344]
fld dword [ebp - 0x344]
fmul dword [ebp - 0x3a4]
fstp dword [ebp - 0x344]
fld dword [ebp - 0x344]
fmul dword [ebp - 0x3a4]
fstp dword [ebp - 0x344]
fld dword [ebp - 0x308]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x308]
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], edx
jmp 0x4f01de
fld dword [ebp - 0x3a4]
fsub dword [ebp - 0x308]
fstp dword [ebp - 0x3a4]
fld dword [ebp - 0x2e4]
fmul dword [ebp - 0x320]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x378]
fadd dword [ebp - 0x364]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x364]
fdiv dword [ebp - 0x2e4]
fstp dword [ebp - 0x364]
fld dword [ebp - 0x308]
fmul dword [ebp - 0x378]
fstp dword [ebp - 0x308]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x364]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x2e4]
fmul dword [ebp - 0x320]
fstp dword [ebp - 0x2e4]
mov dword [ebp - 0x360], 0
mov eax, dword [ebp - 0x3a8]
or eax, dword [ebp - 0x38c]
mov dword [ebp - 0x360], eax
mov byte [ebp - 0x33d], 0
mov cl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], cl
mov byte [ebp - 0x39d], 0
movzx edx, byte [ebp - 0x1a5]
mov al, byte [ebp + edx - 0x2bc]
mov byte [ebp - 0x39d], al
movzx ecx, byte [ebp - 0x2cf]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp - 0x1b5]
add eax, edx
mov byte [ebp - 0x1b5], al
mov cl, byte [ebp - 0x2cf]
add cl, 1
mov byte [ebp - 0x2cf], cl
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp - 0x1b5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp - 0x2c5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2cf]
mov al, byte [ebp - 0x39d]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x39d]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp - 0x2bd]
add eax, edx
mov byte [ebp - 0x2bd], al
movzx ecx, byte [ebp - 0x33d]
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp + edx - 0x2bc]
movzx edx, byte [ebp - 0x2cf]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2bc]
xor ecx, eax
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp + edx - 0x2bc]
movzx edx, byte [ebp - 0x1a5]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
movzx edx, byte [ebp - 0x2bd]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp + eax - 0x2bc]
xor ecx, edx
mov byte [ebp - 0x2c5], cl
mov al, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], al
mov cl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], cl
cmp dword [ebp - 0x36c], 0
jle 0x4f0390
mov edx, dword [ebp - 0x36c]
mov al, byte [ebp - 0x385]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x368]
add edx, 1
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x36c]
shl eax, 1
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x2e8]
movzx edx, byte [ecx]
mov dword [ebp - 0x394], edx
mov dword [ebp - 0x330], 0xe0
mov eax, dword [ebp - 0x36c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x350]
movzx eax, byte [edx]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x390], 0xc
mov ecx, dword [ebp - 0x394]
sub ecx, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x3b0]
sub edx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 4
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x3a8]
or edx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], edx
mov al, byte [ebp - 0x360]
mov byte [ebp - 0x33d], al
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + ecx - 0x2bc]
mov byte [ebp - 0x39d], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp - 0x1b5]
add edx, ecx
mov byte [ebp - 0x1b5], dl
mov al, byte [ebp - 0x2cf]
add al, 1
mov byte [ebp - 0x2cf], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x1a5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2cf]
movzx edx, byte [ebp - 0x2c5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2cf]
mov dl, byte [ebp - 0x39d]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x39d]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp - 0x2bd]
add edx, ecx
mov byte [ebp - 0x2bd], dl
movzx eax, byte [ebp - 0x33d]
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx ecx, byte [ebp - 0x2cf]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2bc]
xor eax, edx
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx ecx, byte [ebp - 0x1a5]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
movzx ecx, byte [ebp - 0x2bd]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp + edx - 0x2bc]
xor eax, ecx
mov byte [ebp - 0x2c5], al
mov dl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], dl
mov al, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], al
cmp dword [ebp - 0x36c], 0
jle 0x4f05e4
mov ecx, dword [ebp - 0x36c]
mov dl, byte [ebp - 0x385]
mov byte [ebp + ecx - 0x31], dl
fld dword [0x9c9c98]
fstp dword [ebp - 0x314]
fld dword [0x9c9c94]
fstp dword [ebp - 0x310]
fld dword [0x9c9c90]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x30c]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x30c]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x314]
fadd dword [ebp - 0x30c]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x30c]
fld dword [ebp - 0x310]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f069a
fld dword [ebp - 0x310]
fsub dword [ebp - 0x30c]
fstp dword [ebp - 0x310]
fld dword [ebp - 0x314]
fmul dword [ebp - 0x310]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x310]
fmul dword [ebp - 0x30c]
fstp dword [ebp - 0x310]
mov eax, dword [ebp - 0x368]
add eax, 3
mov dword [ebp - 0x368], eax
jmp 0x4f06d0
fld dword [ebp - 0x314]
fmul dword [ebp - 0x30c]
fstp dword [ebp - 0x314]
fld dword [ebp - 0x30c]
fdiv dword [ebp - 0x310]
fstp dword [ebp - 0x30c]
fld dword [ebp - 0x314]
fmul dword [ebp - 0x30c]
fstp dword [ebp - 0x314]
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x3b4], ecx
jmp 0x4f06f0
mov edx, dword [ebp - 0x3b4]
add edx, 1
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3b4]
cmp eax, dword [ebp - 0x368]
jge 0x4f0c52
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 1
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x330], 0xe0
mov edx, dword [ebp - 0x36c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x350], eax
fld dword [0x9c9c8c]
fstp dword [ebp - 0x3c4]
fld dword [0x9c9c88]
fstp dword [ebp - 0x3bc]
fld dword [0x9c9c84]
fstp dword [ebp - 0x3c0]
fld dword [0x9c9c80]
fstp dword [ebp - 0x3b8]
fld dword [0x9c9c7c]
fstp dword [ebp - 0x3cc]
fld dword [0x9c9c78]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3cc]
fsub dword [ebp - 0x3c8]
fstp dword [ebp - 0x3cc]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3cc]
fsub dword [ebp - 0x3c8]
fstp dword [ebp - 0x3cc]
fld dword [ebp - 0x3bc]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fmul dword [ebp - 0x3c8]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fld dword [ebp - 0x3cc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f09e7
fld dword [ebp - 0x3c0]
fmul dword [ebp - 0x3cc]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c0]
fdiv dword [ebp - 0x3cc]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3b8]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3c0]
fsub dword [ebp - 0x3cc]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c8]
fdiv dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c4]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c8]
fsub dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c4]
fsub dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3bc]
fsub dword [ebp - 0x3b8]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3bc]
fld dword [ebp - 0x3b8]
fcompp
fnstsw ax
test ah, 5
jp 0x4f0976
fld dword [ebp - 0x3b8]
fsub dword [ebp - 0x3cc]
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3b8]
fdiv dword [ebp - 0x3cc]
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3c0]
fadd dword [ebp - 0x3b8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3b8]
fsub dword [ebp - 0x3cc]
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3c4]
fsub dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c4]
jmp 0x4f09e2
fld dword [ebp - 0x3c4]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fsub dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3bc]
fmul dword [ebp - 0x3b8]
fstp dword [ebp - 0x3bc]
fld dword [ebp - 0x3c4]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c0]
fadd dword [ebp - 0x3cc]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c8]
fdiv dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c8]
jmp 0x4f0a68
fld dword [ebp - 0x3c0]
fmul dword [ebp - 0x3b8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3c0]
fsub dword [ebp - 0x3b8]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3b8]
fsub dword [ebp - 0x3cc]
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3b8]
fadd dword [ebp - 0x3cc]
fstp dword [ebp - 0x3b8]
fld dword [ebp - 0x3c4]
fsub dword [ebp - 0x3bc]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3cc]
fmul dword [ebp - 0x3c8]
fstp dword [ebp - 0x3cc]
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x350]
movzx edx, byte [ecx]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x390], 0xc
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 4
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], ecx
mov dl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + eax - 0x2bc]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x1b5]
add ecx, eax
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2cf]
add dl, 1
mov byte [ebp - 0x2cf], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
mov cl, byte [ebp - 0x39d]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x2bd]
add ecx, eax
mov byte [ebp - 0x2bd], cl
movzx edx, byte [ebp - 0x33d]
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x2cf]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
xor edx, ecx
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x1a5]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
movzx eax, byte [ebp - 0x2bd]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp + ecx - 0x2bc]
xor edx, eax
mov byte [ebp - 0x2c5], dl
mov cl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], cl
mov dl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], dl
cmp dword [ebp - 0x36c], 0
jle 0x4f0c4d
mov eax, dword [ebp - 0x36c]
mov cl, byte [ebp - 0x385]
mov byte [ebp + eax - 0x31], cl
jmp 0x4f06e1
mov edx, dword [ebp - 0x368]
add edx, 1
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 1
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x330], 0xe0
mov edx, dword [ebp - 0x36c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x350]
movzx edx, byte [ecx]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x390], 0xc
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 4
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], ecx
mov dl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + eax - 0x2bc]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x1b5]
add ecx, eax
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2cf]
add dl, 1
mov byte [ebp - 0x2cf], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
mov cl, byte [ebp - 0x39d]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x2bd]
add ecx, eax
mov byte [ebp - 0x2bd], cl
movzx edx, byte [ebp - 0x33d]
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x2cf]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
xor edx, ecx
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x1a5]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
movzx eax, byte [ebp - 0x2bd]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp + ecx - 0x2bc]
xor edx, eax
mov byte [ebp - 0x2c5], dl
mov cl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], cl
fld dword [0x9c9c74]
fstp dword [ebp - 0x374]
fld dword [0x9c9c70]
fstp dword [ebp - 0x370]
fld dword [0x9c9c6c]
fstp dword [ebp - 0x304]
fld dword [0x9c9c68]
fstp dword [ebp - 0x2e0]
fld dword [0x9c7240]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x304]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x2e0]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x2e0]
fsub dword [ebp - 0x300]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x2e0]
fsub dword [ebp - 0x300]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x2e0]
fmul dword [ebp - 0x300]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x2e0]
fld dword [ebp - 0x300]
fcompp
fnstsw ax
test ah, 5
jp 0x4f0fa4
fld dword [ebp - 0x370]
fsub dword [ebp - 0x2e0]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x304]
fmul dword [ebp - 0x300]
fstp dword [ebp - 0x304]
fld dword [ebp - 0x300]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x374]
fsub dword [ebp - 0x304]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x304]
fadd dword [ebp - 0x300]
fstp dword [ebp - 0x304]
mov dl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], dl
jmp 0x4f0ffe
fld dword [ebp - 0x370]
fdiv dword [ebp - 0x304]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x2e0]
fdiv dword [ebp - 0x300]
fstp dword [ebp - 0x2e0]
fld dword [ebp - 0x300]
fmul dword [ebp - 0x374]
fstp dword [ebp - 0x300]
fld dword [ebp - 0x374]
fsub dword [ebp - 0x370]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x374]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x374]
cmp dword [ebp - 0x36c], 0
jle 0x4f1017
mov eax, dword [ebp - 0x36c]
mov cl, byte [ebp - 0x385]
mov byte [ebp + eax - 0x31], cl
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x368]
add eax, 1
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 1
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x2e8]
movzx eax, byte [edx]
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x330], 0xe0
mov ecx, dword [ebp - 0x36c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x350]
movzx ecx, byte [eax]
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x390], 0xc
mov edx, dword [ebp - 0x394]
sub edx, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x3b0]
sub eax, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x3ac]
shl ecx, 4
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x3a8]
or eax, dword [ebp - 0x38c]
mov dword [ebp - 0x360], eax
fld qword [0x9c9c60]
fstp qword [ebp - 0x31c]
fld qword [0x9c9c58]
fstp qword [ebp - 0x34c]
fld qword [0x9c9c50]
fstp qword [ebp - 0x35c]
fld qword [0x9c9c48]
fstp qword [ebp - 0x33c]
fld qword [0x9c9c40]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x31c]
fsub qword [ebp - 0x384]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x384]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x31c]
fsub qword [ebp - 0x384]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x31c]
fsub qword [ebp - 0x384]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x35c]
fsub qword [ebp - 0x384]
fstp qword [ebp - 0x35c]
fld qword [ebp - 0x34c]
fcomp qword [ebp - 0x384]
fnstsw ax
test ah, 5
jp 0x4f11e7
fld qword [ebp - 0x31c]
fadd qword [ebp - 0x34c]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x31c]
fmul qword [ebp - 0x34c]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x33c]
fmul qword [ebp - 0x384]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x384]
fsub qword [ebp - 0x31c]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x33c]
fadd qword [ebp - 0x384]
fstp qword [ebp - 0x33c]
jmp 0x4f124d
fld qword [ebp - 0x34c]
fadd qword [ebp - 0x35c]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x31c]
fadd qword [ebp - 0x34c]
fstp qword [ebp - 0x31c]
fld qword [ebp - 0x384]
fsub qword [ebp - 0x31c]
fstp qword [ebp - 0x384]
fld qword [ebp - 0x33c]
fsub qword [ebp - 0x384]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x384]
fsub qword [ebp - 0x31c]
fstp qword [ebp - 0x384]
mov cl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], cl
movzx edx, byte [ebp - 0x1a5]
mov al, byte [ebp + edx - 0x2bc]
mov byte [ebp - 0x39d], al
movzx ecx, byte [ebp - 0x2cf]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp - 0x1b5]
add eax, edx
mov byte [ebp - 0x1b5], al
mov cl, byte [ebp - 0x2cf]
add cl, 1
mov byte [ebp - 0x2cf], cl
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp - 0x1b5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp - 0x2c5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2cf]
mov al, byte [ebp - 0x39d]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x39d]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp - 0x2bd]
add eax, edx
mov byte [ebp - 0x2bd], al
movzx ecx, byte [ebp - 0x33d]
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp + edx - 0x2bc]
movzx edx, byte [ebp - 0x2cf]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2bc]
xor ecx, eax
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp + edx - 0x2bc]
movzx edx, byte [ebp - 0x1a5]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
movzx edx, byte [ebp - 0x2bd]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp + eax - 0x2bc]
xor ecx, edx
mov byte [ebp - 0x2c5], cl
mov al, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], al
mov cl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], cl
cmp dword [ebp - 0x36c], 0
jle 0x4f13c9
mov edx, dword [ebp - 0x36c]
mov al, byte [ebp - 0x385]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x368]
add edx, 1
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x36c]
shl eax, 1
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x2e8]
movzx edx, byte [ecx]
mov dword [ebp - 0x394], edx
mov dword [ebp - 0x330], 0xe0
mov eax, dword [ebp - 0x36c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x350]
movzx eax, byte [edx]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x390], 0xc
mov ecx, dword [ebp - 0x394]
sub ecx, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x3b0]
sub edx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 4
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x3a8]
or edx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], edx
mov al, byte [ebp - 0x360]
mov byte [ebp - 0x33d], al
fld dword [0x9c9c38]
fstp dword [ebp - 0x32c]
fld dword [0x9c9c34]
fstp dword [ebp - 0x37c]
fld dword [0x9c9c30]
fstp dword [ebp - 0x328]
fld dword [0x9c9c2c]
fstp dword [ebp - 0x2f4]
fld dword [0x9c9c28]
fstp dword [ebp - 0x2fc]
fld dword [0x9c9c24]
fstp dword [ebp - 0x39c]
fld dword [0x9c9c20]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x328]
fmul dword [ebp - 0x2f0]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x39c]
fsub dword [ebp - 0x2f0]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x37c]
fsub dword [ebp - 0x2f0]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x328]
fmul dword [ebp - 0x2f0]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x328]
fsub dword [ebp - 0x2f0]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x2fc]
fmul dword [ebp - 0x2f0]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x2f0]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x328]
fld dword [ebp - 0x39c]
fcompp
fnstsw ax
test ah, 5
jp 0x4f161f
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x328]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x39c]
fmul dword [ebp - 0x2f0]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x37c]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x37c]
fmul dword [ebp - 0x328]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x2fc]
fsub dword [ebp - 0x39c]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x37c]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x2f0]
fsub dword [ebp - 0x32c]
fstp dword [ebp - 0x2f0]
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + ecx - 0x2bc]
mov byte [ebp - 0x39d], dl
jmp 0x4f169d
fld dword [ebp - 0x32c]
fsub dword [ebp - 0x37c]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x2f0]
fadd dword [ebp - 0x32c]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x2fc]
fsub dword [ebp - 0x39c]
fstp dword [ebp - 0x2fc]
fld dword [ebp - 0x2f4]
fadd dword [ebp - 0x2fc]
fstp dword [ebp - 0x2f4]
fld dword [ebp - 0x39c]
fsub dword [ebp - 0x2f0]
fstp dword [ebp - 0x39c]
fld dword [ebp - 0x2f0]
fmul dword [ebp - 0x32c]
fstp dword [ebp - 0x2f0]
fld dword [ebp - 0x328]
fdiv dword [ebp - 0x2f4]
fstp dword [ebp - 0x328]
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp - 0x1b5]
add edx, ecx
mov byte [ebp - 0x1b5], dl
mov al, byte [ebp - 0x2cf]
add al, 1
mov byte [ebp - 0x2cf], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x1a5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2cf]
movzx edx, byte [ebp - 0x2c5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2cf]
mov dl, byte [ebp - 0x39d]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x39d]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp - 0x2bd]
add edx, ecx
mov byte [ebp - 0x2bd], dl
movzx eax, byte [ebp - 0x33d]
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx ecx, byte [ebp - 0x2cf]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2bc]
xor eax, edx
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx ecx, byte [ebp - 0x1a5]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
movzx ecx, byte [ebp - 0x2bd]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp + edx - 0x2bc]
xor eax, ecx
mov byte [ebp - 0x2c5], al
mov dl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], dl
mov al, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], al
cmp dword [ebp - 0x36c], 0
jle 0x4f1806
mov ecx, dword [ebp - 0x36c]
mov dl, byte [ebp - 0x385]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x368]
add eax, 4
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x3d0], ecx
jmp 0x4f1835
mov edx, dword [ebp - 0x3d0]
add edx, 1
mov dword [ebp - 0x3d0], edx
mov eax, dword [ebp - 0x3d0]
cmp eax, dword [ebp - 0x368]
jge 0x4f1ca4
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 1
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x330], 0xe0
mov edx, dword [ebp - 0x36c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x350]
movzx edx, byte [ecx]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x390], 0xc
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 4
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], ecx
mov dl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + eax - 0x2bc]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x1b5]
add ecx, eax
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2cf]
add dl, 1
mov byte [ebp - 0x2cf], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
fld dword [0x9c9c1c]
fstp dword [ebp - 0x3d4]
fld dword [0x9c9c18]
fstp dword [ebp - 0x3e0]
fld dword [0x9c76e8]
fstp dword [ebp - 0x3d8]
fld dword [0x9c9c14]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3d4]
fadd dword [ebp - 0x3dc]
fstp dword [ebp - 0x3d4]
fld dword [ebp - 0x3d8]
fadd dword [ebp - 0x3dc]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3d8]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3e0]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3d4]
fld dword [ebp - 0x3dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f1b36
fld dword [ebp - 0x3d8]
fmul dword [ebp - 0x3d4]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3dc]
fdiv dword [ebp - 0x3e0]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3e0]
fdiv dword [ebp - 0x3dc]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3d4]
fdiv dword [ebp - 0x3d8]
fstp dword [ebp - 0x3d4]
fld dword [ebp - 0x3e0]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3dc]
fadd dword [ebp - 0x3e0]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3dc]
fsub dword [ebp - 0x3e0]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3dc]
fadd dword [ebp - 0x3e0]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3d8]
fld dword [ebp - 0x3d4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4f1aec
fld dword [ebp - 0x3d8]
fmul dword [ebp - 0x3d4]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3dc]
fsub dword [ebp - 0x3e0]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3d8]
fmul dword [ebp - 0x3d4]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3d8]
fadd dword [ebp - 0x3d4]
fstp dword [ebp - 0x3d8]
jmp 0x4f1b34
fld dword [ebp - 0x3d4]
fadd dword [ebp - 0x3e0]
fstp dword [ebp - 0x3d4]
fld dword [ebp - 0x3d8]
fmul dword [ebp - 0x3dc]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3dc]
fmul dword [ebp - 0x3d4]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3e0]
fsub dword [ebp - 0x3d8]
fstp dword [ebp - 0x3e0]
jmp 0x4f1b9a
fld dword [ebp - 0x3e0]
fadd dword [ebp - 0x3d8]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3d8]
fsub dword [ebp - 0x3dc]
fstp dword [ebp - 0x3d8]
fld dword [ebp - 0x3dc]
fmul dword [ebp - 0x3d4]
fstp dword [ebp - 0x3dc]
fld dword [ebp - 0x3d8]
fmul dword [ebp - 0x3dc]
fstp dword [ebp - 0x3d8]
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
mov cl, byte [ebp - 0x39d]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x2bd]
add ecx, eax
mov byte [ebp - 0x2bd], cl
movzx edx, byte [ebp - 0x33d]
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x2cf]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
xor edx, ecx
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x1a5]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
movzx eax, byte [ebp - 0x2bd]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp + ecx - 0x2bc]
xor edx, eax
mov byte [ebp - 0x2c5], dl
mov cl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], cl
mov dl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], dl
cmp dword [ebp - 0x36c], 0
jle 0x4f1c9f
mov eax, dword [ebp - 0x36c]
mov cl, byte [ebp - 0x385]
mov byte [ebp + eax - 0x31], cl
jmp 0x4f1826
mov edx, dword [ebp - 0x368]
add edx, 1
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 1
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x330], 0xe0
mov edx, dword [ebp - 0x36c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x350]
movzx edx, byte [ecx]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x390], 0xc
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 4
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], ecx
mov dl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + eax - 0x2bc]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x1b5]
add ecx, eax
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2cf]
add dl, 1
mov byte [ebp - 0x2cf], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
mov cl, byte [ebp - 0x39d]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x2bd]
add ecx, eax
mov byte [ebp - 0x2bd], cl
movzx edx, byte [ebp - 0x33d]
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x2cf]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
xor edx, ecx
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x1a5]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
movzx eax, byte [ebp - 0x2bd]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp + ecx - 0x2bc]
xor edx, eax
mov byte [ebp - 0x2c5], dl
mov cl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], cl
mov dl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], dl
cmp dword [ebp - 0x36c], 0
jle 0x4f1f08
mov eax, dword [ebp - 0x36c]
mov cl, byte [ebp - 0x385]
mov byte [ebp + eax - 0x31], cl
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x368]
add eax, 1
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x36c]
shl ecx, 1
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x2e8]
movzx eax, byte [edx]
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x330], 0xe0
mov ecx, dword [ebp - 0x36c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x350]
movzx ecx, byte [eax]
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x390], 0xc
mov edx, dword [ebp - 0x394]
sub edx, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], edx
fld dword [0x9c9c10]
fstp dword [ebp - 0x398]
fld dword [0x9c9c0c]
fstp dword [ebp - 0x324]
fld dword [0x9c9c08]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x398]
fsub dword [ebp - 0x2ec]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x398]
fmul dword [ebp - 0x2ec]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x398]
fmul dword [ebp - 0x2ec]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x398]
fld dword [ebp - 0x2ec]
fcompp
fnstsw ax
test ah, 5
jp 0x4f204d
fld dword [ebp - 0x2ec]
fmul dword [ebp - 0x398]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x324]
fsub dword [ebp - 0x2ec]
fstp dword [ebp - 0x324]
fld dword [ebp - 0x398]
fsub dword [ebp - 0x324]
fstp dword [ebp - 0x398]
mov eax, dword [ebp - 0x3b0]
sub eax, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], eax
jmp 0x4f2083
fld dword [ebp - 0x398]
fadd dword [ebp - 0x324]
fstp dword [ebp - 0x398]
fld dword [ebp - 0x2ec]
fadd dword [ebp - 0x398]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2ec]
fadd dword [ebp - 0x398]
fstp dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x3ac]
shl ecx, 4
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x3a8]
or eax, dword [ebp - 0x38c]
mov dword [ebp - 0x360], eax
mov cl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], cl
movzx edx, byte [ebp - 0x1a5]
mov al, byte [ebp + edx - 0x2bc]
mov byte [ebp - 0x39d], al
movzx ecx, byte [ebp - 0x2cf]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp - 0x1b5]
add eax, edx
mov byte [ebp - 0x1b5], al
mov cl, byte [ebp - 0x2cf]
add cl, 1
mov byte [ebp - 0x2cf], cl
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp - 0x1b5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp - 0x2c5]
mov cl, byte [ebp + edx - 0x2bc]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x2cf]
mov al, byte [ebp - 0x39d]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x39d]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp - 0x2bd]
add eax, edx
mov byte [ebp - 0x2bd], al
movzx ecx, byte [ebp - 0x33d]
movzx edx, byte [ebp - 0x1b5]
movzx eax, byte [ebp + edx - 0x2bc]
movzx edx, byte [ebp - 0x2cf]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2bc]
xor ecx, eax
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp + edx - 0x2bc]
movzx edx, byte [ebp - 0x1a5]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
movzx edx, byte [ebp - 0x2bd]
movzx edx, byte [ebp + edx - 0x2bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp + eax - 0x2bc]
xor ecx, edx
mov byte [ebp - 0x2c5], cl
mov al, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], al
mov cl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], cl
cmp dword [ebp - 0x36c], 0
jle 0x4f2238
mov edx, dword [ebp - 0x36c]
mov al, byte [ebp - 0x385]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x368]
add edx, 1
mov dword [ebp - 0x368], edx
mov eax, dword [ebp - 0x36c]
shl eax, 1
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x2e8]
movzx edx, byte [ecx]
mov dword [ebp - 0x394], edx
mov dword [ebp - 0x330], 0xe0
mov eax, dword [ebp - 0x36c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x1b0]
add edx, dword [ebp - 0x350]
movzx eax, byte [edx]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x390], 0xc
mov ecx, dword [ebp - 0x394]
sub ecx, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x3b0]
sub edx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 4
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x3a8]
or edx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], edx
mov al, byte [ebp - 0x360]
mov byte [ebp - 0x33d], al
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + ecx - 0x2bc]
mov byte [ebp - 0x39d], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp - 0x1b5]
add edx, ecx
mov byte [ebp - 0x1b5], dl
mov al, byte [ebp - 0x2cf]
add al, 1
mov byte [ebp - 0x2cf], al
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp - 0x1a5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2cf]
movzx edx, byte [ebp - 0x2c5]
mov al, byte [ebp + ecx - 0x2bc]
mov byte [ebp + edx - 0x2bc], al
movzx ecx, byte [ebp - 0x2cf]
mov dl, byte [ebp - 0x39d]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x39d]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx edx, byte [ebp - 0x2bd]
add edx, ecx
mov byte [ebp - 0x2bd], dl
movzx eax, byte [ebp - 0x33d]
movzx ecx, byte [ebp - 0x1b5]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx ecx, byte [ebp - 0x2cf]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2bc]
xor eax, edx
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp + ecx - 0x2bc]
movzx ecx, byte [ebp - 0x1a5]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
movzx ecx, byte [ebp - 0x2bd]
movzx ecx, byte [ebp + ecx - 0x2bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp + edx - 0x2bc]
xor eax, ecx
mov byte [ebp - 0x2c5], al
mov dl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], dl
mov al, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], al
cmp dword [ebp - 0x36c], 0
jle 0x4f248c
mov ecx, dword [ebp - 0x36c]
mov dl, byte [ebp - 0x385]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x368]
add ecx, 1
mov dword [ebp - 0x368], ecx
mov edx, dword [ebp - 0x36c]
shl edx, 1
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x1b0]
add eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x330], 0xe0
mov edx, dword [ebp - 0x36c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x1b0]
add ecx, dword [ebp - 0x350]
movzx edx, byte [ecx]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x390], 0xc
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x330]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x390]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 4
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x3a8]
or ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x360], ecx
mov dl, byte [ebp - 0x360]
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x1a5]
mov cl, byte [ebp + eax - 0x2bc]
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x2cf]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x1b5]
add ecx, eax
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2cf]
add dl, 1
mov byte [ebp - 0x2cf], dl
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp - 0x1a5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x2bc]
mov byte [ebp + ecx - 0x2bc], dl
movzx eax, byte [ebp - 0x2cf]
mov cl, byte [ebp - 0x39d]
mov byte [ebp + eax - 0x2bc], cl
movzx edx, byte [ebp - 0x39d]
movzx eax, byte [ebp + edx - 0x2bc]
movzx ecx, byte [ebp - 0x2bd]
add ecx, eax
mov byte [ebp - 0x2bd], cl
movzx edx, byte [ebp - 0x33d]
movzx eax, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x2cf]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
xor edx, ecx
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x2bc]
movzx eax, byte [ebp - 0x1a5]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
movzx eax, byte [ebp - 0x2bd]
movzx eax, byte [ebp + eax - 0x2bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2bc]
movzx eax, byte [ebp + ecx - 0x2bc]
xor edx, eax
mov byte [ebp - 0x2c5], dl
mov cl, byte [ebp - 0x33d]
mov byte [ebp - 0x1a5], cl
mov dl, byte [ebp - 0x2c5]
mov byte [ebp - 0x385], dl
cmp dword [ebp - 0x36c], 0
jle 0x4f26e1
mov eax, dword [ebp - 0x36c]
mov cl, byte [ebp - 0x385]
mov byte [ebp + eax - 0x31], cl
mov byte [ebp - 0x21], 0
jmp 0x4f2718
mov dword [ebp - 0x3e4], 0
jmp 0x4f2702
mov edx, dword [ebp - 0x3e4]
add edx, 1
mov dword [ebp - 0x3e4], edx
cmp dword [ebp - 0x3e4], 0x10
jge 0x4f2718
mov eax, dword [ebp - 0x3e4]
mov byte [ebp + eax - 0x30], 0
jmp 0x4f26f3
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x4e4]
mov cl, byte [eax]
mov byte [ebp - 0x4e9], cl
add dword [ebp - 0x4e4], 1
cmp byte [ebp - 0x4e9], 0
jne 0x4f272d
mov edx, dword [ebp - 0x4e4]
sub edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x4e8]
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4f4], edx
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
mov al, byte [edx + 1]
mov byte [ebp - 0x4f9], al
add dword [ebp - 0x4f8], 1
cmp byte [ebp - 0x4f9], 0
jne 0x4f2778
mov edi, dword [ebp - 0x4f8]
mov esi, dword [ebp - 0x4f0]
mov edx, dword [ebp - 0x4f4]
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]
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x500]
mov al, byte [edx]
mov byte [ebp - 0x505], al
add dword [ebp - 0x500], 1
cmp byte [ebp - 0x505], 0
jne 0x4f27cf
mov ecx, dword [ebp - 0x500]
sub ecx, dword [ebp - 0x504]
mov edx, dword [ebp - 0x504]
mov dword [ebp - 0x50c], edx
mov dword [ebp - 0x510], ecx
lea eax, [ebp - 0x164]
add eax, 0xffffffff
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x515], dl
add dword [ebp - 0x514], 1
cmp byte [ebp - 0x515], 0
jne 0x4f281a
mov edi, dword [ebp - 0x514]
mov esi, dword [ebp - 0x50c]
mov eax, dword [ebp - 0x510]
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 ecx, [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x494]
mov eax, dword [edx + 0xdc]
call eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4f288e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4f2a23
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x1c], 0
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x50], 0
push 0
lea eax, [ebp - 0x50]
push eax
push 8
lea ecx, [ebp - 0x1c]
push ecx
push 0xc
lea edx, [ebp - 0x5c]
push edx
push 0x2d1400
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x494]
mov edx, dword [ecx + 0xcc]
call edx
test eax, eax
jne 0x4f2902
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4f2a23
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.0095b1c7
add esp, 4
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x14]
push ecx
push 0
mov edx, dword [ebp - 0x48]
push edx
call fcn.0095ae70
add esp, 0xc
push 0
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x48]
push edx
push 0xc
lea eax, [ebp - 0x5c]
push eax
push 0x2d1400
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x494]
mov eax, dword [edx + 0xcc]
call eax
test eax, eax
jne 0x4f2997
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3ec], ecx
mov edx, dword [ebp - 0x3ec]
push edx
call fcn.0095b1b1
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4f2a23
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x4f29fe
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x408]
call fcn.00491ad0
mov dword [ebp - 0x51c], eax
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x520], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x520]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004dc4e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x408]
call fcn.004acc50
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x40c]
push edx
call fcn.0095b1b1
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
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