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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514580
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x26d8
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 dword [ebp - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4efd57
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xd
jge 0x4efd80
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4efd75
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4efd4e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4efda0
mov dword [ebp - 0x28], 0
jmp 0x4efdb2
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0xc
jge 0x4efdc3
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4efda9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4efdd5
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 0x4efded
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4efe1e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4efe13
jmp 0x4efe1e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4efded
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4efe39
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0
jge 0x4efe7d
cmp dword [ebp - 0x1c], 0
jge 0x4efe4d
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 0x4efe63
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 0x4efe30
mov dword [ebp - 0x234], 0
jmp 0x4efe98
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0xe
jge 0x4efeaf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4efe89
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4efec1
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 0x4efed9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4efef4
mov edx, dword [ebp - 0x238]
add edx, 1
mov dword [ebp - 0x238], edx
cmp dword [ebp - 0x238], 2
jge 0x4eff41
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eff23
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eff33
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4eff3f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x4efee5
mov dword [ebp - 0x23c], 0
jmp 0x4eff5c
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 3
jge 0x4effa9
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eff8b
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eff9b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4effa7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
jmp 0x4eff4d
mov dword [ebp - 0x240], 0
jmp 0x4effc4
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 7
jge 0x4effdb
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x240]
mov dword [ebp - 0x1c], edx
jmp 0x4effb5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4effed
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 0x4f0005
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x244], 0xffffffff
mov dword [ebp - 0x248], 0
jmp 0x4f0031
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 2
jge 0x4f0063
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f0058
mov edx, dword [ebp - 0x244]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f0022
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f0083
mov edx, 1
test edx, edx
je 0x4f00bd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f00af
jmp 0x4f00bd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], edx
jmp 0x4f0083
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x250], 0
jmp 0x4f00e1
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 1
jge 0x4f0122
cmp dword [ebp - 0x1c], 0
jge 0x4f00f8
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 0x4f010e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x448]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f00d2
mov dword [ebp - 0x44c], 0
jmp 0x4f013d
mov eax, dword [ebp - 0x44c]
add eax, 1
mov dword [ebp - 0x44c], eax
cmp dword [ebp - 0x44c], 7
jge 0x4f018a
cmp dword [ebp - 0x1c], 0
jge 0x4f0154
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 0x4f016a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x450], 0xfa
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f012e
mov dword [ebp - 0x64c], 0
jmp 0x4f01a5
mov ecx, dword [ebp - 0x64c]
add ecx, 1
mov dword [ebp - 0x64c], ecx
cmp dword [ebp - 0x64c], 3
jge 0x4f01f2
cmp dword [ebp - 0x1c], 0
jge 0x4f01bc
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 0x4f01d2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x650], 0xfa
lea edx, [ebp - 0x650]
push edx
lea eax, [ebp - 0x848]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f0196
mov dword [ebp - 0x84c], 0
jmp 0x4f020d
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 0
jge 0x4f025a
mov eax, dword [ebp - 0x84c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f023c
mov eax, dword [ebp - 0x84c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f024c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x4f0258
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], eax
jmp 0x4f01fe
mov dword [ebp - 0x850], 0
jmp 0x4f0275
mov ecx, dword [ebp - 0x850]
add ecx, 1
mov dword [ebp - 0x850], ecx
cmp dword [ebp - 0x850], 6
jge 0x4f028c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x850]
mov dword [ebp - 0x1c], edx
jmp 0x4f0266
cmp dword [ebp - 0x1c], 0
jge 0x4f029a
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 0x4f02b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x854], 0xffffffff
mov dword [ebp - 0x858], 0
jmp 0x4f02de
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 7
jge 0x4f0310
mov eax, dword [ebp - 0x858]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f0305
mov edx, dword [ebp - 0x854]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f02cf
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f0330
mov dword [ebp - 0x85c], 0
jmp 0x4f034b
mov edx, dword [ebp - 0x85c]
add edx, 1
mov dword [ebp - 0x85c], edx
cmp dword [ebp - 0x85c], 3
jge 0x4f0362
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], eax
jmp 0x4f033c
cmp dword [ebp - 0x1c], 0
jge 0x4f0370
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 0x4f0388
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f03c2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f03b4
jmp 0x4f03c2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x860]
mov dword [ebp - 0x1c], edx
jmp 0x4f0388
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x864], 0
jmp 0x4f03e3
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
cmp dword [ebp - 0x864], 5
jge 0x4f03fa
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x864]
mov dword [ebp - 0x1c], edx
jmp 0x4f03d4
cmp dword [ebp - 0x1c], 0
jge 0x4f0408
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 0x4f0420
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x868], 0
jmp 0x4f043b
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x868], edx
cmp dword [ebp - 0x868], 8
jge 0x4f047c
cmp dword [ebp - 0x1c], 0
jge 0x4f0452
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 0x4f0468
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f042c
mov dword [ebp - 0xa64], 0
jmp 0x4f0497
mov eax, dword [ebp - 0xa64]
add eax, 1
mov dword [ebp - 0xa64], eax
cmp dword [ebp - 0xa64], 0
jge 0x4f04e4
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f04c6
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f04d6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], edx
jmp 0x4f04e2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], eax
jmp 0x4f0488
mov dword [ebp - 0xa68], 0
jmp 0x4f04ff
mov ecx, dword [ebp - 0xa68]
add ecx, 1
mov dword [ebp - 0xa68], ecx
cmp dword [ebp - 0xa68], 3
jge 0x4f0540
cmp dword [ebp - 0x1c], 0
jge 0x4f0516
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 0x4f052c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f04f0
mov dword [ebp - 0xc64], 0
jmp 0x4f055b
mov eax, dword [ebp - 0xc64]
add eax, 1
mov dword [ebp - 0xc64], eax
cmp dword [ebp - 0xc64], 0
jge 0x4f059c
cmp dword [ebp - 0x1c], 0
jge 0x4f0572
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 0x4f0588
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f054c
mov dword [ebp - 4], 3
mov dword [ebp - 0xe64], 0xffffffff
mov dword [ebp - 0xe68], 0
jmp 0x4f05c8
mov eax, dword [ebp - 0xe68]
add eax, 1
mov dword [ebp - 0xe68], eax
cmp dword [ebp - 0xe68], 3
jge 0x4f05fa
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f05ef
mov edx, dword [ebp - 0xe64]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f05b9
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f061a
mov dword [ebp - 0xe6c], 0
jmp 0x4f0635
mov edx, dword [ebp - 0xe6c]
add edx, 1
mov dword [ebp - 0xe6c], edx
cmp dword [ebp - 0xe6c], 1
jge 0x4f064c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x4f0626
cmp dword [ebp - 0x1c], 0
jge 0x4f065a
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 0x4f0672
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe70], 0
jmp 0x4f068d
mov edx, dword [ebp - 0xe70]
add edx, 1
mov dword [ebp - 0xe70], edx
cmp dword [ebp - 0xe70], 4
jge 0x4f06ce
cmp dword [ebp - 0x1c], 0
jge 0x4f06a4
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 0x4f06ba
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1068]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f067e
mov dword [ebp - 0x106c], 0
jmp 0x4f06e9
mov eax, dword [ebp - 0x106c]
add eax, 1
mov dword [ebp - 0x106c], eax
cmp dword [ebp - 0x106c], 1
jge 0x4f0700
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x106c]
mov dword [ebp - 0x1c], ecx
jmp 0x4f06da
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f0712
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 0x4f072a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f0764
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1070], eax
mov eax, dword [ebp - 0x1070]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f0756
jmp 0x4f0764
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1070]
mov dword [ebp - 0x1c], edx
jmp 0x4f072a
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1074], 0
jmp 0x4f0788
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 3
jge 0x4f07c9
cmp dword [ebp - 0x1c], 0
jge 0x4f079f
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 0x4f07b5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f0779
mov dword [ebp - 4], 4
mov dword [ebp - 0x1274], 0xffffffff
mov dword [ebp - 0x1278], 0
jmp 0x4f07f5
mov eax, dword [ebp - 0x1278]
add eax, 1
mov dword [ebp - 0x1278], eax
cmp dword [ebp - 0x1278], 2
jge 0x4f0827
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f081c
mov edx, dword [ebp - 0x1274]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f07e6
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f0847
mov dword [ebp - 0x127c], 0
jmp 0x4f0862
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 4
jge 0x4f0879
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], eax
jmp 0x4f0853
cmp dword [ebp - 0x1c], 0
jge 0x4f0887
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 0x4f089f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1280], 0
jmp 0x4f08ba
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 1
jge 0x4f0907
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f08e9
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f08f9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], edx
jmp 0x4f0905
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], eax
jmp 0x4f08ab
mov dword [ebp - 0x1284], 0
jmp 0x4f0922
mov ecx, dword [ebp - 0x1284]
add ecx, 1
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x1284], 0
jge 0x4f0939
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], edx
jmp 0x4f0913
cmp dword [ebp - 0x1c], 0
jge 0x4f0947
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 0x4f095f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1288], 0
jmp 0x4f097a
mov edx, dword [ebp - 0x1288]
add edx, 1
mov dword [ebp - 0x1288], edx
cmp dword [ebp - 0x1288], 1
jge 0x4f09bb
cmp dword [ebp - 0x1c], 0
jge 0x4f0991
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 0x4f09a7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f096b
mov dword [ebp - 0x1484], 0
jmp 0x4f09d6
mov eax, dword [ebp - 0x1484]
add eax, 1
mov dword [ebp - 0x1484], eax
cmp dword [ebp - 0x1484], 2
jge 0x4f09ed
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], ecx
jmp 0x4f09c7
cmp dword [ebp - 0x1c], 0
jge 0x4f09fb
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 0x4f0a13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x4f0a2e
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 3
jge 0x4f0a45
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], eax
jmp 0x4f0a1f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f0a57
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 0x4f0a6f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x148c], 0
jmp 0x4f0a8a
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 2
jge 0x4f0ad7
cmp dword [ebp - 0x1c], 0
jge 0x4f0aa1
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 0x4f0ab7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1490], 0xfa
lea edx, [ebp - 0x1490]
push edx
lea eax, [ebp - 0x1688]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f0a7b
mov ecx, 1
test ecx, ecx
je 0x4f0b11
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x168c], eax
mov eax, dword [ebp - 0x168c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f0b03
jmp 0x4f0b11
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], edx
jmp 0x4f0ad7
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1690], 0
jmp 0x4f0b35
mov ecx, dword [ebp - 0x1690]
add ecx, 1
mov dword [ebp - 0x1690], ecx
cmp dword [ebp - 0x1690], 2
jge 0x4f0b82
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f0b64
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f0b74
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], edx
jmp 0x4f0b80
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], eax
jmp 0x4f0b26
mov dword [ebp - 0x1694], 0
jmp 0x4f0b9d
mov ecx, dword [ebp - 0x1694]
add ecx, 1
mov dword [ebp - 0x1694], ecx
cmp dword [ebp - 0x1694], 1
jge 0x4f0bea
cmp dword [ebp - 0x1c], 0
jge 0x4f0bb4
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 0x4f0bca
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1698], 0xfa
lea edx, [ebp - 0x1698]
push edx
lea eax, [ebp - 0x1890]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f0b8e
mov dword [ebp - 0x1894], 0
jmp 0x4f0c05
mov ecx, dword [ebp - 0x1894]
add ecx, 1
mov dword [ebp - 0x1894], ecx
cmp dword [ebp - 0x1894], 4
jge 0x4f0c1c
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], edx
jmp 0x4f0bf6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f0c2e
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 0x4f0c46
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1898], 0
jmp 0x4f0c61
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 3
jge 0x4f0c78
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1898]
mov dword [ebp - 0x1c], eax
jmp 0x4f0c52
cmp dword [ebp - 0x1c], 0
jge 0x4f0c86
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 0x4f0c9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x189c], 0
jmp 0x4f0cb9
mov edx, dword [ebp - 0x189c]
add edx, 1
mov dword [ebp - 0x189c], edx
cmp dword [ebp - 0x189c], 1
jge 0x4f0cfa
cmp dword [ebp - 0x1c], 0
jge 0x4f0cd0
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 0x4f0ce6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f0caa
mov dword [ebp - 0x1a9c], 0
jmp 0x4f0d15
mov eax, dword [ebp - 0x1a9c]
add eax, 1
mov dword [ebp - 0x1a9c], eax
cmp dword [ebp - 0x1a9c], 3
jge 0x4f0d2c
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], ecx
jmp 0x4f0d06
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f0d3e
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 0x4f0d56
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aa0], 0
jmp 0x4f0d71
mov edx, dword [ebp - 0x1aa0]
add edx, 1
mov dword [ebp - 0x1aa0], edx
cmp dword [ebp - 0x1aa0], 3
jge 0x4f0dbe
cmp dword [ebp - 0x1c], 0
jge 0x4f0d88
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 0x4f0d9e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1aa4], 0xfa
lea edx, [ebp - 0x1aa4]
push edx
lea eax, [ebp - 0x1ca0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f0d62
mov dword [ebp - 0x1ca4], 0
jmp 0x4f0dd9
mov ecx, dword [ebp - 0x1ca4]
add ecx, 1
mov dword [ebp - 0x1ca4], ecx
cmp dword [ebp - 0x1ca4], 3
jge 0x4f0df0
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1c], edx
jmp 0x4f0dca
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f0e02
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 0x4f0e1a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ca8], 0
jmp 0x4f0e35
cmp dword [ebp - 0x1ca8], 2
jge 0x4f0e76
cmp dword [ebp - 0x1c], 0
jge 0x4f0e4c
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 0x4f0e62
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ea0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f0e26
mov dword [ebp - 4], 5
mov dword [ebp - 0x1ea4], 0xffffffff
mov dword [ebp - 0x1ea8], 0
jmp 0x4f0ea2
cmp dword [ebp - 0x1ea8], 4
jge 0x4f0ed4
mov eax, dword [ebp - 0x1ea8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f0ec9
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f0ef4