Function at 0x506370
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9e974b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4d4
push esi
push edi
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x34], 0
push 0x9edf19
mov ecx, dword [ebp + 0xc]
call fcn.0047a020
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.00981700
add esp, 0xc
push 0xa
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.009836da
add esp, 0xc
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
mov al, byte [edx + 1]
mov byte [ebp - 0x459], al
add dword [ebp - 0x458], 1
cmp byte [ebp - 0x459], 0
jne 0x50642a
mov edi, dword [ebp - 0x458]
mov cx, word [0x9f0608]
mov word [edi], cx
mov dl, byte [0x9f060a]
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 0x50648d
fld qword [ebp - 0x3c]
fadd qword [0x9ebb30]
fstp qword [ebp - 0x3c]
fld qword [0x9f0600]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x506655
fld qword [0x9f05f8]
fstp qword [ebp - 0x1ac]
fld qword [0x9f05f0]
fstp qword [ebp - 0x19c]
fld qword [0x9f05e8]
fstp qword [ebp - 0x1b4]
fld qword [0x9f05e0]
fstp qword [ebp - 0x1a4]
fld qword [0x9f05d8]
fstp qword [ebp - 0x194]
fld qword [ebp - 0x19c]
fadd qword [ebp - 0x194]
fstp qword [ebp - 0x19c]
fld qword [ebp - 0x1b4]
fsub qword [ebp - 0x194]
fstp qword [ebp - 0x1b4]
fld qword [ebp - 0x1b4]
fsub qword [ebp - 0x194]
fstp qword [ebp - 0x1b4]
fld qword [ebp - 0x1ac]
fmul qword [ebp - 0x194]
fstp qword [ebp - 0x1ac]
fld qword [ebp - 0x1a4]
fmul qword [ebp - 0x194]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x1ac]
fcomp qword [ebp - 0x1b4]
fnstsw ax
test ah, 5
jp 0x5065a9
fld qword [ebp - 0x1ac]
fadd qword [ebp - 0x19c]
fstp qword [ebp - 0x1ac]
fld qword [ebp - 0x194]
fmul qword [ebp - 0x1ac]
fstp qword [ebp - 0x194]
fld qword [ebp - 0x1b4]
fsub qword [ebp - 0x1a4]
fstp qword [ebp - 0x1b4]
fld qword [ebp - 0x1ac]
fsub qword [ebp - 0x19c]
fstp qword [ebp - 0x1ac]
fld qword [ebp - 0x194]
fadd qword [ebp - 0x1ac]
fstp qword [ebp - 0x194]
jmp 0x506631
fld qword [ebp - 0x194]
fmul qword [ebp - 0x1ac]
fstp qword [ebp - 0x194]
fld qword [ebp - 0x1b4]
fsub qword [ebp - 0x1a4]
fstp qword [ebp - 0x1b4]
fld qword [ebp - 0x1a4]
fsub qword [ebp - 0x194]
fstp qword [ebp - 0x1a4]
fld qword [ebp - 0x1ac]
fadd qword [ebp - 0x19c]
fstp qword [ebp - 0x1ac]
fld qword [ebp - 0x1a4]
fmul qword [ebp - 0x194]
fstp qword [ebp - 0x1a4]
fld qword [0x9f05d0]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9f05c8]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9f05c0]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x9f05b8]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x506650
fld qword [0x9f05b0]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x506481
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x50669a
ret
mov dword [ebp - 0x60], 0x506661
mov dword [ebp - 0x4c], 0x506681
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1bc], ecx
mov byte [ebp - 0x2dd], 0x18
mov dword [ebp - 0x2d4], 0
jmp 0x5066dc
mov edx, dword [ebp - 0x2d4]
add edx, 1
mov dword [ebp - 0x2d4], edx
cmp dword [ebp - 0x2d4], 0x100
jae 0x5066fd
mov eax, dword [ebp - 0x2d4]
mov cl, byte [ebp - 0x2d4]
mov byte [ebp + eax - 0x2cc], cl
jmp 0x5066cd
mov dword [ebp - 0x1c4], 0
mov byte [ebp - 0x2de], 0
mov dword [ebp - 0x2d4], 0xff
jmp 0x506729
mov edx, dword [ebp - 0x2d4]
sub edx, 1
mov dword [ebp - 0x2d4], edx
cmp dword [ebp - 0x2d4], 0
jbe 0x506a35
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2ec], 1
mov eax, dword [ebp - 0x2ec]
cmp eax, dword [ebp - 0x2d4]
jae 0x50676a
mov ecx, dword [ebp - 0x2ec]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x2ec], edx
jmp 0x50674a
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 3
ja case.default.0x506789
mov ecx, dword [ebp - 0x460]
jmp dword [ecx*4 + 0x5083fc]
movzx edx, byte [ebp - 0x2de]
movzx ecx, byte [ebp + edx - 0x2cc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x462]
movzx eax, word [ebp - 0x462]
or eax, 0xc00
mov dword [ebp - 0x468], eax
fldcw word [ebp - 0x468]
fistp qword [ebp - 0x470]
fldcw word [ebp - 0x462]
mov edx, dword [ebp - 0x470]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2de], cl
jmp 0x50690e
movzx eax, byte [ebp - 0x2de]
movzx ecx, byte [ebp + eax - 0x2cc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x472]
movzx eax, word [ebp - 0x472]
or eax, 0xc00
mov dword [ebp - 0x478], eax
fldcw word [ebp - 0x478]
fistp qword [ebp - 0x480]
fldcw word [ebp - 0x472]
mov edx, dword [ebp - 0x480]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2de], cl
jmp 0x50690e
movzx eax, byte [ebp - 0x2de]
movzx ecx, byte [ebp + eax - 0x2cc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x482]
movzx eax, word [ebp - 0x482]
or eax, 0xc00
mov dword [ebp - 0x488], eax
fldcw word [ebp - 0x488]
fistp qword [ebp - 0x490]
fldcw word [ebp - 0x482]
mov edx, dword [ebp - 0x490]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2de], cl
jmp 0x50690e
movzx eax, byte [ebp - 0x2de]
movzx ecx, byte [ebp + eax - 0x2cc]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x492]
movzx eax, word [ebp - 0x492]
or eax, 0xc00
mov dword [ebp - 0x498], eax
fldcw word [ebp - 0x498]
fistp qword [ebp - 0x4a0]
fldcw word [ebp - 0x492]
mov edx, dword [ebp - 0x4a0]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2de], cl
jmp 0x50690e
movzx eax, byte [ebp - 0x2de]
movzx ecx, byte [ebp + eax - 0x2cc]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x1c4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x2de], cl
mov ecx, dword [ebp - 0x1c4]
add ecx, 1
mov dword [ebp - 0x1c4], ecx
movzx edx, byte [ebp - 0x2dd]
cmp dword [ebp - 0x1c4], edx
jb 0x50694c
mov dword [ebp - 0x1c4], 0
movzx eax, byte [ebp - 0x2dd]
movzx ecx, byte [ebp - 0x2de]
add ecx, eax
mov byte [ebp - 0x2de], cl
movzx edx, byte [ebp - 0x2de]
and edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x2e4]
add eax, 1
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0xb
jbe 0x50698b
mov eax, dword [ebp - 0x2e8]
xor edx, edx
div dword [ebp - 0x2d4]
mov dword [ebp - 0x2e8], edx
mov ecx, dword [ebp - 0x2e8]
cmp ecx, dword [ebp - 0x2d4]
ja 0x50676a
mov edx, dword [ebp - 0x2d4]
cmp edx, dword [ebp - 0x2e8]
je 0x506a30
mov eax, dword [ebp - 0x2e8]
movzx ecx, byte [ebp + eax - 0x2cc]
mov edx, dword [ebp - 0x2d4]
movzx eax, byte [ebp + edx - 0x2cc]
xor eax, ecx
mov ecx, dword [ebp - 0x2d4]
mov byte [ebp + ecx - 0x2cc], al
mov edx, dword [ebp - 0x2d4]
movzx eax, byte [ebp + edx - 0x2cc]
mov ecx, dword [ebp - 0x2e8]
movzx edx, byte [ebp + ecx - 0x2cc]
xor edx, eax
mov eax, dword [ebp - 0x2e8]
mov byte [ebp + eax - 0x2cc], dl
mov ecx, dword [ebp - 0x2e8]
movzx edx, byte [ebp + ecx - 0x2cc]
mov eax, dword [ebp - 0x2d4]
movzx ecx, byte [ebp + eax - 0x2cc]
xor ecx, edx
mov edx, dword [ebp - 0x2d4]
mov byte [ebp + edx - 0x2cc], cl
jmp 0x50671a
mov al, byte [ebp - 0x2cb]
mov byte [ebp - 0x2df], al
mov cl, byte [ebp - 0x2c9]
mov byte [ebp - 0x1c5], cl
mov dl, byte [ebp - 0x2c7]
mov byte [ebp - 0x2cd], dl
mov al, byte [ebp - 0x2c5]
mov byte [ebp - 0x2d5], al
movzx ecx, byte [ebp - 0x2de]
mov dl, byte [ebp + ecx - 0x2cc]
mov byte [ebp - 0x1b5], dl
mov dword [ebp - 0x2dc], 0x20
cmp dword [ebp - 0x2dc], 2
jle 0x5080ac
mov eax, dword [ebp - 0x2dc]
and eax, 1
jne 0x5080ac
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0
mov ecx, dword [ebp - 0x340]
add ecx, 1
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x2f0], 0
mov edx, dword [ebp - 0x344]
shl edx, 1
mov dword [ebp - 0x2f0], edx
mov dword [ebp - 0x358], 0
mov eax, dword [ebp - 0x1c0]
add eax, dword [ebp - 0x2f0]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x358]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x310], 0
mov edx, dword [ebp - 0x310]
add edx, 0xbc
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x344]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x368], 0
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0x328]
movzx eax, byte [edx]
add eax, dword [ebp - 0x368]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x354], 0
mov ecx, dword [ebp - 0x354]
add ecx, 0x2b
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x364], 0
fld qword [0x9f05a8]
fstp qword [ebp - 0x304]
fld qword [0x9f05a0]
fstp qword [ebp - 0x30c]
fld qword [0x9ee680]
fstp qword [ebp - 0x324]
fld qword [0x9f0598]
fstp qword [ebp - 0x33c]
fld qword [0x9f0590]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x304]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x304]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x33c]
fsub qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x33c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x304]
fsub qword [ebp - 0x2fc]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x304]
fcomp qword [ebp - 0x2fc]
fnstsw ax
test ah, 5
jp 0x506da9
fld qword [ebp - 0x2fc]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x30c]
fsub qword [ebp - 0x33c]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x304]
fdiv qword [ebp - 0x324]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x324]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x304]
fmul qword [ebp - 0x324]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x33c]
fmul qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x324]
fsub qword [ebp - 0x33c]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2fc]
fdiv qword [ebp - 0x304]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x324]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x30c]
fdiv qword [ebp - 0x324]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x2fc]
fcomp qword [ebp - 0x324]
fnstsw ax
test ah, 5
jp 0x506d4d
fld qword [ebp - 0x304]
fdiv qword [ebp - 0x324]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x33c]
fsub qword [ebp - 0x304]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x33c]
fsub qword [ebp - 0x304]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x324]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x33c]
fdiv qword [ebp - 0x304]
fstp qword [ebp - 0x33c]
jmp 0x506da7
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x324]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x33c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x33c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x304]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x33c]
fdiv qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
jmp 0x506e1b
fld qword [ebp - 0x324]
fadd qword [ebp - 0x33c]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x304]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x33c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x33c]
fld qword [ebp - 0x324]
fsub qword [ebp - 0x33c]
fstp qword [ebp - 0x324]
fld qword [ebp - 0x30c]
fmul qword [ebp - 0x324]
fstp qword [ebp - 0x30c]
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp - 0x310]
add edx, dword [ebp - 0x364]
mov dword [ebp - 0x364], edx
mov dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x368]
sub eax, dword [ebp - 0x354]
add eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x360], 0
mov ecx, dword [ebp - 0x364]
shl ecx, 4
mov dword [ebp - 0x360], ecx
mov dword [ebp - 0x350], 0
mov edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x330], 0
mov eax, dword [ebp - 0x360]
or eax, dword [ebp - 0x350]
mov dword [ebp - 0x330], eax
mov byte [ebp - 0x311], 0
mov cl, byte [ebp - 0x330]
mov byte [ebp - 0x311], cl
mov byte [ebp - 0x359], 0
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + edx - 0x2cc]
mov byte [ebp - 0x359], al
movzx ecx, byte [ebp - 0x2df]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx eax, byte [ebp - 0x1c5]
add eax, edx
mov byte [ebp - 0x1c5], al
mov cl, byte [ebp - 0x2df]
add cl, 1
mov byte [ebp - 0x2df], cl
movzx edx, byte [ebp - 0x1c5]
movzx eax, byte [ebp - 0x1b5]
mov cl, byte [ebp + edx - 0x2cc]
mov byte [ebp + eax - 0x2cc], cl
movzx edx, byte [ebp - 0x2d5]
movzx eax, byte [ebp - 0x1c5]
mov cl, byte [ebp + edx - 0x2cc]
mov byte [ebp + eax - 0x2cc], cl
movzx edx, byte [ebp - 0x2df]
movzx eax, byte [ebp - 0x2d5]
mov cl, byte [ebp + edx - 0x2cc]
mov byte [ebp + eax - 0x2cc], cl
movzx edx, byte [ebp - 0x2df]
mov al, byte [ebp - 0x359]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x359]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx eax, byte [ebp - 0x2cd]
add eax, edx
mov byte [ebp - 0x2cd], al
movzx ecx, byte [ebp - 0x311]
movzx edx, byte [ebp - 0x1c5]
movzx eax, byte [ebp + edx - 0x2cc]
movzx edx, byte [ebp - 0x2df]
movzx edx, byte [ebp + edx - 0x2cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2cc]
xor ecx, eax
movzx edx, byte [ebp - 0x2d5]
movzx eax, byte [ebp + edx - 0x2cc]
movzx edx, byte [ebp - 0x1b5]
movzx edx, byte [ebp + edx - 0x2cc]
add eax, edx
movzx edx, byte [ebp - 0x2cd]
movzx edx, byte [ebp + edx - 0x2cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp + eax - 0x2cc]
xor ecx, edx
mov byte [ebp - 0x2d5], cl
mov al, byte [ebp - 0x311]
mov byte [ebp - 0x1b5], al
mov cl, byte [ebp - 0x2d5]
mov byte [ebp - 0x349], cl
cmp dword [ebp - 0x344], 0
jle 0x50701e
mov edx, dword [ebp - 0x344]
mov al, byte [ebp - 0x349]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x340]
add ecx, 6
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x344]
add edx, 1
mov dword [ebp - 0x36c], edx
jmp 0x50704d
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
cmp ecx, dword [ebp - 0x340]
jge 0x5074ba
mov edx, dword [ebp - 0x344]
add edx, 1
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [ebp - 0x2f0]
movzx edx, byte [ecx]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x310], 0xbc
mov eax, dword [ebp - 0x344]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x328], ecx
fld dword [0x9f0588]
fstp dword [ebp - 0x37c]
fld dword [0x9f0584]
fstp dword [ebp - 0x378]
fld dword [0x9f0580]
fstp dword [ebp - 0x374]
fld dword [0x9ef6cc]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x374]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x370]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x370]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x370]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x374]
fld dword [ebp - 0x370]
fcompp
fnstsw ax
test ah, 5
jp 0x50719a
fld dword [ebp - 0x370]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x370]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x370]
fsub dword [ebp - 0x378]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x370]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x370]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0x328]
movzx eax, byte [edx]
mov dword [ebp - 0x368], eax
jmp 0x5072d1
fld dword [ebp - 0x370]
fdiv dword [ebp - 0x37c]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x370]
fsub dword [ebp - 0x37c]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x374]
fdiv dword [ebp - 0x370]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x374]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x370]
fdiv dword [ebp - 0x37c]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x378]
fdiv dword [ebp - 0x374]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x374]
fdiv dword [ebp - 0x370]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x374]
fsub dword [ebp - 0x370]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x374]
fld dword [ebp - 0x37c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x507289
fld dword [ebp - 0x378]
fsub dword [ebp - 0x370]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x374]
fadd dword [ebp - 0x37c]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x370]
fdiv dword [ebp - 0x378]
fstp dword [ebp - 0x370]
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x374]
fstp dword [ebp - 0x37c]
jmp 0x5072d1
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x374]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x37c]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x37c]
fld dword [ebp - 0x37c]
fsub dword [ebp - 0x378]
fstp dword [ebp - 0x37c]
mov dword [ebp - 0x354], 0x2b
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x310]
mov dword [ebp - 0x364], ecx
mov edx, dword [ebp - 0x368]
sub edx, dword [ebp - 0x354]
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x364]
shl eax, 4
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x360]
or edx, dword [ebp - 0x350]
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x311], al
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + ecx - 0x2cc]
mov byte [ebp - 0x359], dl
movzx eax, byte [ebp - 0x2df]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp - 0x1c5]
add edx, ecx
mov byte [ebp - 0x1c5], dl
mov al, byte [ebp - 0x2df]
add al, 1
mov byte [ebp - 0x2df], al
movzx ecx, byte [ebp - 0x1c5]
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2d5]
movzx edx, byte [ebp - 0x1c5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2df]
movzx edx, byte [ebp - 0x2d5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2df]
mov dl, byte [ebp - 0x359]
mov byte [ebp + ecx - 0x2cc], dl
movzx eax, byte [ebp - 0x359]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp - 0x2cd]
add edx, ecx
mov byte [ebp - 0x2cd], dl
movzx eax, byte [ebp - 0x311]
movzx ecx, byte [ebp - 0x1c5]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx ecx, byte [ebp - 0x2df]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2cc]
xor eax, edx
movzx ecx, byte [ebp - 0x2d5]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx ecx, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
movzx ecx, byte [ebp - 0x2cd]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2cc]
movzx ecx, byte [ebp + edx - 0x2cc]
xor eax, ecx
mov byte [ebp - 0x2d5], al
mov dl, byte [ebp - 0x311]
mov byte [ebp - 0x1b5], dl
mov al, byte [ebp - 0x2d5]
mov byte [ebp - 0x349], al
cmp dword [ebp - 0x344], 0
jle 0x5074b5
mov ecx, dword [ebp - 0x344]
mov dl, byte [ebp - 0x349]
mov byte [ebp + ecx - 0x31], dl
jmp 0x50703e
mov eax, dword [ebp - 0x340]
add eax, 1
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x340]
add ecx, 7
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x344]
add edx, 1
mov dword [ebp - 0x380], edx
jmp 0x5074f8
mov eax, dword [ebp - 0x380]
add eax, 1
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x380]
cmp ecx, dword [ebp - 0x340]
jge 0x507a55
mov edx, dword [ebp - 0x344]
add edx, 1
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [ebp - 0x2f0]
movzx edx, byte [ecx]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x310], 0xbc
mov eax, dword [ebp - 0x344]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x328], ecx
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0x328]
movzx eax, byte [edx]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x354], 0x2b
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x310]
mov dword [ebp - 0x364], ecx
mov edx, dword [ebp - 0x368]
sub edx, dword [ebp - 0x354]
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x364]
shl eax, 4
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x360]
or edx, dword [ebp - 0x350]
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x311], al
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + ecx - 0x2cc]
mov byte [ebp - 0x359], dl
fld qword [0x9f0578]
fstp qword [ebp - 0x39c]
fld qword [0x9f0570]
fstp qword [ebp - 0x38c]
fld qword [0x9ef218]
fstp qword [ebp - 0x3a4]
fld qword [0x9f0568]
fstp qword [ebp - 0x3b4]
fld qword [0x9f0560]
fstp qword [ebp - 0x3ac]
fld qword [0x9f0558]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x38c]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x394]
fcomp qword [ebp - 0x39c]
fnstsw ax
test ah, 5
jp 0x50774e
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3b4]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x3b4]
fsub qword [ebp - 0x3ac]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x38c]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3b4]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x3ac]
movzx eax, byte [ebp - 0x2df]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp - 0x1c5]
add edx, ecx
mov byte [ebp - 0x1c5], dl
mov al, byte [ebp - 0x2df]
add al, 1
mov byte [ebp - 0x2df], al
jmp 0x507913
fld qword [ebp - 0x394]
fdiv qword [ebp - 0x38c]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x3a4]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fdiv qword [ebp - 0x3a4]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x3b4]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x39c]
fadd qword [ebp - 0x3a4]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x3a4]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x3a4]
fdiv qword [ebp - 0x3ac]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x38c]
fadd qword [ebp - 0x3b4]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x3b4]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x394]
fcomp qword [ebp - 0x3b4]
fnstsw ax
test ah, 5
jp 0x5078a7
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3ac]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x3ac]
fadd qword [ebp - 0x39c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x3b4]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x394]
fadd qword [ebp - 0x38c]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x3a4]
fmul qword [ebp - 0x3ac]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x38c]
fsub qword [ebp - 0x3b4]
fstp qword [ebp - 0x38c]
jmp 0x507913
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x38c]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x394]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x38c]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x38c]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fdiv qword [ebp - 0x38c]
fstp qword [ebp - 0x39c]
movzx ecx, byte [ebp - 0x1c5]
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2d5]
movzx edx, byte [ebp - 0x1c5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2df]
movzx edx, byte [ebp - 0x2d5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2df]
mov dl, byte [ebp - 0x359]
mov byte [ebp + ecx - 0x2cc], dl
movzx eax, byte [ebp - 0x359]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp - 0x2cd]
add edx, ecx
mov byte [ebp - 0x2cd], dl
movzx eax, byte [ebp - 0x311]
movzx ecx, byte [ebp - 0x1c5]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx ecx, byte [ebp - 0x2df]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2cc]
xor eax, edx
movzx ecx, byte [ebp - 0x2d5]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx ecx, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
movzx ecx, byte [ebp - 0x2cd]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2cc]
movzx ecx, byte [ebp + edx - 0x2cc]
xor eax, ecx
mov byte [ebp - 0x2d5], al
mov dl, byte [ebp - 0x311]
mov byte [ebp - 0x1b5], dl
mov al, byte [ebp - 0x2d5]
mov byte [ebp - 0x349], al
cmp dword [ebp - 0x344], 0
jle 0x507a50
mov ecx, dword [ebp - 0x344]
mov dl, byte [ebp - 0x349]
mov byte [ebp + ecx - 0x31], dl
jmp 0x5074e9
mov eax, dword [ebp - 0x340]
add eax, 1
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x344]
add ecx, 1
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x340]
add edx, 1
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x344]
shl eax, 1
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [ebp - 0x2f0]
movzx edx, byte [ecx]
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x310], 0xbc
mov eax, dword [ebp - 0x344]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x328], ecx
fld dword [0x9f0550]
fstp dword [ebp - 0x348]
fld dword [0x9f054c]
fstp dword [ebp - 0x318]
fld dword [0x9f0548]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x318]
fmul dword [ebp - 0x32c]
fstp dword [ebp - 0x318]
fld dword [ebp - 0x318]
fmul dword [ebp - 0x32c]
fstp dword [ebp - 0x318]
fld dword [ebp - 0x348]
fmul dword [ebp - 0x32c]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x318]
fld dword [ebp - 0x32c]
fcompp
fnstsw ax
test ah, 5
jp 0x507b7e
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x348]
fsub dword [ebp - 0x318]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x318]
fmul dword [ebp - 0x32c]
fstp dword [ebp - 0x318]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0x328]
movzx eax, byte [edx]
mov dword [ebp - 0x368], eax
jmp 0x507c6d
fld dword [ebp - 0x348]
fsub dword [ebp - 0x318]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x32c]
fdiv dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x348]
fsub dword [ebp - 0x318]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x32c]
fadd dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x32c]
fdiv dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x32c]
fld dword [ebp - 0x318]
fcompp
fnstsw ax
test ah, 5
jp 0x507c37
fld dword [ebp - 0x348]
fadd dword [ebp - 0x318]
fstp dword [ebp - 0x348]
fld dword [ebp - 0x32c]
fadd dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x318]
fadd dword [ebp - 0x32c]
fstp dword [ebp - 0x318]
jmp 0x507c6d
fld dword [ebp - 0x32c]
fsub dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x32c]
fmul dword [ebp - 0x348]
fstp dword [ebp - 0x32c]
fld dword [ebp - 0x318]
fsub dword [ebp - 0x32c]
fstp dword [ebp - 0x318]
mov dword [ebp - 0x354], 0x2b
mov ecx, dword [ebp - 0x358]
sub ecx, dword [ebp - 0x310]
mov dword [ebp - 0x364], ecx
mov edx, dword [ebp - 0x368]
sub edx, dword [ebp - 0x354]
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x364]
shl eax, 4
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x360]
or edx, dword [ebp - 0x350]
mov dword [ebp - 0x330], edx
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x311], al
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + ecx - 0x2cc]
mov byte [ebp - 0x359], dl
movzx eax, byte [ebp - 0x2df]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp - 0x1c5]
add edx, ecx
mov byte [ebp - 0x1c5], dl
mov al, byte [ebp - 0x2df]
add al, 1
mov byte [ebp - 0x2df], al
movzx ecx, byte [ebp - 0x1c5]
movzx edx, byte [ebp - 0x1b5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2d5]
movzx edx, byte [ebp - 0x1c5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2df]
movzx edx, byte [ebp - 0x2d5]
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
movzx ecx, byte [ebp - 0x2df]
mov dl, byte [ebp - 0x359]
mov byte [ebp + ecx - 0x2cc], dl
movzx eax, byte [ebp - 0x359]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx edx, byte [ebp - 0x2cd]
add edx, ecx
mov byte [ebp - 0x2cd], dl
movzx eax, byte [ebp - 0x311]
movzx ecx, byte [ebp - 0x1c5]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx ecx, byte [ebp - 0x2df]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2cc]
xor eax, edx
movzx ecx, byte [ebp - 0x2d5]
movzx edx, byte [ebp + ecx - 0x2cc]
movzx ecx, byte [ebp - 0x1b5]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
movzx ecx, byte [ebp - 0x2cd]
movzx ecx, byte [ebp + ecx - 0x2cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2cc]
movzx ecx, byte [ebp + edx - 0x2cc]
xor eax, ecx
mov byte [ebp - 0x2d5], al
mov dl, byte [ebp - 0x311]
mov byte [ebp - 0x1b5], dl
mov al, byte [ebp - 0x2d5]
mov byte [ebp - 0x349], al
cmp dword [ebp - 0x344], 0
jle 0x507e51
mov ecx, dword [ebp - 0x344]
mov dl, byte [ebp - 0x349]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x344]
add eax, 1
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x340]
add ecx, 1
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x344]
shl edx, 1
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x1c0]
add eax, dword [ebp - 0x2f0]
movzx ecx, byte [eax]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x310], 0xbc
mov edx, dword [ebp - 0x344]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [ebp - 0x328]
movzx edx, byte [ecx]
mov dword [ebp - 0x368], edx
mov dword [ebp - 0x354], 0x2b
mov eax, dword [ebp - 0x358]
sub eax, dword [ebp - 0x310]
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x368]
sub ecx, dword [ebp - 0x354]
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x364]
shl edx, 4
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x360]
or ecx, dword [ebp - 0x350]
mov dword [ebp - 0x330], ecx
mov dl, byte [ebp - 0x330]
mov byte [ebp - 0x311], dl
movzx eax, byte [ebp - 0x1b5]
mov cl, byte [ebp + eax - 0x2cc]
mov byte [ebp - 0x359], cl
movzx edx, byte [ebp - 0x2df]
movzx eax, byte [ebp + edx - 0x2cc]
movzx ecx, byte [ebp - 0x1c5]
add ecx, eax
mov byte [ebp - 0x1c5], cl
mov dl, byte [ebp - 0x2df]
add dl, 1
mov byte [ebp - 0x2df], dl
movzx eax, byte [ebp - 0x1c5]
movzx ecx, byte [ebp - 0x1b5]
mov dl, byte [ebp + eax - 0x2cc]
mov byte [ebp + ecx - 0x2cc], dl
movzx eax, byte [ebp - 0x2d5]
movzx ecx, byte [ebp - 0x1c5]
mov dl, byte [ebp + eax - 0x2cc]
mov byte [ebp + ecx - 0x2cc], dl
movzx eax, byte [ebp - 0x2df]
movzx ecx, byte [ebp - 0x2d5]
mov dl, byte [ebp + eax - 0x2cc]
mov byte [ebp + ecx - 0x2cc], dl
movzx eax, byte [ebp - 0x2df]
mov cl, byte [ebp - 0x359]
mov byte [ebp + eax - 0x2cc], cl
movzx edx, byte [ebp - 0x359]
movzx eax, byte [ebp + edx - 0x2cc]
movzx ecx, byte [ebp - 0x2cd]
add ecx, eax
mov byte [ebp - 0x2cd], cl
movzx edx, byte [ebp - 0x311]
movzx eax, byte [ebp - 0x1c5]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx eax, byte [ebp - 0x2df]
movzx eax, byte [ebp + eax - 0x2cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2cc]
xor edx, ecx
movzx eax, byte [ebp - 0x2d5]
movzx ecx, byte [ebp + eax - 0x2cc]
movzx eax, byte [ebp - 0x1b5]
movzx eax, byte [ebp + eax - 0x2cc]
add ecx, eax
movzx eax, byte [ebp - 0x2cd]
movzx eax, byte [ebp + eax - 0x2cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2cc]
movzx eax, byte [ebp + ecx - 0x2cc]
xor edx, eax
mov byte [ebp - 0x2d5], dl
mov cl, byte [ebp - 0x311]
mov byte [ebp - 0x1b5], cl
mov dl, byte [ebp - 0x2d5]
mov byte [ebp - 0x349], dl
cmp dword [ebp - 0x344], 0
jle 0x5080a6
mov eax, dword [ebp - 0x344]
mov cl, byte [ebp - 0x349]
mov byte [ebp + eax - 0x31], cl
mov byte [ebp - 0x21], 0
jmp 0x5080dd
mov dword [ebp - 0x3b8], 0
jmp 0x5080c7
mov edx, dword [ebp - 0x3b8]
add edx, 1
mov dword [ebp - 0x3b8], edx
cmp dword [ebp - 0x3b8], 0x10
jge 0x5080dd
mov eax, dword [ebp - 0x3b8]
mov byte [ebp + eax - 0x30], 0
jmp 0x5080b8
lea ecx, [ebp - 0x30]
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 0x5080f2
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 0x50813d
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]
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x4c0], eax
mov ecx, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x4c0]
mov al, byte [edx]
mov byte [ebp - 0x4c5], al
add dword [ebp - 0x4c0], 1
cmp byte [ebp - 0x4c5], 0
jne 0x508194
mov ecx, dword [ebp - 0x4c0]
sub ecx, dword [ebp - 0x4c4]
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4cc], edx
mov dword [ebp - 0x4d0], ecx
lea eax, [ebp - 0x164]
add eax, 0xffffffff
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x4d5], dl
add dword [ebp - 0x4d4], 1
cmp byte [ebp - 0x4d5], 0
jne 0x5081df
mov edi, dword [ebp - 0x4d4]
mov esi, dword [ebp - 0x4cc]
mov eax, dword [ebp - 0x4d0]
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 - 0x454]
mov eax, dword [edx + 0xdc]
call eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x508253
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x5083e8
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 - 0x454]
mov edx, dword [ecx + 0xcc]
call edx
test eax, eax
jne 0x5082c7
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 0x5083e8
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.00981a57
add esp, 4
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x14]
push ecx
push 0
mov edx, dword [ebp - 0x48]
push edx
call fcn.00981700
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 - 0x454]
mov eax, dword [edx + 0xcc]
call eax
test eax, eax
jne 0x50835c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3c0]
push edx
call fcn.00981a41
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x5083e8
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 0x5083c3
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x3dc]
call fcn.0049c6b0
mov dword [ebp - 0x4dc], eax
mov edx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x4e0]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004f2860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3dc]
call fcn.004bae00
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3e0]
push edx
call fcn.00981a41
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