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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5141f8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x28a0
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 0x4e4e89
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x38
jge 0x4e4e9a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4e4e80
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e4eac
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 0x4e4ec4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4e4ed6
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x25
jge 0x4e4f14
cmp dword [ebp - 0x1c], 0
jge 0x4e4eea
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 0x4e4f00
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e4ecd
mov eax, 1
test eax, eax
je 0x4e4f4e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e4f40
jmp 0x4e4f4e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4e4f14
mov eax, dword [ebp - 0x1c]
add eax, 0x11
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4e4f72
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 4
jge 0x4e4fbf
cmp dword [ebp - 0x1c], 0
jge 0x4e4f89
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 0x4e4f9f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x22c], 0xfa
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e4f63
mov dword [ebp - 0x42c], 0
jmp 0x4e4fda
mov ecx, dword [ebp - 0x42c]
add ecx, 1
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 0x20
jge 0x4e501b
cmp dword [ebp - 0x1c], 0
jge 0x4e4ff1
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 0x4e5007
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x628]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e4fcb
mov dword [ebp - 0x62c], 0
jmp 0x4e5036
mov eax, dword [ebp - 0x62c]
add eax, 1
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 1
jge 0x4e5083
cmp dword [ebp - 0x1c], 0
jge 0x4e504d
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 0x4e5063
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x630], 0xfa
lea edx, [ebp - 0x630]
push edx
lea eax, [ebp - 0x828]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e5027
mov dword [ebp - 0x82c], 0
jmp 0x4e509e
mov ecx, dword [ebp - 0x82c]
add ecx, 1
mov dword [ebp - 0x82c], ecx
cmp dword [ebp - 0x82c], 5
jge 0x4e50df
cmp dword [ebp - 0x1c], 0
jge 0x4e50b5
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 0x4e50cb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa28]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e508f
mov dword [ebp - 0xa2c], 0
jmp 0x4e50fa
mov eax, dword [ebp - 0xa2c]
add eax, 1
mov dword [ebp - 0xa2c], eax
cmp dword [ebp - 0xa2c], 2
jge 0x4e5111
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xa2c]
mov dword [ebp - 0x1c], ecx
jmp 0x4e50eb
cmp dword [ebp - 0x1c], 0
jge 0x4e511f
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 0x4e5137
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa30], 0
jmp 0x4e5152
mov edx, dword [ebp - 0xa30]
add edx, 1
mov dword [ebp - 0xa30], edx
cmp dword [ebp - 0xa30], 7
jge 0x4e5193
cmp dword [ebp - 0x1c], 0
jge 0x4e5169
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 0x4e517f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc28]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e5143
mov eax, 1
test eax, eax
je 0x4e51cd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc2c], eax
mov eax, dword [ebp - 0xc2c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e51bf
jmp 0x4e51cd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc2c]
mov dword [ebp - 0x1c], edx
jmp 0x4e5193
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc30], 0
jmp 0x4e51f1
mov ecx, dword [ebp - 0xc30]
add ecx, 1
mov dword [ebp - 0xc30], ecx
cmp dword [ebp - 0xc30], 6
jge 0x4e523e
cmp dword [ebp - 0x1c], 0
jge 0x4e5208
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 0x4e521e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc34], 0xfa
lea edx, [ebp - 0xc34]
push edx
lea eax, [ebp - 0xe30]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e51e2
mov dword [ebp - 0xe34], 0
jmp 0x4e5259
mov ecx, dword [ebp - 0xe34]
add ecx, 1
mov dword [ebp - 0xe34], ecx
cmp dword [ebp - 0xe34], 4
jge 0x4e52a6
cmp dword [ebp - 0x1c], 0
jge 0x4e5270
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 0x4e5286
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe38], 0xfa
lea edx, [ebp - 0xe38]
push edx
lea eax, [ebp - 0x1030]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e524a
mov dword [ebp - 0x1034], 0
jmp 0x4e52c1
mov ecx, dword [ebp - 0x1034]
add ecx, 1
mov dword [ebp - 0x1034], ecx
cmp dword [ebp - 0x1034], 6
jge 0x4e530e
cmp dword [ebp - 0x1c], 0
jge 0x4e52d8
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 0x4e52ee
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1038], 0xfa
lea edx, [ebp - 0x1038]
push edx
lea eax, [ebp - 0x1230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e52b2
mov dword [ebp - 4], 0
mov dword [ebp - 0x1234], 0xffffffff
mov dword [ebp - 0x1238], 0
jmp 0x4e533a
mov ecx, dword [ebp - 0x1238]
add ecx, 1
mov dword [ebp - 0x1238], ecx
cmp dword [ebp - 0x1238], 1
jge 0x4e536c
mov eax, dword [ebp - 0x1238]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e5361
mov edx, dword [ebp - 0x1234]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e532b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e538c
mov dword [ebp - 4], 1
mov dword [ebp - 0x123c], 0xffffffff
mov dword [ebp - 0x1240], 0
jmp 0x4e53b8
mov edx, dword [ebp - 0x1240]
add edx, 1
mov dword [ebp - 0x1240], edx
cmp dword [ebp - 0x1240], 6
jge 0x4e53ea
mov eax, dword [ebp - 0x1240]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e53df
mov edx, dword [ebp - 0x123c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e53a9
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e540a
mov dword [ebp - 0x1244], 0
jmp 0x4e5425
mov edx, dword [ebp - 0x1244]
add edx, 1
mov dword [ebp - 0x1244], edx
cmp dword [ebp - 0x1244], 5
jge 0x4e543c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1244]
mov dword [ebp - 0x1c], eax
jmp 0x4e5416
cmp dword [ebp - 0x1c], 0
jge 0x4e544a
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 0x4e5462
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1248], 0
jmp 0x4e547d
mov edx, dword [ebp - 0x1248]
add edx, 1
mov dword [ebp - 0x1248], edx
cmp dword [ebp - 0x1248], 0
jge 0x4e54ca
mov eax, dword [ebp - 0x1248]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e54ac
mov eax, dword [ebp - 0x1248]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e54bc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1248]
mov dword [ebp - 0x1c], edx
jmp 0x4e54c8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1248]
mov dword [ebp - 0x1c], eax
jmp 0x4e546e
mov dword [ebp - 0x124c], 0
jmp 0x4e54e5
mov ecx, dword [ebp - 0x124c]
add ecx, 1
mov dword [ebp - 0x124c], ecx
cmp dword [ebp - 0x124c], 4
jge 0x4e5532
cmp dword [ebp - 0x1c], 0
jge 0x4e54fc
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 0x4e5512
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1250], 0xfa
lea edx, [ebp - 0x1250]
push edx
lea eax, [ebp - 0x1448]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e54d6
mov dword [ebp - 4], 2
mov dword [ebp - 0x144c], 0xffffffff
mov dword [ebp - 0x1450], 0
jmp 0x4e555e
mov ecx, dword [ebp - 0x1450]
add ecx, 1
mov dword [ebp - 0x1450], ecx
cmp dword [ebp - 0x1450], 2
jge 0x4e5590
mov eax, dword [ebp - 0x1450]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e5585
mov edx, dword [ebp - 0x144c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e554f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e55b0
mov dword [ebp - 0x1454], 0
jmp 0x4e55cb
mov edx, dword [ebp - 0x1454]
add edx, 1
mov dword [ebp - 0x1454], edx
cmp dword [ebp - 0x1454], 1
jge 0x4e55e2
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1454]
mov dword [ebp - 0x1c], eax
jmp 0x4e55bc
cmp dword [ebp - 0x1c], 0
jge 0x4e55f0
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 0x4e5608
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1458], 0
jmp 0x4e5623
mov edx, dword [ebp - 0x1458]
add edx, 1
mov dword [ebp - 0x1458], edx
cmp dword [ebp - 0x1458], 4
jge 0x4e5670
cmp dword [ebp - 0x1c], 0
jge 0x4e563a
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 0x4e5650
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x145c], 0xfa
lea edx, [ebp - 0x145c]
push edx
lea eax, [ebp - 0x1658]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e5614
mov dword [ebp - 0x165c], 0
jmp 0x4e568b
mov ecx, dword [ebp - 0x165c]
add ecx, 1
mov dword [ebp - 0x165c], ecx
cmp dword [ebp - 0x165c], 2
jge 0x4e56d8
cmp dword [ebp - 0x1c], 0
jge 0x4e56a2
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 0x4e56b8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1660], 0xfa
lea edx, [ebp - 0x1660]
push edx
lea eax, [ebp - 0x1858]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e567c
mov dword [ebp - 0x185c], 0
jmp 0x4e56f3
mov ecx, dword [ebp - 0x185c]
add ecx, 1
mov dword [ebp - 0x185c], ecx
cmp dword [ebp - 0x185c], 3
jge 0x4e570a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x185c]
mov dword [ebp - 0x1c], edx
jmp 0x4e56e4
cmp dword [ebp - 0x1c], 0
jge 0x4e5718
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 0x4e5730
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1860], 0
jmp 0x4e574b
mov edx, dword [ebp - 0x1860]
add edx, 1
mov dword [ebp - 0x1860], edx
cmp dword [ebp - 0x1860], 3
jge 0x4e5798
mov eax, dword [ebp - 0x1860]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e577a
mov eax, dword [ebp - 0x1860]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e578a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1860]
mov dword [ebp - 0x1c], edx
jmp 0x4e5796
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1860]
mov dword [ebp - 0x1c], eax
jmp 0x4e573c
mov dword [ebp - 4], 3
mov dword [ebp - 0x1864], 0xffffffff
mov dword [ebp - 0x1868], 0
jmp 0x4e57c4
mov ecx, dword [ebp - 0x1868]
add ecx, 1
mov dword [ebp - 0x1868], ecx
cmp dword [ebp - 0x1868], 4
jge 0x4e57f6
mov eax, dword [ebp - 0x1868]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e57eb
mov edx, dword [ebp - 0x1864]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e57b5
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e5816
mov dword [ebp - 0x186c], 0
jmp 0x4e5831
mov edx, dword [ebp - 0x186c]
add edx, 1
mov dword [ebp - 0x186c], edx
cmp dword [ebp - 0x186c], 1
jge 0x4e5872
cmp dword [ebp - 0x1c], 0
jge 0x4e5848
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 0x4e585e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e5822
mov dword [ebp - 0x1a6c], 0
jmp 0x4e588d
mov eax, dword [ebp - 0x1a6c]
add eax, 1
mov dword [ebp - 0x1a6c], eax
cmp dword [ebp - 0x1a6c], 1
jge 0x4e58da
mov eax, dword [ebp - 0x1a6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e58bc
mov eax, dword [ebp - 0x1a6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e58cc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1a6c]
mov dword [ebp - 0x1c], edx
jmp 0x4e58d8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1a6c]
mov dword [ebp - 0x1c], eax
jmp 0x4e587e
mov dword [ebp - 0x1a70], 0
jmp 0x4e58f5
mov ecx, dword [ebp - 0x1a70]
add ecx, 1
mov dword [ebp - 0x1a70], ecx
cmp dword [ebp - 0x1a70], 2
jge 0x4e5936
cmp dword [ebp - 0x1c], 0
jge 0x4e590c
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 0x4e5922
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1c68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e58e6
mov dword [ebp - 0x1c6c], 0
jmp 0x4e5951
mov eax, dword [ebp - 0x1c6c]
add eax, 1
mov dword [ebp - 0x1c6c], eax
cmp dword [ebp - 0x1c6c], 3
jge 0x4e599e
mov eax, dword [ebp - 0x1c6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e5980
mov eax, dword [ebp - 0x1c6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e5990
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c], edx
jmp 0x4e599c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c], eax
jmp 0x4e5942
mov dword [ebp - 0x1c70], 0
jmp 0x4e59b9
mov ecx, dword [ebp - 0x1c70]
add ecx, 1
mov dword [ebp - 0x1c70], ecx
cmp dword [ebp - 0x1c70], 4
jge 0x4e5a06
cmp dword [ebp - 0x1c], 0
jge 0x4e59d0
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 0x4e59e6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c74], 0xfa
lea edx, [ebp - 0x1c74]
push edx
lea eax, [ebp - 0x1e70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e59aa
mov dword [ebp - 0x1e74], 0
jmp 0x4e5a21
mov ecx, dword [ebp - 0x1e74]
add ecx, 1
mov dword [ebp - 0x1e74], ecx
cmp dword [ebp - 0x1e74], 2
jge 0x4e5a38
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1e74]
mov dword [ebp - 0x1c], edx
jmp 0x4e5a12
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e5a4a
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 0x4e5a62
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1e78], 0
jmp 0x4e5a7d
mov edx, dword [ebp - 0x1e78]
add edx, 1
mov dword [ebp - 0x1e78], edx
cmp dword [ebp - 0x1e78], 2
jge 0x4e5aca
cmp dword [ebp - 0x1c], 0
jge 0x4e5a94
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 0x4e5aaa
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1e7c], 0xfa
lea edx, [ebp - 0x1e7c]
push edx
lea eax, [ebp - 0x2078]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e5a6e
mov dword [ebp - 0x207c], 0
jmp 0x4e5ae5
mov ecx, dword [ebp - 0x207c]
add ecx, 1
mov dword [ebp - 0x207c], ecx
cmp dword [ebp - 0x207c], 2
jge 0x4e5afc
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x207c]
mov dword [ebp - 0x1c], edx
jmp 0x4e5ad6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e5b0e
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 0x4e5b26
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2080], 0
jmp 0x4e5b41
mov edx, dword [ebp - 0x2080]
add edx, 1
mov dword [ebp - 0x2080], edx
cmp dword [ebp - 0x2080], 0
jge 0x4e5b8e
mov eax, dword [ebp - 0x2080]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e5b70
mov eax, dword [ebp - 0x2080]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e5b80
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2080]
mov dword [ebp - 0x1c], edx
jmp 0x4e5b8c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x2080]
mov dword [ebp - 0x1c], eax
jmp 0x4e5b32
mov dword [ebp - 0x2084], 0
jmp 0x4e5ba9
mov ecx, dword [ebp - 0x2084]
add ecx, 1
mov dword [ebp - 0x2084], ecx
cmp dword [ebp - 0x2084], 3
jge 0x4e5bc0
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x2084]
mov dword [ebp - 0x1c], edx
jmp 0x4e5b9a
cmp dword [ebp - 0x1c], 0
jge 0x4e5bce
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 0x4e5be6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2088], 0
jmp 0x4e5c01
mov edx, dword [ebp - 0x2088]
add edx, 1
mov dword [ebp - 0x2088], edx
cmp dword [ebp - 0x2088], 3
jge 0x4e5c4e
cmp dword [ebp - 0x1c], 0
jge 0x4e5c18
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 0x4e5c2e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x208c], 0xfa
lea edx, [ebp - 0x208c]
push edx
lea eax, [ebp - 0x2288]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e5bf2
mov dword [ebp - 4], 4
mov dword [ebp - 0x228c], 0xffffffff
mov dword [ebp - 0x2290], 0
jmp 0x4e5c7a
mov ecx, dword [ebp - 0x2290]
add ecx, 1
mov dword [ebp - 0x2290], ecx
cmp dword [ebp - 0x2290], 0
jge 0x4e5cac
mov eax, dword [ebp - 0x2290]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e5ca1
mov edx, dword [ebp - 0x228c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e5c6b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e5ccc
mov dword [ebp - 0x2294], 0
jmp 0x4e5ce7
mov edx, dword [ebp - 0x2294]
add edx, 1
mov dword [ebp - 0x2294], edx
cmp dword [ebp - 0x2294], 2
jge 0x4e5cfe
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2294]
mov dword [ebp - 0x1c], eax
jmp 0x4e5cd8
cmp dword [ebp - 0x1c], 0
jge 0x4e5d0c
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 0x4e5d24
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2298], 0
jmp 0x4e5d3f
mov edx, dword [ebp - 0x2298]
add edx, 1
mov dword [ebp - 0x2298], edx
cmp dword [ebp - 0x2298], 4
jge 0x4e5d56
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2298]
mov dword [ebp - 0x1c], eax
jmp 0x4e5d30
cmp dword [ebp - 0x1c], 0
jge 0x4e5d64
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 0x4e5d7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x229c], 0xffffffff
mov dword [ebp - 0x22a0], 0
jmp 0x4e5da8
mov edx, dword [ebp - 0x22a0]
add edx, 1
mov dword [ebp - 0x22a0], edx
cmp dword [ebp - 0x22a0], 2
jge 0x4e5dda
mov eax, dword [ebp - 0x22a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e5dcf
mov edx, dword [ebp - 0x229c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e5d99
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e5dfa
mov dword [ebp - 0x22a4], 0
jmp 0x4e5e15
mov edx, dword [ebp - 0x22a4]
add edx, 1
mov dword [ebp - 0x22a4], edx
cmp dword [ebp - 0x22a4], 2
jge 0x4e5e2c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x22a4]
mov dword [ebp - 0x1c], eax
jmp 0x4e5e06
cmp dword [ebp - 0x1c], 0
jge 0x4e5e3a
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 0x4e5e52
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x22a8], 0
jmp 0x4e5e6d
mov edx, dword [ebp - 0x22a8]
add edx, 1
mov dword [ebp - 0x22a8], edx
cmp dword [ebp - 0x22a8], 1
jge 0x4e5eae
cmp dword [ebp - 0x1c], 0
jge 0x4e5e84
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 0x4e5e9a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x24a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e5e5e
mov dword [ebp - 0x24a4], 0
jmp 0x4e5ec9
mov eax, dword [ebp - 0x24a4]
add eax, 1
mov dword [ebp - 0x24a4], eax
cmp dword [ebp - 0x24a4], 4
jge 0x4e5f16
mov eax, dword [ebp - 0x24a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e5ef8
mov eax, dword [ebp - 0x24a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e5f08
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24a4]
mov dword [ebp - 0x1c], edx
jmp 0x4e5f14
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24a4]
mov dword [ebp - 0x1c], eax
jmp 0x4e5eba
mov ecx, 1
test ecx, ecx
je 0x4e5f50
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24a8], eax
mov eax, dword [ebp - 0x24a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e5f42
jmp 0x4e5f50
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24a8]
mov dword [ebp - 0x1c], edx
jmp 0x4e5f16
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24ac], 0
jmp 0x4e5f74
mov ecx, dword [ebp - 0x24ac]
add ecx, 1
mov dword [ebp - 0x24ac], ecx
cmp dword [ebp - 0x24ac], 3
jge 0x4e5fc1
cmp dword [ebp - 0x1c], 0
jge 0x4e5f8b
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 0x4e5fa1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24b0], 0xfa
lea edx, [ebp - 0x24b0]
push edx
lea eax, [ebp - 0x26a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e5f65
mov dword [ebp - 0x26ac], 0
jmp 0x4e5fdc
mov ecx, dword [ebp - 0x26ac]
add ecx, 1
mov dword [ebp - 0x26ac], ecx
cmp dword [ebp - 0x26ac], 4
jge 0x4e5ff3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x26ac]
mov dword [ebp - 0x1c], edx
jmp 0x4e5fcd
cmp dword [ebp - 0x1c], 0
jge 0x4e6001
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 0x4e6019
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x26b0], 0
jmp 0x4e6034
mov edx, dword [ebp - 0x26b0]
add edx, 1
mov dword [ebp - 0x26b0], edx
cmp dword [ebp - 0x26b0], 1
jge 0x4e604b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x26b0]
mov dword [ebp - 0x1c], eax
jmp 0x4e6025
cmp dword [ebp - 0x1c], 0
jge 0x4e6059
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 0x4e6071
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x26b4], 0xffffffff
mov dword [ebp - 0x26b8], 0
jmp 0x4e609d
mov edx, dword [ebp - 0x26b8]
add edx, 1
mov dword [ebp - 0x26b8], edx
cmp dword [ebp - 0x26b8], 2
jge 0x4e60cf
mov eax, dword [ebp - 0x26b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e60c4
mov edx, dword [ebp - 0x26b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e608e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e60ef
mov dword [ebp - 0x26bc], 0
jmp 0x4e610a
cmp dword [ebp - 0x26bc], 3
jge 0x4e614b
cmp dword [ebp - 0x1c], 0
jge 0x4e6121
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