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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513950
push 0x40b390
mov eax, dword fs:[0]
push eax
add esp, 0xfffff9ac
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x50], 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 0x4cb770
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x15
jge 0x4cb799
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cb78e
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 0x4cb767
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cb7b9
mov dword [ebp - 0x28], 0
jmp 0x4cb7cb
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x13
jge 0x4cb7dc
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4cb7c2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cb7ee
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 0x4cb806
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 0
jmp 0x4cb826
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 8
jge 0x4cb84f
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cb844
mov edx, dword [ebp - 0x2c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cb81d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cb86f
mov dword [ebp - 4], 2
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], 0
jmp 0x4cb88f
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0xf
jge 0x4cb8b8
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cb8ad
mov edx, dword [ebp - 0x34]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cb886
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cb8d8
mov dword [ebp - 0x3c], 0
jmp 0x4cb8ea
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 8
jge 0x4cb8fb
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x4cb8e1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4cb90d
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 0x4cb925
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], 0
jmp 0x4cb945
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 1
jge 0x4cb96e
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cb963
mov edx, dword [ebp - 0x40]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cb93c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cb98e
mov dword [ebp - 0x48], 0
jmp 0x4cb9a0
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 5
jge 0x4cb9de
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cb9c6
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cb9d3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], edx
jmp 0x4cb9dc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x4cb997
mov dword [ebp - 0x4c], 0
jmp 0x4cb9f0
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 5
jge 0x4cba2e
cmp dword [ebp - 0x1c], 0
jge 0x4cba04
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 0x4cba1a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x248]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4cb9e7
mov eax, 1
test eax, eax
je 0x4cba68
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 0x4cba5a
jmp 0x4cba68
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], edx
jmp 0x4cba2e
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4cbaab
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4cba9d
jmp 0x4cbaab
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x250]
mov dword [ebp - 0x1c], edx
jmp 0x4cba71
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4cbaeb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4cbadd
jmp 0x4cbaeb
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x254]
mov dword [ebp - 0x1c], edx
jmp 0x4cbab1
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x258], 0
jmp 0x4cbb0f
mov ecx, dword [ebp - 0x258]
add ecx, 1
mov dword [ebp - 0x258], ecx
cmp dword [ebp - 0x258], 3
jge 0x4cbb5c
cmp dword [ebp - 0x1c], 0
jge 0x4cbb26
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 0x4cbb3c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x25c], 0xfa
lea edx, [ebp - 0x25c]
push edx
lea eax, [ebp - 0x458]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cbb00
mov dword [ebp - 0x45c], 0
jmp 0x4cbb77
mov ecx, dword [ebp - 0x45c]
add ecx, 1
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 0x45c], 3
jge 0x4cbbc4
cmp dword [ebp - 0x1c], 0
jge 0x4cbb8e
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 0x4cbba4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x460], 0xfa
lea edx, [ebp - 0x460]
push edx
lea eax, [ebp - 0x658]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4cbb68
mov dword [ebp - 4], 4
mov dword [ebp - 0x65c], 0xffffffff
mov dword [ebp - 0x660], 0
jmp 0x4cbbf0
mov ecx, dword [ebp - 0x660]
add ecx, 1
mov dword [ebp - 0x660], ecx
cmp dword [ebp - 0x660], 0
jge 0x4cbc22
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4cbc17
mov edx, dword [ebp - 0x65c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4cbbe1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cbc42
mov dword [ebp - 0x664], 0
jmp 0x4cbc5d
mov edx, dword [ebp - 0x664]
add edx, 1
mov dword [ebp - 0x664], edx
cmp dword [ebp - 0x664], 4
jge 0x4cbcaa
mov eax, dword [ebp - 0x664]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4cbc8c
mov eax, dword [ebp - 0x664]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4cbc9c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], edx
jmp 0x4cbca8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x664]
mov dword [ebp - 0x1c], eax
jmp 0x4cbc4e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x50]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret