Function at 0x4fc0c0
Capabilities:
Check os version
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5149a8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x30fc
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov eax, 1
test eax, eax
je 0x4fc138
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fc12d
jmp 0x4fc138
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4fc107
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4fc153
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x11
jge 0x4fc191
cmp dword [ebp - 0x1c], 0
jge 0x4fc167
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fc17d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fc14a
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x4fc1bd
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 3
jge 0x4fc1ef
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fc1e4
mov edx, dword [ebp - 0x224]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fc1ae
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fc20f
mov dword [ebp - 0x22c], 0
jmp 0x4fc22a
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0xb
jge 0x4fc241
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x4fc21b
cmp dword [ebp - 0x1c], 0
jge 0x4fc24f
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc267
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4fc282
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0xd
jge 0x4fc2cf
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fc2b1
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fc2c1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4fc2cd
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x4fc273
mov dword [ebp - 0x234], 0
jmp 0x4fc2ea
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0x14
jge 0x4fc32b
cmp dword [ebp - 0x1c], 0
jge 0x4fc301
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fc317
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fc2db
mov dword [ebp - 0x434], 0
jmp 0x4fc346
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0xb
jge 0x4fc393
cmp dword [ebp - 0x1c], 0
jge 0x4fc35d
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc373
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x438], 0xfa
lea edx, [ebp - 0x438]
push edx
lea eax, [ebp - 0x630]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fc337
mov dword [ebp - 0x634], 0
jmp 0x4fc3ae
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
cmp dword [ebp - 0x634], 0
jge 0x4fc3fb
cmp dword [ebp - 0x1c], 0
jge 0x4fc3c5
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc3db
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x638], 0xfa
lea edx, [ebp - 0x638]
push edx
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fc39f
mov dword [ebp - 0x834], 0
jmp 0x4fc416
mov ecx, dword [ebp - 0x834]
add ecx, 1
mov dword [ebp - 0x834], ecx
cmp dword [ebp - 0x834], 1
jge 0x4fc42d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x834]
mov dword [ebp - 0x1c], edx
jmp 0x4fc407
cmp dword [ebp - 0x1c], 0
jge 0x4fc43b
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc453
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x838], 0xffffffff
mov dword [ebp - 0x83c], 0
jmp 0x4fc47f
mov edx, dword [ebp - 0x83c]
add edx, 1
mov dword [ebp - 0x83c], edx
cmp dword [ebp - 0x83c], 6
jge 0x4fc4b1
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fc4a6
mov edx, dword [ebp - 0x838]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fc470
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fc4d1
mov dword [ebp - 0x840], 0
jmp 0x4fc4ec
mov edx, dword [ebp - 0x840]
add edx, 1
mov dword [ebp - 0x840], edx
cmp dword [ebp - 0x840], 3
jge 0x4fc539
mov eax, dword [ebp - 0x840]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fc51b
mov eax, dword [ebp - 0x840]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fc52b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x840]
mov dword [ebp - 0x1c], edx
jmp 0x4fc537
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x840]
mov dword [ebp - 0x1c], eax
jmp 0x4fc4dd
mov dword [ebp - 4], 2
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x4fc565
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 4
jge 0x4fc597
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fc58c
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fc556
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fc5b7
mov dword [ebp - 4], 3
mov dword [ebp - 0x84c], 0xffffffff
mov dword [ebp - 0x850], 0
jmp 0x4fc5e3
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 5
jge 0x4fc615
mov eax, dword [ebp - 0x850]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fc60a
mov edx, dword [ebp - 0x84c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fc5d4
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fc635
mov dword [ebp - 0x854], 0
jmp 0x4fc650
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 4
jge 0x4fc691
cmp dword [ebp - 0x1c], 0
jge 0x4fc667
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fc67d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fc641
mov dword [ebp - 0xa54], 0
jmp 0x4fc6ac
mov eax, dword [ebp - 0xa54]
add eax, 1
mov dword [ebp - 0xa54], eax
cmp dword [ebp - 0xa54], 3
jge 0x4fc6f9
cmp dword [ebp - 0x1c], 0
jge 0x4fc6c3
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc6d9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa58], 0xfa
lea edx, [ebp - 0xa58]
push edx
lea eax, [ebp - 0xc50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fc69d
mov dword [ebp - 0xc54], 0
jmp 0x4fc714
mov ecx, dword [ebp - 0xc54]
add ecx, 1
mov dword [ebp - 0xc54], ecx
cmp dword [ebp - 0xc54], 1
jge 0x4fc72b
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], edx
jmp 0x4fc705
cmp dword [ebp - 0x1c], 0
jge 0x4fc739
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc751
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc58], 0
jmp 0x4fc76c
mov edx, dword [ebp - 0xc58]
add edx, 1
mov dword [ebp - 0xc58], edx
cmp dword [ebp - 0xc58], 0
jge 0x4fc7b9
mov eax, dword [ebp - 0xc58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fc79b
mov eax, dword [ebp - 0xc58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fc7ab
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc58]
mov dword [ebp - 0x1c], edx
jmp 0x4fc7b7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc58]
mov dword [ebp - 0x1c], eax
jmp 0x4fc75d
mov dword [ebp - 0xc5c], 0
jmp 0x4fc7d4
mov ecx, dword [ebp - 0xc5c]
add ecx, 1
mov dword [ebp - 0xc5c], ecx
cmp dword [ebp - 0xc5c], 5
jge 0x4fc7eb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x1c], edx
jmp 0x4fc7c5
cmp dword [ebp - 0x1c], 0
jge 0x4fc7f9
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc811
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc60], 0
jmp 0x4fc82c
mov edx, dword [ebp - 0xc60]
add edx, 1
mov dword [ebp - 0xc60], edx
cmp dword [ebp - 0xc60], 0
jge 0x4fc843
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc60]
mov dword [ebp - 0x1c], eax
jmp 0x4fc81d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fc855
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fc86d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0xc64], 0xffffffff
mov dword [ebp - 0xc68], 0
jmp 0x4fc899
mov edx, dword [ebp - 0xc68]
add edx, 1
mov dword [ebp - 0xc68], edx
cmp dword [ebp - 0xc68], 2
jge 0x4fc8cb
mov eax, dword [ebp - 0xc68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fc8c0
mov edx, dword [ebp - 0xc64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fc88a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fc8eb
mov dword [ebp - 0xc6c], 0
jmp 0x4fc906
mov edx, dword [ebp - 0xc6c]
add edx, 1
mov dword [ebp - 0xc6c], edx
cmp dword [ebp - 0xc6c], 8
jge 0x4fc91d
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], eax
jmp 0x4fc8f7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fc92f
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fc947
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc70], 0
jmp 0x4fc962
mov edx, dword [ebp - 0xc70]
add edx, 1
mov dword [ebp - 0xc70], edx
cmp dword [ebp - 0xc70], 5
jge 0x4fc9af
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fc991
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fc9a1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], edx
jmp 0x4fc9ad
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], eax
jmp 0x4fc953
mov dword [ebp - 0xc74], 0
jmp 0x4fc9ca
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 6
jge 0x4fca17
cmp dword [ebp - 0x1c], 0
jge 0x4fc9e1
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fc9f7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc78], 0xfa
lea edx, [ebp - 0xc78]
push edx
lea eax, [ebp - 0xe70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fc9bb
mov dword [ebp - 0xe74], 0
jmp 0x4fca32
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 5
jge 0x4fca7f
cmp dword [ebp - 0x1c], 0
jge 0x4fca49
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fca5f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe78], 0xfa
lea edx, [ebp - 0xe78]
push edx
lea eax, [ebp - 0x1070]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fca23
mov dword [ebp - 0x1074], 0
jmp 0x4fca9a
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 8
jge 0x4fcadb
cmp dword [ebp - 0x1c], 0
jge 0x4fcab1
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fcac7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fca8b
mov dword [ebp - 0x1274], 0
jmp 0x4fcaf6
mov eax, dword [ebp - 0x1274]
add eax, 1
mov dword [ebp - 0x1274], eax
cmp dword [ebp - 0x1274], 3
jge 0x4fcb0d
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], ecx
jmp 0x4fcae7
cmp dword [ebp - 0x1c], 0
jge 0x4fcb1b
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fcb33
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x4fcb4e
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 3
jge 0x4fcb9b
cmp dword [ebp - 0x1c], 0
jge 0x4fcb65
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fcb7b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x127c], 0xfa
lea edx, [ebp - 0x127c]
push edx
lea eax, [ebp - 0x1478]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fcb3f
mov ecx, 1
test ecx, ecx
je 0x4fcbd5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x147c], eax
mov eax, dword [ebp - 0x147c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fcbc7
jmp 0x4fcbd5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], edx
jmp 0x4fcb9b
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x4fcbf9
mov ecx, dword [ebp - 0x1480]
add ecx, 1
mov dword [ebp - 0x1480], ecx
cmp dword [ebp - 0x1480], 0
jge 0x4fcc46
cmp dword [ebp - 0x1c], 0
jge 0x4fcc10
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fcc26
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1484], 0xfa
lea edx, [ebp - 0x1484]
push edx
lea eax, [ebp - 0x1680]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fcbea
mov dword [ebp - 0x1684], 0
jmp 0x4fcc61
mov ecx, dword [ebp - 0x1684]
add ecx, 1
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 3
jge 0x4fccae
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fcc90
mov eax, dword [ebp - 0x1684]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fcca0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x4fccac
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], eax
jmp 0x4fcc52
mov dword [ebp - 0x1688], 0
jmp 0x4fccc9
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 2
jge 0x4fcd0a
cmp dword [ebp - 0x1c], 0
jge 0x4fcce0
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fccf6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1880]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fccba
mov eax, 1
test eax, eax
je 0x4fcd44
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1884], eax
mov eax, dword [ebp - 0x1884]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fcd36
jmp 0x4fcd44
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1884]
mov dword [ebp - 0x1c], edx
jmp 0x4fcd0a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1888], 0
jmp 0x4fcd65
mov ecx, dword [ebp - 0x1888]
add ecx, 1
mov dword [ebp - 0x1888], ecx
cmp dword [ebp - 0x1888], 1
jge 0x4fcdb2
cmp dword [ebp - 0x1c], 0
jge 0x4fcd7c
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fcd92
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x188c], 0xfa
lea edx, [ebp - 0x188c]
push edx
lea eax, [ebp - 0x1a88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fcd56
mov dword [ebp - 4], 5
mov dword [ebp - 0x1a8c], 0xffffffff
mov dword [ebp - 0x1a90], 0
jmp 0x4fcdde
mov ecx, dword [ebp - 0x1a90]
add ecx, 1
mov dword [ebp - 0x1a90], ecx
cmp dword [ebp - 0x1a90], 3
jge 0x4fce10
mov eax, dword [ebp - 0x1a90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4fce05
mov edx, dword [ebp - 0x1a8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4fcdcf
mov dword [ebp - 4], 0xfffffffe
jmp 0x4fce30
mov dword [ebp - 0x1a94], 0
jmp 0x4fce4b
mov edx, dword [ebp - 0x1a94]
add edx, 1
mov dword [ebp - 0x1a94], edx
cmp dword [ebp - 0x1a94], 3
jge 0x4fce98
mov eax, dword [ebp - 0x1a94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fce7a
mov eax, dword [ebp - 0x1a94]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fce8a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a94]
mov dword [ebp - 0x1c], edx
jmp 0x4fce96
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1a94]
mov dword [ebp - 0x1c], eax
jmp 0x4fce3c
mov dword [ebp - 0x1a98], 0
jmp 0x4fceb3
mov ecx, dword [ebp - 0x1a98]
add ecx, 1
mov dword [ebp - 0x1a98], ecx
cmp dword [ebp - 0x1a98], 4
jge 0x4fcf00
cmp dword [ebp - 0x1c], 0
jge 0x4fceca
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fcee0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a9c], 0xfa
lea edx, [ebp - 0x1a9c]
push edx
lea eax, [ebp - 0x1c98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fcea4
mov dword [ebp - 0x1c9c], 0
jmp 0x4fcf1b
mov ecx, dword [ebp - 0x1c9c]
add ecx, 1
mov dword [ebp - 0x1c9c], ecx
cmp dword [ebp - 0x1c9c], 1
jge 0x4fcf68
mov eax, dword [ebp - 0x1c9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fcf4a
mov eax, dword [ebp - 0x1c9c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fcf5a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], edx
jmp 0x4fcf66
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c9c]
mov dword [ebp - 0x1c], eax
jmp 0x4fcf0c
mov ecx, 1
test ecx, ecx
je 0x4fcfa2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ca0], eax
mov eax, dword [ebp - 0x1ca0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fcf94
jmp 0x4fcfa2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ca0]
mov dword [ebp - 0x1c], edx
jmp 0x4fcf68
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca4], 0
jmp 0x4fcfc6
mov ecx, dword [ebp - 0x1ca4]
add ecx, 1
mov dword [ebp - 0x1ca4], ecx
cmp dword [ebp - 0x1ca4], 2
jge 0x4fcfdd
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1c], edx
jmp 0x4fcfb7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fcfef
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fd007
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca8], 0
jmp 0x4fd022
mov edx, dword [ebp - 0x1ca8]
add edx, 1
mov dword [ebp - 0x1ca8], edx
cmp dword [ebp - 0x1ca8], 1
jge 0x4fd063
cmp dword [ebp - 0x1c], 0
jge 0x4fd039
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fd04f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ea0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fd013
mov dword [ebp - 0x1ea4], 0
jmp 0x4fd07e
mov eax, dword [ebp - 0x1ea4]
add eax, 1
mov dword [ebp - 0x1ea4], eax
cmp dword [ebp - 0x1ea4], 0
jge 0x4fd0cb
mov eax, dword [ebp - 0x1ea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fd0ad
mov eax, dword [ebp - 0x1ea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fd0bd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], edx
jmp 0x4fd0c9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], eax
jmp 0x4fd06f
mov dword [ebp - 0x1ea8], 0
jmp 0x4fd0e6
mov ecx, dword [ebp - 0x1ea8]
add ecx, 1
mov dword [ebp - 0x1ea8], ecx
cmp dword [ebp - 0x1ea8], 0
jge 0x4fd0fd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ea8]
mov dword [ebp - 0x1c], edx
jmp 0x4fd0d7
cmp dword [ebp - 0x1c], 0
jge 0x4fd10b
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fd123
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eac], 0
jmp 0x4fd13e
mov edx, dword [ebp - 0x1eac]
add edx, 1
mov dword [ebp - 0x1eac], edx
cmp dword [ebp - 0x1eac], 2
jge 0x4fd18b
cmp dword [ebp - 0x1c], 0
jge 0x4fd155
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fd16b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1eb0], 0xfa
lea edx, [ebp - 0x1eb0]
push edx
lea eax, [ebp - 0x20a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fd12f
mov dword [ebp - 0x20ac], 0
jmp 0x4fd1a6
mov ecx, dword [ebp - 0x20ac]
add ecx, 1
mov dword [ebp - 0x20ac], ecx
cmp dword [ebp - 0x20ac], 1
jge 0x4fd1f3
mov eax, dword [ebp - 0x20ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4fd1d5
mov eax, dword [ebp - 0x20ac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4fd1e5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20ac]
mov dword [ebp - 0x1c], edx
jmp 0x4fd1f1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20ac]
mov dword [ebp - 0x1c], eax
jmp 0x4fd197
mov dword [ebp - 0x20b0], 0
jmp 0x4fd20e
mov ecx, dword [ebp - 0x20b0]
add ecx, 1
mov dword [ebp - 0x20b0], ecx
cmp dword [ebp - 0x20b0], 3
jge 0x4fd24f
cmp dword [ebp - 0x1c], 0
jge 0x4fd225
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fd23b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x22a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4fd1ff
mov dword [ebp - 0x22ac], 0
jmp 0x4fd26a
mov eax, dword [ebp - 0x22ac]
add eax, 1
mov dword [ebp - 0x22ac], eax
cmp dword [ebp - 0x22ac], 1
jge 0x4fd281
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x22ac]
mov dword [ebp - 0x1c], ecx
jmp 0x4fd25b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fd293
mov edx, dword [ebp - 0x1c]
imul edx, edx, 0xfffffffb
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fd2ab
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22b0], 0
jmp 0x4fd2c6
mov edx, dword [ebp - 0x22b0]
add edx, 1
mov dword [ebp - 0x22b0], edx
cmp dword [ebp - 0x22b0], 1
jge 0x4fd2dd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x22b0]
mov dword [ebp - 0x1c], eax
jmp 0x4fd2b7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4fd2ef
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
je 0x4fd307
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4fd341
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22b4], eax
mov eax, dword [ebp - 0x22b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4fd333
jmp 0x4fd341
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22b4]
mov dword [ebp - 0x1c], edx
jmp 0x4fd307
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22b8], 0
jmp 0x4fd365
mov ecx, dword [ebp - 0x22b8]
add ecx, 1
mov dword [ebp - 0x22b8], ecx
cmp dword [ebp - 0x22b8], 3
jge 0x4fd3b2
cmp dword [ebp - 0x1c], 0
jge 0x4fd37c
mov edx, dword [ebp - 0x1c]
neg edx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fd392
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x22bc], 0xfa
lea edx, [ebp - 0x22bc]
push edx
lea eax, [ebp - 0x24b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4fd356
mov dword [ebp - 0x24bc], 0
jmp 0x4fd3cd
mov ecx, dword [ebp - 0x24bc]
add ecx, 1
mov dword [ebp - 0x24bc], ecx
cmp dword [ebp - 0x24bc], 4
jge 0x4fd3e4
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24bc]
mov dword [ebp - 0x1c], edx
jmp 0x4fd3be
cmp dword [ebp - 0x1c], 0
jge 0x4fd3f2
mov eax, dword [ebp - 0x1c]
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fd40a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24c0], 0
jmp 0x4fd425
mov edx, dword [ebp - 0x24c0]
add edx, 1
mov dword [ebp - 0x24c0], edx
cmp dword [ebp - 0x24c0], 1
jge 0x4fd43c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x24c0]
mov dword [ebp - 0x1c], eax
jmp 0x4fd416
cmp dword [ebp - 0x1c], 0
jge 0x4fd44a
mov ecx, dword [ebp - 0x1c]
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x4fd462