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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514128
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1c88
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 dword [ebp - 0x20], 0
jmp 0x4e2cd9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2d
jge 0x4e2d1d
cmp dword [ebp - 0x1c], 0
jge 0x4e2ced
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 0x4e2d03
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e2cd0
mov dword [ebp - 0x224], 0
jmp 0x4e2d38
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 3
jge 0x4e2d4f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4e2d29
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e2d61
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 0x4e2d79
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4e2d94
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 0x3e
jge 0x4e2dd5
cmp dword [ebp - 0x1c], 0
jge 0x4e2dab
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 0x4e2dc1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e2d85
mov dword [ebp - 0x424], 0
jmp 0x4e2df0
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xb
jge 0x4e2e07
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x424]
mov dword [ebp - 0x1c], ecx
jmp 0x4e2de1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e2e19
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 0x4e2e31
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x428], 0
jmp 0x4e2e4c
mov edx, dword [ebp - 0x428]
add edx, 1
mov dword [ebp - 0x428], edx
cmp dword [ebp - 0x428], 0xa
jge 0x4e2e8d
cmp dword [ebp - 0x1c], 0
jge 0x4e2e63
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 0x4e2e79
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x620]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e2e3d
mov eax, 1
test eax, eax
je 0x4e2ec7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x624]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e2eb9
jmp 0x4e2ec7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x624]
mov dword [ebp - 0x1c], edx
jmp 0x4e2e8d
mov eax, dword [ebp - 0x1c]
add eax, 0x1b
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x628], 0
jmp 0x4e2eeb
mov ecx, dword [ebp - 0x628]
add ecx, 1
mov dword [ebp - 0x628], ecx
cmp dword [ebp - 0x628], 0xa
jge 0x4e2f38
cmp dword [ebp - 0x1c], 0
jge 0x4e2f02
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 0x4e2f18
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x62c], 0xfa
lea edx, [ebp - 0x62c]
push edx
lea eax, [ebp - 0x828]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e2edc
mov dword [ebp - 0x82c], 0
jmp 0x4e2f53
mov ecx, dword [ebp - 0x82c]
add ecx, 1
mov dword [ebp - 0x82c], ecx
cmp dword [ebp - 0x82c], 3
jge 0x4e2fa0
mov eax, dword [ebp - 0x82c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e2f82
mov eax, dword [ebp - 0x82c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e2f92
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x82c]
mov dword [ebp - 0x1c], edx
jmp 0x4e2f9e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x82c]
mov dword [ebp - 0x1c], eax
jmp 0x4e2f44
mov dword [ebp - 0x830], 0
jmp 0x4e2fbb
mov ecx, dword [ebp - 0x830]
add ecx, 1
mov dword [ebp - 0x830], ecx
cmp dword [ebp - 0x830], 0x1e
jge 0x4e2ffc
cmp dword [ebp - 0x1c], 0
jge 0x4e2fd2
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 0x4e2fe8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa28]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e2fac
mov dword [ebp - 4], 0
mov dword [ebp - 0xa2c], 0xffffffff
mov dword [ebp - 0xa30], 0
jmp 0x4e3028
mov eax, dword [ebp - 0xa30]
add eax, 1
mov dword [ebp - 0xa30], eax
cmp dword [ebp - 0xa30], 0x17
jge 0x4e305a
mov eax, dword [ebp - 0xa30]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e304f
mov edx, dword [ebp - 0xa2c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e3019
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e307a
mov dword [ebp - 0xa34], 0
jmp 0x4e3095
mov edx, dword [ebp - 0xa34]
add edx, 1
mov dword [ebp - 0xa34], edx
cmp dword [ebp - 0xa34], 0x1c
jge 0x4e30e2
cmp dword [ebp - 0x1c], 0
jge 0x4e30ac
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 0x4e30c2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa38], 0xfa
lea edx, [ebp - 0xa38]
push edx
lea eax, [ebp - 0xc30]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e3086
mov dword [ebp - 0xc34], 0
jmp 0x4e30fd
mov ecx, dword [ebp - 0xc34]
add ecx, 1
mov dword [ebp - 0xc34], ecx
cmp dword [ebp - 0xc34], 0xd
jge 0x4e313e
cmp dword [ebp - 0x1c], 0
jge 0x4e3114
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 0x4e312a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe30]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e30ee
mov dword [ebp - 4], 1
mov dword [ebp - 0xe34], 0xffffffff
mov dword [ebp - 0xe38], 0
jmp 0x4e316a
mov eax, dword [ebp - 0xe38]
add eax, 1
mov dword [ebp - 0xe38], eax
cmp dword [ebp - 0xe38], 0
jge 0x4e319c
mov eax, dword [ebp - 0xe38]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e3191
mov edx, dword [ebp - 0xe34]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e315b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e31bc
mov dword [ebp - 0xe3c], 0
jmp 0x4e31d7
mov edx, dword [ebp - 0xe3c]
add edx, 1
mov dword [ebp - 0xe3c], edx
cmp dword [ebp - 0xe3c], 0
jge 0x4e31ee
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe3c]
mov dword [ebp - 0x1c], eax
jmp 0x4e31c8
cmp dword [ebp - 0x1c], 0
jge 0x4e31fc
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 0x4e3214
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xe40], 0xffffffff
mov dword [ebp - 0xe44], 0
jmp 0x4e3240
mov edx, dword [ebp - 0xe44]
add edx, 1
mov dword [ebp - 0xe44], edx
cmp dword [ebp - 0xe44], 6
jge 0x4e3272
mov eax, dword [ebp - 0xe44]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e3267
mov edx, dword [ebp - 0xe40]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e3231
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e3292
mov dword [ebp - 0xe48], 0
jmp 0x4e32ad
mov edx, dword [ebp - 0xe48]
add edx, 1
mov dword [ebp - 0xe48], edx
cmp dword [ebp - 0xe48], 8
jge 0x4e32c4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe48]
mov dword [ebp - 0x1c], eax
jmp 0x4e329e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e32d6
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 0x4e32ee
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e3328
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe4c], eax
mov eax, dword [ebp - 0xe4c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e331a
jmp 0x4e3328
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe4c]
mov dword [ebp - 0x1c], edx
jmp 0x4e32ee
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe50], 0
jmp 0x4e334c
mov ecx, dword [ebp - 0xe50]
add ecx, 1
mov dword [ebp - 0xe50], ecx
cmp dword [ebp - 0xe50], 1
jge 0x4e3363
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe50]
mov dword [ebp - 0x1c], edx
jmp 0x4e333d
cmp dword [ebp - 0x1c], 0
jge 0x4e3371
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 0x4e3389
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xe54], 0xffffffff
mov dword [ebp - 0xe58], 0
jmp 0x4e33b5
mov edx, dword [ebp - 0xe58]
add edx, 1
mov dword [ebp - 0xe58], edx
cmp dword [ebp - 0xe58], 8
jge 0x4e33e7
mov eax, dword [ebp - 0xe58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e33dc
mov edx, dword [ebp - 0xe54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e33a6
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e3407
mov dword [ebp - 4], 4
mov dword [ebp - 0xe5c], 0xffffffff
mov dword [ebp - 0xe60], 0
jmp 0x4e3433
mov edx, dword [ebp - 0xe60]
add edx, 1
mov dword [ebp - 0xe60], edx
cmp dword [ebp - 0xe60], 1
jge 0x4e3465
mov eax, dword [ebp - 0xe60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e345a
mov edx, dword [ebp - 0xe5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e3424
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e3485
mov dword [ebp - 0xe64], 0
jmp 0x4e34a0
mov edx, dword [ebp - 0xe64]
add edx, 1
mov dword [ebp - 0xe64], edx
cmp dword [ebp - 0xe64], 0
jge 0x4e34b7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], eax
jmp 0x4e3491
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e34c9
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 0x4e34e1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e351b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe68], eax
mov eax, dword [ebp - 0xe68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e350d
jmp 0x4e351b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], edx
jmp 0x4e34e1
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe6c], 0
jmp 0x4e353f
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 8
jge 0x4e358c
cmp dword [ebp - 0x1c], 0
jge 0x4e3556
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 0x4e356c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe70], 0xfa
lea edx, [ebp - 0xe70]
push edx
lea eax, [ebp - 0x1068]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e3530
mov dword [ebp - 0x106c], 0
jmp 0x4e35a7
mov ecx, dword [ebp - 0x106c]
add ecx, 1
mov dword [ebp - 0x106c], ecx
cmp dword [ebp - 0x106c], 2
jge 0x4e35e8
cmp dword [ebp - 0x1c], 0
jge 0x4e35be
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 0x4e35d4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1268]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e3598
mov dword [ebp - 0x126c], 0
jmp 0x4e3603
mov eax, dword [ebp - 0x126c]
add eax, 1
mov dword [ebp - 0x126c], eax
cmp dword [ebp - 0x126c], 2
jge 0x4e3644
cmp dword [ebp - 0x1c], 0
jge 0x4e361a
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 0x4e3630
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1468]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e35f4
mov dword [ebp - 4], 5
mov dword [ebp - 0x146c], 0xffffffff
mov dword [ebp - 0x1470], 0
jmp 0x4e3670
mov eax, dword [ebp - 0x1470]
add eax, 1
mov dword [ebp - 0x1470], eax
cmp dword [ebp - 0x1470], 2
jge 0x4e36a2
mov eax, dword [ebp - 0x1470]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e3697
mov edx, dword [ebp - 0x146c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e3661
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e36c2
mov dword [ebp - 0x1474], 0
jmp 0x4e36dd
mov edx, dword [ebp - 0x1474]
add edx, 1
mov dword [ebp - 0x1474], edx
cmp dword [ebp - 0x1474], 0
jge 0x4e371e
cmp dword [ebp - 0x1c], 0
jge 0x4e36f4
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 0x4e370a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1670]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e36ce
mov dword [ebp - 4], 6
mov dword [ebp - 0x1674], 0xffffffff
mov dword [ebp - 0x1678], 0
jmp 0x4e374a
mov eax, dword [ebp - 0x1678]
add eax, 1
mov dword [ebp - 0x1678], eax
cmp dword [ebp - 0x1678], 4
jge 0x4e377c
mov eax, dword [ebp - 0x1678]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e3771
mov edx, dword [ebp - 0x1674]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e373b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e379c
mov dword [ebp - 0x167c], 0
jmp 0x4e37b7
mov edx, dword [ebp - 0x167c]
add edx, 1
mov dword [ebp - 0x167c], edx
cmp dword [ebp - 0x167c], 4
jge 0x4e37f8
cmp dword [ebp - 0x1c], 0
jge 0x4e37ce
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 0x4e37e4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1878]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e37a8
mov dword [ebp - 0x187c], 0
jmp 0x4e3813
mov eax, dword [ebp - 0x187c]
add eax, 1
mov dword [ebp - 0x187c], eax
cmp dword [ebp - 0x187c], 1
jge 0x4e382a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x187c]
mov dword [ebp - 0x1c], ecx
jmp 0x4e3804
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e383c
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 0x4e3854
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x1880], 0xffffffff
mov dword [ebp - 0x1884], 0
jmp 0x4e3880
mov edx, dword [ebp - 0x1884]
add edx, 1
mov dword [ebp - 0x1884], edx
cmp dword [ebp - 0x1884], 0
jge 0x4e38b2
mov eax, dword [ebp - 0x1884]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e38a7
mov edx, dword [ebp - 0x1880]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e3871
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e38d2
mov dword [ebp - 0x1888], 0
jmp 0x4e38ed
mov edx, dword [ebp - 0x1888]
add edx, 1
mov dword [ebp - 0x1888], edx
cmp dword [ebp - 0x1888], 0
jge 0x4e393a
cmp dword [ebp - 0x1c], 0
jge 0x4e3904
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 0x4e391a
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 0x4e38de
mov dword [ebp - 0x1a8c], 0
jmp 0x4e3955
mov ecx, dword [ebp - 0x1a8c]
add ecx, 1
mov dword [ebp - 0x1a8c], ecx
cmp dword [ebp - 0x1a8c], 0
jge 0x4e396c
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1c], edx
jmp 0x4e3946
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e397e
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 0x4e3996
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1a90], 0
jmp 0x4e39b1
mov edx, dword [ebp - 0x1a90]
add edx, 1
mov dword [ebp - 0x1a90], edx
cmp dword [ebp - 0x1a90], 0
jge 0x4e39fe
cmp dword [ebp - 0x1c], 0
jge 0x4e39c8
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 0x4e39de
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1a94], 0xfa
lea edx, [ebp - 0x1a94]
push edx
lea eax, [ebp - 0x1c90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e39a2
mov dword [ebp - 0x1c94], 0
jmp 0x4e3a19
mov ecx, dword [ebp - 0x1c94]
add ecx, 1
mov dword [ebp - 0x1c94], ecx
cmp dword [ebp - 0x1c94], 1
jge 0x4e3a30
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1c94]
mov dword [ebp - 0x1c], edx
jmp 0x4e3a0a
cmp dword [ebp - 0x1c], 0
jge 0x4e3a3e
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 0x4e3a56
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c98], 0
jmp 0x4e3a71
mov edx, dword [ebp - 0x1c98]
add edx, 1
mov dword [ebp - 0x1c98], edx
cmp dword [ebp - 0x1c98], 1
jge 0x4e3abe
mov eax, dword [ebp - 0x1c98]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e3aa0
mov eax, dword [ebp - 0x1c98]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e3ab0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c98]
mov dword [ebp - 0x1c], edx
jmp 0x4e3abc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c98]
mov dword [ebp - 0x1c], eax
jmp 0x4e3a62
mov dword [ebp - 4], 8
mov dword [ebp - 0x1c9c], 0xffffffff
mov dword [ebp - 0x1ca0], 0
jmp 0x4e3aea
mov ecx, dword [ebp - 0x1ca0]
add ecx, 1
mov dword [ebp - 0x1ca0], ecx
cmp dword [ebp - 0x1ca0], 0
jge 0x4e3b1c
mov eax, dword [ebp - 0x1ca0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e3b11
mov edx, dword [ebp - 0x1c9c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e3adb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e3b3c
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 - 0x28]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret