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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5146e0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x26f8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x38], 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 0x4f3c58
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 0x4f3c4d
jmp 0x4f3c58
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4f3c27
mov eax, dword [ebp - 0x1c]
add eax, 0x11
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4f3c73
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x20
jge 0x4f3c84
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4f3c6a
cmp dword [ebp - 0x1c], 0
jge 0x4f3c92
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 0x4f3caa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4f3cbc
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 7
jge 0x4f3ccd
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4f3cb3
cmp dword [ebp - 0x1c], 0
jge 0x4f3cdb
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 0x4f3cf3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4f3d05
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x1f
jge 0x4f3d16
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x4f3cfc
cmp dword [ebp - 0x1c], 0
jge 0x4f3d24
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 0x4f3d3c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4f3d4e
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0xa
jge 0x4f3d92
cmp dword [ebp - 0x1c], 0
jge 0x4f3d62
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 0x4f3d78
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], 0xfa
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f3d45
mov dword [ebp - 0x234], 0
jmp 0x4f3dad
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 7
jge 0x4f3dfa
cmp dword [ebp - 0x1c], 0
jge 0x4f3dc4
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 0x4f3dda
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x238], 0xfa
lea edx, [ebp - 0x238]
push edx
lea eax, [ebp - 0x430]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f3d9e
mov dword [ebp - 0x434], 0
jmp 0x4f3e15
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
cmp dword [ebp - 0x434], 0x13
jge 0x4f3e56
cmp dword [ebp - 0x1c], 0
jge 0x4f3e2c
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 0x4f3e42
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x630]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f3e06
mov eax, 1
test eax, eax
je 0x4f3e90
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f3e82
jmp 0x4f3e90
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x634]
mov dword [ebp - 0x1c], edx
jmp 0x4f3e56
mov eax, dword [ebp - 0x1c]
add eax, 0x13
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x638], 0
jmp 0x4f3eb4
mov ecx, dword [ebp - 0x638]
add ecx, 1
mov dword [ebp - 0x638], ecx
cmp dword [ebp - 0x638], 0x16
jge 0x4f3ecb
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x638]
mov dword [ebp - 0x1c], edx
jmp 0x4f3ea5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f3edd
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 0x4f3ef5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x63c], 0
jmp 0x4f3f10
mov edx, dword [ebp - 0x63c]
add edx, 1
mov dword [ebp - 0x63c], edx
cmp dword [ebp - 0x63c], 3
jge 0x4f3f27
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], eax
jmp 0x4f3f01
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f3f39
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 0x4f3f51
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f3f8b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x640]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f3f7d
jmp 0x4f3f8b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x640]
mov dword [ebp - 0x1c], edx
jmp 0x4f3f51
mov eax, dword [ebp - 0x1c]
add eax, 0xe
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x644], 0xffffffff
mov dword [ebp - 0x648], 0
jmp 0x4f3fc0
mov ecx, dword [ebp - 0x648]
add ecx, 1
mov dword [ebp - 0x648], ecx
cmp dword [ebp - 0x648], 9
jge 0x4f3ff2
mov eax, dword [ebp - 0x648]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f3fe7
mov edx, dword [ebp - 0x644]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f3fb1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f4012
mov dword [ebp - 0x64c], 0
jmp 0x4f402d
mov edx, dword [ebp - 0x64c]
add edx, 1
mov dword [ebp - 0x64c], edx
cmp dword [ebp - 0x64c], 9
jge 0x4f4044
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x64c]
mov dword [ebp - 0x1c], eax
jmp 0x4f401e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f4056
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 0x4f406e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x650], 0
jmp 0x4f4089
mov edx, dword [ebp - 0x650]
add edx, 1
mov dword [ebp - 0x650], edx
cmp dword [ebp - 0x650], 1
jge 0x4f40d6
cmp dword [ebp - 0x1c], 0
jge 0x4f40a0
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 0x4f40b6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x654], 0xfa
lea edx, [ebp - 0x654]
push edx
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f407a
mov dword [ebp - 0x854], 0
jmp 0x4f40f1
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 6
jge 0x4f413e
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f4120
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f4130
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x4f413c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x854]
mov dword [ebp - 0x1c], eax
jmp 0x4f40e2
mov ecx, 1
test ecx, ecx
je 0x4f4178
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x858], eax
mov eax, dword [ebp - 0x858]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f416a
jmp 0x4f4178
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x858]
mov dword [ebp - 0x1c], edx
jmp 0x4f413e
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x85c], 0
jmp 0x4f419c
mov ecx, dword [ebp - 0x85c]
add ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 0xe
jge 0x4f41e9
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f41cb
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f41db
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x4f41e7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], eax
jmp 0x4f418d
mov dword [ebp - 0x860], 0
jmp 0x4f4204
mov ecx, dword [ebp - 0x860]
add ecx, 1
mov dword [ebp - 0x860], ecx
cmp dword [ebp - 0x860], 2
jge 0x4f4251
cmp dword [ebp - 0x1c], 0
jge 0x4f421b
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 0x4f4231
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x864], 0xfa
lea edx, [ebp - 0x864]
push edx
lea eax, [ebp - 0xa60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f41f5
mov dword [ebp - 0xa64], 0
jmp 0x4f426c
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
cmp dword [ebp - 0xa64], 0
jge 0x4f4283
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], edx
jmp 0x4f425d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f4295
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 0x4f42ad
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f42e7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f42d9
jmp 0x4f42e7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa68]
mov dword [ebp - 0x1c], edx
jmp 0x4f42ad
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa6c], 0
jmp 0x4f430b
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 7
jge 0x4f4322
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x4f42fc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f4334
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 0x4f434c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f4386
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa70], eax
mov eax, dword [ebp - 0xa70]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f4378
jmp 0x4f4386
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa70]
mov dword [ebp - 0x1c], edx
jmp 0x4f434c
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa74], 0
jmp 0x4f43aa
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 5
jge 0x4f43c1
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa74]
mov dword [ebp - 0x1c], edx
jmp 0x4f439b
cmp dword [ebp - 0x1c], 0
jge 0x4f43cf
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 0x4f43e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa78], 0
jmp 0x4f4402
mov edx, dword [ebp - 0xa78]
add edx, 1
mov dword [ebp - 0xa78], edx
cmp dword [ebp - 0xa78], 8
jge 0x4f444f
mov eax, dword [ebp - 0xa78]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f4431
mov eax, dword [ebp - 0xa78]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f4441
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], edx
jmp 0x4f444d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa78]
mov dword [ebp - 0x1c], eax
jmp 0x4f43f3
mov ecx, 1
test ecx, ecx
je 0x4f4489
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa7c], eax
mov eax, dword [ebp - 0xa7c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f447b
jmp 0x4f4489
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa7c]
mov dword [ebp - 0x1c], edx
jmp 0x4f444f
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4f44cc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa80], eax
mov eax, dword [ebp - 0xa80]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f44be
jmp 0x4f44cc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa80]
mov dword [ebp - 0x1c], edx
jmp 0x4f4492
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa84], 0
jmp 0x4f44f0
mov ecx, dword [ebp - 0xa84]
add ecx, 1
mov dword [ebp - 0xa84], ecx
cmp dword [ebp - 0xa84], 0
jge 0x4f453d
mov eax, dword [ebp - 0xa84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f451f
mov eax, dword [ebp - 0xa84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f452f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa84]
mov dword [ebp - 0x1c], edx
jmp 0x4f453b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa84]
mov dword [ebp - 0x1c], eax
jmp 0x4f44e1
mov dword [ebp - 0xa88], 0
jmp 0x4f4558
mov ecx, dword [ebp - 0xa88]
add ecx, 1
mov dword [ebp - 0xa88], ecx
cmp dword [ebp - 0xa88], 6
jge 0x4f456f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa88]
mov dword [ebp - 0x1c], edx
jmp 0x4f4549
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f4581
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 0x4f4599
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa8c], 0
jmp 0x4f45b4
mov edx, dword [ebp - 0xa8c]
add edx, 1
mov dword [ebp - 0xa8c], edx
cmp dword [ebp - 0xa8c], 4
jge 0x4f4601
mov eax, dword [ebp - 0xa8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f45e3
mov eax, dword [ebp - 0xa8c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f45f3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa8c]
mov dword [ebp - 0x1c], edx
jmp 0x4f45ff
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa8c]
mov dword [ebp - 0x1c], eax
jmp 0x4f45a5
mov dword [ebp - 0xa90], 0
jmp 0x4f461c
mov ecx, dword [ebp - 0xa90]
add ecx, 1
mov dword [ebp - 0xa90], ecx
cmp dword [ebp - 0xa90], 7
jge 0x4f4669
mov eax, dword [ebp - 0xa90]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f464b
mov eax, dword [ebp - 0xa90]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f465b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa90]
mov dword [ebp - 0x1c], edx
jmp 0x4f4667
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa90]
mov dword [ebp - 0x1c], eax
jmp 0x4f460d
mov dword [ebp - 0xa94], 0
jmp 0x4f4684
mov ecx, dword [ebp - 0xa94]
add ecx, 1
mov dword [ebp - 0xa94], ecx
cmp dword [ebp - 0xa94], 2
jge 0x4f46c5
cmp dword [ebp - 0x1c], 0
jge 0x4f469b
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 0x4f46b1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f4675
mov dword [ebp - 0xc94], 0
jmp 0x4f46e0
mov eax, dword [ebp - 0xc94]
add eax, 1
mov dword [ebp - 0xc94], eax
cmp dword [ebp - 0xc94], 5
jge 0x4f4721
cmp dword [ebp - 0x1c], 0
jge 0x4f46f7
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
je 0x4f470d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f46d1
mov dword [ebp - 0xe94], 0
jmp 0x4f473c
mov eax, dword [ebp - 0xe94]
add eax, 1
mov dword [ebp - 0xe94], eax
cmp dword [ebp - 0xe94], 6
jge 0x4f4789
cmp dword [ebp - 0x1c], 0
jge 0x4f4753
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 0x4f4769
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe98], 0xfa
lea edx, [ebp - 0xe98]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f472d
mov dword [ebp - 0x1094], 0
jmp 0x4f47a4
mov ecx, dword [ebp - 0x1094]
add ecx, 1
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 2
jge 0x4f47bb
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4f4795
cmp dword [ebp - 0x1c], 0
jge 0x4f47c9
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 0x4f47e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f481b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1098], eax
mov eax, dword [ebp - 0x1098]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f480d
jmp 0x4f481b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], edx
jmp 0x4f47e1
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4f485e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x109c], eax
mov eax, dword [ebp - 0x109c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f4850
jmp 0x4f485e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x4f4824
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x4f4882
mov ecx, dword [ebp - 0x10a0]
add ecx, 1
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x10a0], 1
jge 0x4f48cf
cmp dword [ebp - 0x1c], 0
jge 0x4f4899
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 0x4f48af
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10a4], 0xfa
lea edx, [ebp - 0x10a4]
push edx
lea eax, [ebp - 0x12a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f4873
mov dword [ebp - 0x12a4], 0
jmp 0x4f48ea
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 2
jge 0x4f4901
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4f48db
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f4913
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 0x4f492b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4f4946
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 0
jge 0x4f4987
cmp dword [ebp - 0x1c], 0
jge 0x4f495d
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 0x4f4973
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f4937
mov dword [ebp - 0x14a4], 0
jmp 0x4f49a2
mov eax, dword [ebp - 0x14a4]
add eax, 1
mov dword [ebp - 0x14a4], eax
cmp dword [ebp - 0x14a4], 0
jge 0x4f49b9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x14a4]
mov dword [ebp - 0x1c], ecx
jmp 0x4f4993
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f49cb
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 0x4f49e3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a8], 0
jmp 0x4f49fe
mov edx, dword [ebp - 0x14a8]
add edx, 1
mov dword [ebp - 0x14a8], edx
cmp dword [ebp - 0x14a8], 1
jge 0x4f4a4b
mov eax, dword [ebp - 0x14a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f4a2d
mov eax, dword [ebp - 0x14a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f4a3d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14a8]
mov dword [ebp - 0x1c], edx
jmp 0x4f4a49
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14a8]
mov dword [ebp - 0x1c], eax
jmp 0x4f49ef
mov ecx, 1
test ecx, ecx
je 0x4f4a85
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14ac], eax
mov eax, dword [ebp - 0x14ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f4a77
jmp 0x4f4a85
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], edx
jmp 0x4f4a4b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b0], 0
jmp 0x4f4aa6
mov ecx, dword [ebp - 0x14b0]
add ecx, 1
mov dword [ebp - 0x14b0], ecx
cmp dword [ebp - 0x14b0], 7
jge 0x4f4ae7
cmp dword [ebp - 0x1c], 0
jge 0x4f4abd
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 0x4f4ad3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f4a97
mov dword [ebp - 0x16ac], 0
jmp 0x4f4b02
mov eax, dword [ebp - 0x16ac]
add eax, 1
mov dword [ebp - 0x16ac], eax
cmp dword [ebp - 0x16ac], 1
jge 0x4f4b19
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], ecx
jmp 0x4f4af3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f4b2b
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 0x4f4b43
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f4b7d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16b0], eax
mov eax, dword [ebp - 0x16b0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f4b6f
jmp 0x4f4b7d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b0]
mov dword [ebp - 0x1c], edx
jmp 0x4f4b43
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b4], 0
jmp 0x4f4ba1
mov ecx, dword [ebp - 0x16b4]
add ecx, 1
mov dword [ebp - 0x16b4], ecx
cmp dword [ebp - 0x16b4], 6
jge 0x4f4bee
mov eax, dword [ebp - 0x16b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f4bd0
mov eax, dword [ebp - 0x16b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f4be0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x4f4bec
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], eax
jmp 0x4f4b92
mov dword [ebp - 0x16b8], 0
jmp 0x4f4c09
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 7
jge 0x4f4c20
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x16b8]
mov dword [ebp - 0x1c], edx
jmp 0x4f4bfa
cmp dword [ebp - 0x1c], 0
jge 0x4f4c2e
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 0x4f4c46
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16bc], 0
jmp 0x4f4c61
mov edx, dword [ebp - 0x16bc]
add edx, 1
mov dword [ebp - 0x16bc], edx
cmp dword [ebp - 0x16bc], 6
jge 0x4f4c78
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], eax
jmp 0x4f4c52
cmp dword [ebp - 0x1c], 0
jge 0x4f4c86
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 0x4f4c9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c0], 0
jmp 0x4f4cb9
mov edx, dword [ebp - 0x16c0]
add edx, 1
mov dword [ebp - 0x16c0], edx
cmp dword [ebp - 0x16c0], 2
jge 0x4f4d06
cmp dword [ebp - 0x1c], 0
jge 0x4f4cd0
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 0x4f4ce6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16c4], 0xfa
lea edx, [ebp - 0x16c4]
push edx
lea eax, [ebp - 0x18c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f4caa
mov dword [ebp - 0x18c4], 0
jmp 0x4f4d21
mov ecx, dword [ebp - 0x18c4]
add ecx, 1
mov dword [ebp - 0x18c4], ecx
cmp dword [ebp - 0x18c4], 1
jge 0x4f4d6e
cmp dword [ebp - 0x1c], 0
jge 0x4f4d38
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 0x4f4d4e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c8], 0xfa
lea edx, [ebp - 0x18c8]
push edx
lea eax, [ebp - 0x1ac0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f4d12
mov dword [ebp - 0x1ac4], 0
jmp 0x4f4d89
mov ecx, dword [ebp - 0x1ac4]
add ecx, 1
mov dword [ebp - 0x1ac4], ecx
cmp dword [ebp - 0x1ac4], 0
jge 0x4f4da0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], edx
jmp 0x4f4d7a
cmp dword [ebp - 0x1c], 0
jge 0x4f4dae
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 0x4f4dc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ac8], 0
jmp 0x4f4de1
mov edx, dword [ebp - 0x1ac8]
add edx, 1
mov dword [ebp - 0x1ac8], edx
cmp dword [ebp - 0x1ac8], 4
jge 0x4f4df8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1ac8]
mov dword [ebp - 0x1c], eax
jmp 0x4f4dd2
cmp dword [ebp - 0x1c], 0
jge 0x4f4e06
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 0x4f4e1e