Function at 0x4fc850
Capabilities:
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9cc67b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x538
push esi
push edi
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x34], 0
push 0x9d0971
mov ecx, dword [ebp + 0xc]
call fcn.00475fa0
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.00964670
add esp, 0xc
push 0xa
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0096664a
add esp, 0xc
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
mov al, byte [edx + 1]
mov byte [ebp - 0x4bd], al
add dword [ebp - 0x4bc], 1
cmp byte [ebp - 0x4bd], 0
jne 0x4fc90a
mov edi, dword [ebp - 0x4bc]
mov cx, word [0x9d3120]
mov word [edi], cx
mov dl, byte [0x9d3122]
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 0x4fc96d
fld qword [ebp - 0x3c]
fadd qword [0x9cf918]
fstp qword [ebp - 0x3c]
fld qword [0x9d3118]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x4fc9cc
fld qword [0x9d3110]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9d0ad0]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9d3108]
fdivp st(1)
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x44]
fld qword [0x9d3100]
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 5
jp 0x4fc9ca
fld qword [0x9d30f8]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x44]
fstp qword [ebp - 0x44]
jmp 0x4fc961
fldz
fcomp qword [ebp - 0x44]
fnstsw ax
test ah, 0x41
jne 0x4fca0e
pop ecx
xor byte [ecx + 0x35], bl
push edi
pop ebp
xor byte [edi + 0x36], dl
push ecx
xor bl, byte [ebx + 0x32]
pop esp
cmp eax, 0x31573d50
dec edi
cmp byte [ecx + 0x2f], dl
push ebx
cmp cl, byte [edi + 0x37]
push ecx
cmp dword [ecx + 0x35], ebx
inc eax
sub ebp, dword [0x4f3a3537]
cmp al, 0x7c
aaa
cmp dword [esi + 0x6a], esp
xor ebx, dword [edx + 0x7a]
aas
jmp 0x4feea2
mov dword [ebp - 0x60], 0x4fc9d8
mov dword [ebp - 0x4c], 0x4fc9f8
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x194], ecx
mov byte [ebp - 0x2b5], 0x15
mov dword [ebp - 0x2ac], 0
jmp 0x4fca50
mov edx, dword [ebp - 0x2ac]
add edx, 1
mov dword [ebp - 0x2ac], edx
cmp dword [ebp - 0x2ac], 0x100
jae 0x4fca71
mov eax, dword [ebp - 0x2ac]
mov cl, byte [ebp - 0x2ac]
mov byte [ebp + eax - 0x2a4], cl
jmp 0x4fca41
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x2b6], 0
mov dword [ebp - 0x2ac], 0xff
jmp 0x4fca9d
mov edx, dword [ebp - 0x2ac]
sub edx, 1
mov dword [ebp - 0x2ac], edx
cmp dword [ebp - 0x2ac], 0
jbe 0x4fcda9
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2ac]
jae 0x4fcade
mov ecx, dword [ebp - 0x2c4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x2c4], edx
jmp 0x4fcabe
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 3
ja case.default.0x4fcafd
mov ecx, dword [ebp - 0x4c4]
jmp dword [ecx*4 + 0x4ff1c0]
movzx edx, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + edx - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4c6]
movzx eax, word [ebp - 0x4c6]
or eax, 0xc00
mov dword [ebp - 0x4cc], eax
fldcw word [ebp - 0x4cc]
fistp qword [ebp - 0x4d4]
fldcw word [ebp - 0x4c6]
mov edx, dword [ebp - 0x4d4]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4fcc82
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4d6]
movzx eax, word [ebp - 0x4d6]
or eax, 0xc00
mov dword [ebp - 0x4dc], eax
fldcw word [ebp - 0x4dc]
fistp qword [ebp - 0x4e4]
fldcw word [ebp - 0x4d6]
mov edx, dword [ebp - 0x4e4]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4fcc82
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4e6]
movzx eax, word [ebp - 0x4e6]
or eax, 0xc00
mov dword [ebp - 0x4ec], eax
fldcw word [ebp - 0x4ec]
fistp qword [ebp - 0x4f4]
fldcw word [ebp - 0x4e6]
mov edx, dword [ebp - 0x4f4]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4fcc82
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
fld qword [ebp - 0x44]
fnstcw word [ebp - 0x4f6]
movzx eax, word [ebp - 0x4f6]
or eax, 0xc00
mov dword [ebp - 0x4fc], eax
fldcw word [ebp - 0x4fc]
fistp qword [ebp - 0x504]
fldcw word [ebp - 0x4f6]
mov edx, dword [ebp - 0x504]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x2b6], cl
jmp 0x4fcc82
movzx eax, byte [ebp - 0x2b6]
movzx ecx, byte [ebp + eax - 0x2a4]
mov edx, dword [ebp - 0x194]
add edx, dword [ebp - 0x19c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x2b6], cl
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
movzx edx, byte [ebp - 0x2b5]
cmp dword [ebp - 0x19c], edx
jb 0x4fccc0
mov dword [ebp - 0x19c], 0
movzx eax, byte [ebp - 0x2b5]
movzx ecx, byte [ebp - 0x2b6]
add ecx, eax
mov byte [ebp - 0x2b6], cl
movzx edx, byte [ebp - 0x2b6]
and edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x2c0], edx
mov eax, dword [ebp - 0x2bc]
add eax, 1
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0xb
jbe 0x4fccff
mov eax, dword [ebp - 0x2c0]
xor edx, edx
div dword [ebp - 0x2ac]
mov dword [ebp - 0x2c0], edx
mov ecx, dword [ebp - 0x2c0]
cmp ecx, dword [ebp - 0x2ac]
ja 0x4fcade
mov edx, dword [ebp - 0x2ac]
cmp edx, dword [ebp - 0x2c0]
je 0x4fcda4
mov eax, dword [ebp - 0x2c0]
movzx ecx, byte [ebp + eax - 0x2a4]
mov edx, dword [ebp - 0x2ac]
movzx eax, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov ecx, dword [ebp - 0x2ac]
mov byte [ebp + ecx - 0x2a4], al
mov edx, dword [ebp - 0x2ac]
movzx eax, byte [ebp + edx - 0x2a4]
mov ecx, dword [ebp - 0x2c0]
movzx edx, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov eax, dword [ebp - 0x2c0]
mov byte [ebp + eax - 0x2a4], dl
mov ecx, dword [ebp - 0x2c0]
movzx edx, byte [ebp + ecx - 0x2a4]
mov eax, dword [ebp - 0x2ac]
movzx ecx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov edx, dword [ebp - 0x2ac]
mov byte [ebp + edx - 0x2a4], cl
jmp 0x4fca8e
mov al, byte [ebp - 0x2a3]
mov byte [ebp - 0x2b7], al
mov cl, byte [ebp - 0x2a1]
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x29f]
mov byte [ebp - 0x2a5], dl
mov al, byte [ebp - 0x29d]
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2b6]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x18d], dl
mov dword [ebp - 0x2b4], 0x20
cmp dword [ebp - 0x2b4], 2
jle 0x4fee71
mov eax, dword [ebp - 0x2b4]
and eax, 1
jne 0x4fee71
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x36c], 0
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x2e0], 0
mov edx, dword [ebp - 0x370]
shl edx, 1
mov dword [ebp - 0x2e0], edx
mov dword [ebp - 0x388], 0
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e0]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x388]
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x318]
add edx, 0x4f
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x358], 0
mov eax, dword [ebp - 0x370]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x3d0], 0
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x358]
movzx eax, byte [edx]
add eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x384], 0
mov ecx, dword [ebp - 0x384]
add ecx, 0x2e
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x3cc], 0
mov edx, dword [ebp - 0x388]
sub edx, dword [ebp - 0x318]
add edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3cc], edx
mov dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x3d0]
sub eax, dword [ebp - 0x384]
add eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x3c8], 0
mov ecx, dword [ebp - 0x3cc]
shl ecx, 4
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x380], 0
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], edx
mov dword [ebp - 0x368], 0
mov eax, dword [ebp - 0x3c8]
or eax, dword [ebp - 0x380]
mov dword [ebp - 0x368], eax
mov byte [ebp - 0x335], 0
fld qword [0x9d30f0]
fstp qword [ebp - 0x3a4]
fld qword [0x9d30e8]
fstp qword [ebp - 0x3c4]
fld qword [0x9d30e0]
fstp qword [ebp - 0x30c]
fld qword [0x9d30d8]
fstp qword [ebp - 0x39c]
fld qword [0x9d30d0]
fstp qword [ebp - 0x354]
fld qword [0x9d30c8]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x354]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x354]
fld qword [ebp - 0x30c]
fsub qword [ebp - 0x2fc]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x3c4]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x2fc]
fcomp qword [ebp - 0x39c]
fnstsw ax
test ah, 0x41
jne 0x4fd20c
fld qword [ebp - 0x3c4]
fsub qword [ebp - 0x30c]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x39c]
fadd qword [ebp - 0x354]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3c4]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x30c]
fmul qword [ebp - 0x39c]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x3a4]
fmul qword [ebp - 0x3c4]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3c4]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x354]
fmul qword [ebp - 0x3a4]
fstp qword [ebp - 0x354]
fld qword [ebp - 0x30c]
fdiv qword [ebp - 0x354]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x39c]
fdiv qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x2fc]
fsub qword [ebp - 0x3c4]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x30c]
fadd qword [ebp - 0x354]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x39c]
fdiv qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fcomp qword [ebp - 0x3c4]
fnstsw ax
test ah, 5
jp 0x4fd19e
fld qword [ebp - 0x2fc]
fsub qword [ebp - 0x3a4]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x3c4]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x354]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3c4]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x2fc]
fdiv qword [ebp - 0x3a4]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x3c4]
fmul qword [ebp - 0x30c]
fstp qword [ebp - 0x3c4]
jmp 0x4fd20a
fld qword [ebp - 0x3c4]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x2fc]
fadd qword [ebp - 0x3c4]
fstp qword [ebp - 0x2fc]
fld qword [ebp - 0x39c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x354]
fadd qword [ebp - 0x3a4]
fstp qword [ebp - 0x354]
fld qword [ebp - 0x39c]
fadd qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
jmp 0x4fd284
fld qword [ebp - 0x30c]
fmul qword [ebp - 0x354]
fstp qword [ebp - 0x30c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3c4]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3c4]
fmul qword [ebp - 0x39c]
fstp qword [ebp - 0x3c4]
fld qword [ebp - 0x3a4]
fadd qword [ebp - 0x30c]
fstp qword [ebp - 0x3a4]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x2fc]
fstp qword [ebp - 0x39c]
mov cl, byte [ebp - 0x368]
mov byte [ebp - 0x335], cl
mov byte [ebp - 0x3b5], 0
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x3b5], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x3b5]
mov byte [ebp + edx - 0x2a4], al
fld qword [0x9d30c0]
fstp qword [ebp - 0x2f4]
fld qword [0x9d30b8]
fstp qword [ebp - 0x2dc]
fld qword [0x9d30b0]
fstp qword [ebp - 0x334]
fld qword [0x9d30a8]
fstp qword [ebp - 0x34c]
fld qword [0x9d30a0]
fstp qword [ebp - 0x3b4]
fld qword [0x9d3098]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x3b4]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x2dc]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x2f4]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x2f4]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x334]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x334]
fld qword [ebp - 0x3b4]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x394]
fcomp qword [ebp - 0x2f4]
fnstsw ax
test ah, 5
jp 0x4fd48e
fld qword [ebp - 0x2dc]
fsub qword [ebp - 0x334]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x2dc]
fadd qword [ebp - 0x334]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x2f4]
fmul qword [ebp - 0x2dc]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x394]
fsub qword [ebp - 0x2f4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x3b4]
fmul qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x3b4]
fsub qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
movzx ecx, byte [ebp - 0x3b5]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
jmp 0x4fd653
fld qword [ebp - 0x2dc]
fsub qword [ebp - 0x334]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x394]
fadd qword [ebp - 0x2f4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fadd qword [ebp - 0x2f4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x3b4]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x334]
fadd qword [ebp - 0x34c]
fstp qword [ebp - 0x334]
fld qword [ebp - 0x2dc]
fadd qword [ebp - 0x334]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x394]
fdiv qword [ebp - 0x2dc]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x3b4]
fsub qword [ebp - 0x2f4]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x334]
fdiv qword [ebp - 0x3b4]
fstp qword [ebp - 0x334]
fld qword [ebp - 0x34c]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x2dc]
fadd qword [ebp - 0x34c]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x2f4]
fsub qword [ebp - 0x334]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x2dc]
fcomp qword [ebp - 0x394]
fnstsw ax
test ah, 5
jp 0x4fd5e7
fld qword [ebp - 0x334]
fmul qword [ebp - 0x34c]
fstp qword [ebp - 0x334]
fld qword [ebp - 0x2f4]
fdiv qword [ebp - 0x2dc]
fstp qword [ebp - 0x2f4]
fld qword [ebp - 0x3b4]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x34c]
fsub qword [ebp - 0x3b4]
fstp qword [ebp - 0x34c]
fld qword [ebp - 0x394]
fadd qword [ebp - 0x2f4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x3b4]
fstp qword [ebp - 0x34c]
jmp 0x4fd653
fld qword [ebp - 0x3b4]
fadd qword [ebp - 0x394]
fstp qword [ebp - 0x3b4]
fld qword [ebp - 0x394]
fadd qword [ebp - 0x2f4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x394]
fsub qword [ebp - 0x2f4]
fstp qword [ebp - 0x394]
fld qword [ebp - 0x2dc]
fmul qword [ebp - 0x334]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x2dc]
fdiv qword [ebp - 0x334]
fstp qword [ebp - 0x2dc]
fld qword [ebp - 0x34c]
fmul qword [ebp - 0x3b4]
fstp qword [ebp - 0x34c]
movzx ecx, byte [ebp - 0x335]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x335]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], cl
cmp dword [ebp - 0x370], 0
jle 0x4fd708
mov edx, dword [ebp - 0x370]
mov al, byte [ebp - 0x379]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x370]
add ecx, 1
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
shl eax, 1
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x2e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x318], 0x4f
mov eax, dword [ebp - 0x370]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x358]
movzx eax, byte [edx]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x384], 0x2e
mov ecx, dword [ebp - 0x388]
sub ecx, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3d0]
sub edx, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x3cc]
shl eax, 4
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], ecx
fld qword [0x9d3090]
fstp qword [ebp - 0x314]
fld qword [0x9d3088]
fstp qword [ebp - 0x364]
fld qword [0x9d3080]
fstp qword [ebp - 0x304]
fld qword [0x9d3078]
fstp qword [ebp - 0x3ac]
fld qword [0x9d3070]
fstp qword [ebp - 0x344]
fld qword [0x9d3068]
fstp qword [ebp - 0x32c]
fld qword [0x9d3060]
fstp qword [ebp - 0x2d4]
fld qword [ebp - 0x314]
fadd qword [ebp - 0x2d4]
fstp qword [ebp - 0x314]
fld qword [ebp - 0x314]
fadd qword [ebp - 0x2d4]
fstp qword [ebp - 0x314]
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x304]
fsub qword [ebp - 0x2d4]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x344]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x2d4]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x32c]
fsub qword [ebp - 0x2d4]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x3ac]
fcomp qword [ebp - 0x32c]
fnstsw ax
test ah, 0x41
jne 0x4fd93c
fld qword [ebp - 0x3ac]
fsub qword [ebp - 0x32c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x344]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x344]
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x32c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x32c]
fsub qword [ebp - 0x314]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x32c]
fstp qword [ebp - 0x3ac]
fld qword [ebp - 0x32c]
fmul qword [ebp - 0x314]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x304]
fsub qword [ebp - 0x344]
fstp qword [ebp - 0x304]
mov edx, dword [ebp - 0x3c8]
or edx, dword [ebp - 0x380]
mov dword [ebp - 0x368], edx
jmp 0x4fd9ba
fld qword [ebp - 0x364]
fdiv qword [ebp - 0x304]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x304]
fsub qword [ebp - 0x3ac]
fstp qword [ebp - 0x304]
fld qword [ebp - 0x32c]
fdiv qword [ebp - 0x2d4]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x32c]
fmul qword [ebp - 0x2d4]
fstp qword [ebp - 0x32c]
fld qword [ebp - 0x2d4]
fadd qword [ebp - 0x314]
fstp qword [ebp - 0x2d4]
fld qword [ebp - 0x364]
fsub qword [ebp - 0x304]
fstp qword [ebp - 0x364]
fld qword [ebp - 0x3ac]
fmul qword [ebp - 0x344]
fstp qword [ebp - 0x3ac]
mov al, byte [ebp - 0x368]
mov byte [ebp - 0x335], al
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x3b5], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x19d]
add edx, ecx
mov byte [ebp - 0x19d], dl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], al
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp - 0x19d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
mov dl, byte [ebp - 0x3b5]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x3b5]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x2a5]
add edx, ecx
mov byte [ebp - 0x2a5], dl
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
xor eax, edx
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x18d]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
movzx ecx, byte [ebp - 0x2a5]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2ad], al
mov dl, byte [ebp - 0x335]
mov byte [ebp - 0x18d], dl
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], al
cmp dword [ebp - 0x370], 0
jle 0x4fdb43
mov ecx, dword [ebp - 0x370]
mov dl, byte [ebp - 0x379]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x36c]
add eax, 5
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
add ecx, 1
mov dword [ebp - 0x3d4], ecx
jmp 0x4fdb72
mov edx, dword [ebp - 0x3d4]
add edx, 1
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [ebp - 0x36c]
jge 0x4fddcf
mov ecx, dword [ebp - 0x370]
add ecx, 1
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x370]
shl edx, 1
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e0]
movzx ecx, byte [eax]
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x318], 0x4f
mov edx, dword [ebp - 0x370]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x358]
movzx edx, byte [ecx]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x384], 0x2e
mov eax, dword [ebp - 0x388]
sub eax, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x3d0]
sub ecx, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x3cc]
shl edx, 4
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x3c8]
or ecx, dword [ebp - 0x380]
mov dword [ebp - 0x368], ecx
mov dl, byte [ebp - 0x368]
mov byte [ebp - 0x335], dl
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b5], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x2b7]
add dl, 1
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x3b5]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x3b5]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor edx, ecx
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x18d]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
movzx eax, byte [ebp - 0x2a5]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov byte [ebp - 0x2ad], dl
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x18d], cl
mov dl, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], dl
cmp dword [ebp - 0x370], 0
jle 0x4fddca
mov eax, dword [ebp - 0x370]
mov cl, byte [ebp - 0x379]
mov byte [ebp + eax - 0x31], cl
jmp 0x4fdb63
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
add eax, 1
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x370]
shl edx, 1
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e0]
movzx ecx, byte [eax]
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x318], 0x4f
mov edx, dword [ebp - 0x370]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x358]
movzx edx, byte [ecx]
mov dword [ebp - 0x3d0], edx
fld dword [0x9d3058]
fstp dword [ebp - 0x2c8]
fld dword [0x9d3054]
fstp dword [ebp - 0x320]
fld dword [0x9d3050]
fstp dword [ebp - 0x33c]
fld dword [0x9d304c]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x320]
fsub dword [ebp - 0x374]
fstp dword [ebp - 0x320]
fld dword [ebp - 0x33c]
fadd dword [ebp - 0x374]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x33c]
fsub dword [ebp - 0x374]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x320]
fadd dword [ebp - 0x374]
fstp dword [ebp - 0x320]
fld dword [ebp - 0x374]
fld dword [ebp - 0x2c8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4fdf2f
fld dword [ebp - 0x33c]
fadd dword [ebp - 0x374]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x374]
fadd dword [ebp - 0x2c8]
fstp dword [ebp - 0x374]
fld dword [ebp - 0x33c]
fadd dword [ebp - 0x374]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x320]
fsub dword [ebp - 0x33c]
fstp dword [ebp - 0x320]
mov dword [ebp - 0x384], 0x2e
jmp 0x4fdf77
fld dword [ebp - 0x320]
fsub dword [ebp - 0x33c]
fstp dword [ebp - 0x320]
fld dword [ebp - 0x33c]
fadd dword [ebp - 0x374]
fstp dword [ebp - 0x33c]
fld dword [ebp - 0x320]
fadd dword [ebp - 0x33c]
fstp dword [ebp - 0x320]
fld dword [ebp - 0x2c8]
fadd dword [ebp - 0x320]
fstp dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x388]
sub eax, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x3d0]
sub ecx, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x3cc]
shl edx, 4
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x3c8]
or ecx, dword [ebp - 0x380]
mov dword [ebp - 0x368], ecx
mov dl, byte [ebp - 0x368]
mov byte [ebp - 0x335], dl
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b5], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x2b7]
add dl, 1
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x3b5]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x3b5]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor edx, ecx
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x18d]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
movzx eax, byte [ebp - 0x2a5]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov byte [ebp - 0x2ad], dl
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x18d], cl
mov dl, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], dl
cmp dword [ebp - 0x370], 0
jle 0x4fe152
mov eax, dword [ebp - 0x370]
mov cl, byte [ebp - 0x379]
mov byte [ebp + eax - 0x31], cl
mov edx, dword [ebp - 0x370]
add edx, 1
mov dword [ebp - 0x370], edx
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
shl ecx, 1
mov dword [ebp - 0x2e0], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x2e0]
movzx eax, byte [edx]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x318], 0x4f
fld dword [0x9d3048]
fstp dword [ebp - 0x2e4]
fld dword [0x9d3044]
fstp dword [ebp - 0x378]
fld dword [0x9d3040]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x2e4]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x378]
fmul dword [ebp - 0x31c]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x31c]
fld dword [ebp - 0x378]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4fe257
fld dword [ebp - 0x31c]
fmul dword [ebp - 0x2e4]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x31c]
fmul dword [ebp - 0x2e4]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x31c]
fmul dword [ebp - 0x2e4]
fstp dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x370]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x358], edx
jmp 0x4fe346
fld dword [ebp - 0x2e4]
fdiv dword [ebp - 0x31c]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x378]
fsub dword [ebp - 0x2e4]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x31c]
fsub dword [ebp - 0x378]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x378]
fadd dword [ebp - 0x31c]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x2e4]
fadd dword [ebp - 0x378]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x31c]
fsub dword [ebp - 0x2e4]
fstp dword [ebp - 0x31c]
fld dword [ebp - 0x2e4]
fld dword [ebp - 0x31c]
fcompp
fnstsw ax
test ah, 5
jp 0x4fe310
fld dword [ebp - 0x2e4]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x2e4]
fadd dword [ebp - 0x31c]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x31c]
fdiv dword [ebp - 0x378]
fstp dword [ebp - 0x31c]
jmp 0x4fe346
fld dword [ebp - 0x378]
fmul dword [ebp - 0x2e4]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x2e4]
fsub dword [ebp - 0x31c]
fstp dword [ebp - 0x2e4]
fld dword [ebp - 0x2e4]
fdiv dword [ebp - 0x31c]
fstp dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x358]
movzx ecx, byte [eax]
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x384], 0x2e
mov edx, dword [ebp - 0x388]
sub edx, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], edx
mov eax, dword [ebp - 0x3d0]
sub eax, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x3cc]
shl ecx, 4
mov dword [ebp - 0x3c8], ecx
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x3c8]
or eax, dword [ebp - 0x380]
mov dword [ebp - 0x368], eax
mov cl, byte [ebp - 0x368]
mov byte [ebp - 0x335], cl
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + edx - 0x2a4]
mov byte [ebp - 0x3b5], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x19d]
add eax, edx
mov byte [ebp - 0x19d], al
mov cl, byte [ebp - 0x2b7]
add cl, 1
mov byte [ebp - 0x2b7], cl
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp - 0x19d]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x2a4]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x2b7]
mov al, byte [ebp - 0x3b5]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x3b5]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp - 0x2a5]
add eax, edx
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x335]
movzx edx, byte [ebp - 0x19d]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x2b7]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
xor ecx, eax
movzx edx, byte [ebp - 0x2ad]
movzx eax, byte [ebp + edx - 0x2a4]
movzx edx, byte [ebp - 0x18d]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
movzx edx, byte [ebp - 0x2a5]
movzx edx, byte [ebp + edx - 0x2a4]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp + eax - 0x2a4]
xor ecx, edx
mov byte [ebp - 0x2ad], cl
mov al, byte [ebp - 0x335]
mov byte [ebp - 0x18d], al
mov cl, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], cl
cmp dword [ebp - 0x370], 0
jle 0x4fe53e
mov edx, dword [ebp - 0x370]
mov al, byte [ebp - 0x379]
mov byte [ebp + edx - 0x31], al
mov ecx, dword [ebp - 0x36c]
add ecx, 5
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x370]
add edx, 1
mov dword [ebp - 0x3d8], edx
jmp 0x4fe56d
mov eax, dword [ebp - 0x3d8]
add eax, 1
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3d8]
cmp ecx, dword [ebp - 0x36c]
jge 0x4fe9b3
mov edx, dword [ebp - 0x370]
add edx, 1
mov dword [ebp - 0x370], edx
mov eax, dword [ebp - 0x370]
shl eax, 1
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x2e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x318], 0x4f
mov eax, dword [ebp - 0x370]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x358]
movzx eax, byte [edx]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x384], 0x2e
mov ecx, dword [ebp - 0x388]
sub ecx, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3d0]
sub edx, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x3cc]
shl eax, 4
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x3c8]
or edx, dword [ebp - 0x380]
mov dword [ebp - 0x368], edx
mov al, byte [ebp - 0x368]
mov byte [ebp - 0x335], al
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x3b5], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x19d]
add edx, ecx
mov byte [ebp - 0x19d], dl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], al
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp - 0x19d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
fld qword [0x9d3038]
fstp qword [ebp - 0x40c]
fld qword [0x9d3030]
fstp qword [ebp - 0x3fc]
fld qword [0x9d3028]
fstp qword [ebp - 0x414]
fld qword [0x9d3020]
fstp qword [ebp - 0x404]
fld qword [0x9d3018]
fstp qword [ebp - 0x3ec]
fld qword [0x9d3010]
fstp qword [ebp - 0x3f4]
fld qword [0x9d3008]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x404]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x404]
fadd qword [ebp - 0x3e4]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x40c]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x40c]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3fc]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x3e4]
fcomp qword [ebp - 0x40c]
fnstsw ax
test ah, 0x41
jne 0x4fe847
fld qword [ebp - 0x3ec]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3fc]
fdiv qword [ebp - 0x404]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x3ec]
fdiv qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x404]
fdiv qword [ebp - 0x3f4]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x3fc]
fsub qword [ebp - 0x404]
fstp qword [ebp - 0x3fc]
fld qword [ebp - 0x3e4]
fdiv qword [ebp - 0x3fc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3fc]
fmul qword [ebp - 0x404]
fstp qword [ebp - 0x3fc]
jmp 0x4fe8d9
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x404]
fmul qword [ebp - 0x3f4]
fstp qword [ebp - 0x404]
fld qword [ebp - 0x3e4]
fadd qword [ebp - 0x3fc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x414]
fmul qword [ebp - 0x3ec]
fstp qword [ebp - 0x414]
fld qword [ebp - 0x40c]
fadd qword [ebp - 0x414]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3e4]
fsub qword [ebp - 0x3fc]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x3fc]
fadd qword [ebp - 0x404]
fstp qword [ebp - 0x3fc]
movzx ecx, byte [ebp - 0x2b7]
mov dl, byte [ebp - 0x3b5]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x3b5]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x2a5]
add edx, ecx
mov byte [ebp - 0x2a5], dl
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
xor eax, edx
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x18d]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
movzx ecx, byte [ebp - 0x2a5]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2ad], al
mov dl, byte [ebp - 0x335]
mov byte [ebp - 0x18d], dl
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], al
cmp dword [ebp - 0x370], 0
jle 0x4fe9ae
mov ecx, dword [ebp - 0x370]
mov dl, byte [ebp - 0x379]
mov byte [ebp + ecx - 0x31], dl
jmp 0x4fe55e
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
add ecx, 1
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
shl eax, 1
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x2e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x318], 0x4f
mov eax, dword [ebp - 0x370]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x198]
add edx, dword [ebp - 0x358]
movzx eax, byte [edx]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x384], 0x2e
mov ecx, dword [ebp - 0x388]
sub ecx, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3d0]
sub edx, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x3cc]
shl eax, 4
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x3c8]
or edx, dword [ebp - 0x380]
mov dword [ebp - 0x368], edx
mov al, byte [ebp - 0x368]
mov byte [ebp - 0x335], al
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + ecx - 0x2a4]
mov byte [ebp - 0x3b5], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x19d]
add edx, ecx
mov byte [ebp - 0x19d], dl
mov al, byte [ebp - 0x2b7]
add al, 1
mov byte [ebp - 0x2b7], al
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp - 0x18d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp - 0x19d]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x2a4]
mov byte [ebp + edx - 0x2a4], al
movzx ecx, byte [ebp - 0x2b7]
mov dl, byte [ebp - 0x3b5]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x3b5]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx edx, byte [ebp - 0x2a5]
add edx, ecx
mov byte [ebp - 0x2a5], dl
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp - 0x19d]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x2b7]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
xor eax, edx
movzx ecx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + ecx - 0x2a4]
movzx ecx, byte [ebp - 0x18d]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
movzx ecx, byte [ebp - 0x2a5]
movzx ecx, byte [ebp + ecx - 0x2a4]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp + edx - 0x2a4]
xor eax, ecx
mov byte [ebp - 0x2ad], al
mov dl, byte [ebp - 0x335]
mov byte [ebp - 0x18d], dl
mov al, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], al
cmp dword [ebp - 0x370], 0
jle 0x4fec16
mov ecx, dword [ebp - 0x370]
mov dl, byte [ebp - 0x379]
mov byte [ebp + ecx - 0x31], dl
mov eax, dword [ebp - 0x370]
add eax, 1
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x370]
shl edx, 1
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x198]
add eax, dword [ebp - 0x2e0]
movzx ecx, byte [eax]
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x318], 0x4f
mov edx, dword [ebp - 0x370]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x198]
add ecx, dword [ebp - 0x358]
movzx edx, byte [ecx]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x384], 0x2e
mov eax, dword [ebp - 0x388]
sub eax, dword [ebp - 0x318]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x3d0]
sub ecx, dword [ebp - 0x384]
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp - 0x3cc]
shl edx, 4
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x3c8]
or ecx, dword [ebp - 0x380]
mov dword [ebp - 0x368], ecx
mov dl, byte [ebp - 0x368]
mov byte [ebp - 0x335], dl
movzx eax, byte [ebp - 0x18d]
mov cl, byte [ebp + eax - 0x2a4]
mov byte [ebp - 0x3b5], cl
movzx edx, byte [ebp - 0x2b7]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x19d]
add ecx, eax
mov byte [ebp - 0x19d], cl
mov dl, byte [ebp - 0x2b7]
add dl, 1
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp - 0x18d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp - 0x19d]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x2a4]
mov byte [ebp + ecx - 0x2a4], dl
movzx eax, byte [ebp - 0x2b7]
mov cl, byte [ebp - 0x3b5]
mov byte [ebp + eax - 0x2a4], cl
movzx edx, byte [ebp - 0x3b5]
movzx eax, byte [ebp + edx - 0x2a4]
movzx ecx, byte [ebp - 0x2a5]
add ecx, eax
mov byte [ebp - 0x2a5], cl
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp - 0x19d]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x2b7]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
xor edx, ecx
movzx eax, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + eax - 0x2a4]
movzx eax, byte [ebp - 0x18d]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
movzx eax, byte [ebp - 0x2a5]
movzx eax, byte [ebp + eax - 0x2a4]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x2a4]
movzx eax, byte [ebp + ecx - 0x2a4]
xor edx, eax
mov byte [ebp - 0x2ad], dl
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x18d], cl
mov dl, byte [ebp - 0x2ad]
mov byte [ebp - 0x379], dl
cmp dword [ebp - 0x370], 0
jle 0x4fee6b
mov eax, dword [ebp - 0x370]
mov cl, byte [ebp - 0x379]
mov byte [ebp + eax - 0x31], cl
mov byte [ebp - 0x21], 0
jmp 0x4feea2
mov dword [ebp - 0x418], 0
jmp 0x4fee8c
mov edx, dword [ebp - 0x418]
add edx, 1
mov dword [ebp - 0x418], edx
cmp dword [ebp - 0x418], 0x10
jge 0x4feea2
mov eax, dword [ebp - 0x418]
mov byte [ebp + eax - 0x30], 0
jmp 0x4fee7d
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x508]
mov cl, byte [eax]
mov byte [ebp - 0x50d], cl
add dword [ebp - 0x508], 1
cmp byte [ebp - 0x50d], 0
jne 0x4feeb7
mov edx, dword [ebp - 0x508]
sub edx, dword [ebp - 0x50c]
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x514], eax
mov dword [ebp - 0x518], edx
lea ecx, [ebp - 0x164]
add ecx, 0xffffffff
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
mov al, byte [edx + 1]
mov byte [ebp - 0x51d], al
add dword [ebp - 0x51c], 1
cmp byte [ebp - 0x51d], 0
jne 0x4fef02
mov edi, dword [ebp - 0x51c]
mov esi, dword [ebp - 0x514]
mov edx, dword [ebp - 0x518]
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 - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0x528], ecx
mov edx, dword [ebp - 0x524]
mov al, byte [edx]
mov byte [ebp - 0x529], al
add dword [ebp - 0x524], 1
cmp byte [ebp - 0x529], 0
jne 0x4fef59
mov ecx, dword [ebp - 0x524]
sub ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x528]
mov dword [ebp - 0x530], edx
mov dword [ebp - 0x534], ecx
lea eax, [ebp - 0x164]
add eax, 0xffffffff
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x538]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x539], dl
add dword [ebp - 0x538], 1
cmp byte [ebp - 0x539], 0
jne 0x4fefa4
mov edi, dword [ebp - 0x538]
mov esi, dword [ebp - 0x530]
mov eax, dword [ebp - 0x534]
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 - 0x4b8]
mov eax, dword [edx + 0xdc]
call eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4ff018
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x4ff1ad
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 - 0x4b8]
mov edx, dword [ecx + 0xcc]
call edx
test eax, eax
jne 0x4ff08c
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 0x4ff1ad
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.009649c7
add esp, 4
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x14]
push ecx
push 0
mov edx, dword [ebp - 0x48]
push edx
call fcn.00964670
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 - 0x4b8]
mov eax, dword [edx + 0xcc]
call eax
test eax, eax
jne 0x4ff121
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x420]
push edx
call fcn.009649b1
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x34]
jmp 0x4ff1ad
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 0x4ff188
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x43c]
call fcn.004985a0
mov dword [ebp - 0x540], eax
mov edx, dword [ebp - 0x540]
mov dword [ebp - 0x544], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x544]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004e9a30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x43c]
call fcn.004b8be0
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x440], ecx
mov edx, dword [ebp - 0x440]
push edx
call fcn.009649b1
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