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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5143f0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3d08
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 0x4ea739
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x10
jge 0x4ea74a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4ea730
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ea75c
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 0x4ea774
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4ea786
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x2b
jge 0x4ea797
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x4ea77d
cmp dword [ebp - 0x1c], 0
jge 0x4ea7a5
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 0x4ea7bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4ea7cf
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x16
jge 0x4ea7e0
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4ea7c6
cmp dword [ebp - 0x1c], 0
jge 0x4ea7ee
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 0x4ea806
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4ea818
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
jge 0x4ea85c
cmp dword [ebp - 0x1c], 0
jge 0x4ea82c
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 0x4ea842
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ea80f
mov dword [ebp - 0x234], 0
jmp 0x4ea877
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0xb
jge 0x4ea8c4
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ea8a6
mov eax, dword [ebp - 0x234]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ea8b6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4ea8c2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x4ea868
mov ecx, 1
test ecx, ecx
je 0x4ea8fe
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ea8f0
jmp 0x4ea8fe
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4ea8c4
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x23c], 0
jmp 0x4ea922
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0xd
jge 0x4ea939
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], edx
jmp 0x4ea913
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ea94b
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 0x4ea963
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4ea97e
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 0xe
jge 0x4ea9bf
cmp dword [ebp - 0x1c], 0
jge 0x4ea995
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 0x4ea9ab
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ea96f
mov dword [ebp - 4], 0
mov dword [ebp - 0x43c], 0xffffffff
mov dword [ebp - 0x440], 0
jmp 0x4ea9eb
mov eax, dword [ebp - 0x440]
add eax, 1
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 0xb
jge 0x4eaa1d
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4eaa12
mov edx, dword [ebp - 0x43c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ea9dc
mov dword [ebp - 4], 0xfffffffe
jmp 0x4eaa3d
mov edx, 1
test edx, edx
je 0x4eaa77
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eaa69
jmp 0x4eaa77
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x4eaa3d
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x4eaa9b
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0xd
jge 0x4eaae8
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eaaca
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eaada
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x4eaae6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x448]
mov dword [ebp - 0x1c], eax
jmp 0x4eaa8c
mov dword [ebp - 0x44c], 0
jmp 0x4eab03
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 7
jge 0x4eab1a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], edx
jmp 0x4eaaf4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4eab2c
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 0x4eab44
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x450], 0
jmp 0x4eab5f
mov edx, dword [ebp - 0x450]
add edx, 1
mov dword [ebp - 0x450], edx
cmp dword [ebp - 0x450], 9
jge 0x4eab76
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x450]
mov dword [ebp - 0x1c], eax
jmp 0x4eab50
cmp dword [ebp - 0x1c], 0
jge 0x4eab84
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 0x4eab9c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4eabd6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x454]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eabc8
jmp 0x4eabd6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x454]
mov dword [ebp - 0x1c], edx
jmp 0x4eab9c
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4eac19
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x458]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eac0b
jmp 0x4eac19
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x458]
mov dword [ebp - 0x1c], edx
jmp 0x4eabdf
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4eac5c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x45c], eax
mov eax, dword [ebp - 0x45c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eac4e
jmp 0x4eac5c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x45c]
mov dword [ebp - 0x1c], edx
jmp 0x4eac22
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4eac9f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x460]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eac91
jmp 0x4eac9f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x460]
mov dword [ebp - 0x1c], edx
jmp 0x4eac65
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x464], 0
jmp 0x4eacc3
mov ecx, dword [ebp - 0x464]
add ecx, 1
mov dword [ebp - 0x464], ecx
cmp dword [ebp - 0x464], 0
jge 0x4ead10
cmp dword [ebp - 0x1c], 0
jge 0x4eacda
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 0x4eacf0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x468], 0xfa
lea edx, [ebp - 0x468]
push edx
lea eax, [ebp - 0x660]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eacb4
mov dword [ebp - 0x664], 0
jmp 0x4ead2b
mov ecx, dword [ebp - 0x664]
add ecx, 1
mov dword [ebp - 0x664], ecx
cmp dword [ebp - 0x664], 0xd
jge 0x4ead42
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], edx
jmp 0x4ead1c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ead54
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 0x4ead6c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4eada6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x668], eax
mov eax, dword [ebp - 0x668]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ead98
jmp 0x4eada6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x668]
mov dword [ebp - 0x1c], edx
jmp 0x4ead6c
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x66c], 0
jmp 0x4eadca
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 0xa
jge 0x4eae17
cmp dword [ebp - 0x1c], 0
jge 0x4eade1
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 0x4eadf7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x670], 0xfa
lea edx, [ebp - 0x670]
push edx
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eadbb
mov dword [ebp - 0x86c], 0
jmp 0x4eae32
mov ecx, dword [ebp - 0x86c]
add ecx, 1
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 0xf
jge 0x4eae7f
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eae61
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eae71
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], edx
jmp 0x4eae7d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], eax
jmp 0x4eae23
mov dword [ebp - 4], 1
mov dword [ebp - 0x870], 0xffffffff
mov dword [ebp - 0x874], 0
jmp 0x4eaeab
mov ecx, dword [ebp - 0x874]
add ecx, 1
mov dword [ebp - 0x874], ecx
cmp dword [ebp - 0x874], 4
jge 0x4eaedd
mov eax, dword [ebp - 0x874]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4eaed2
mov edx, dword [ebp - 0x870]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4eae9c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4eaefd
mov dword [ebp - 0x878], 0
jmp 0x4eaf18
mov edx, dword [ebp - 0x878]
add edx, 1
mov dword [ebp - 0x878], edx
cmp dword [ebp - 0x878], 0xd
jge 0x4eaf2f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x878]
mov dword [ebp - 0x1c], eax
jmp 0x4eaf09
cmp dword [ebp - 0x1c], 0
jge 0x4eaf3d
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 0x4eaf55
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x87c], 0xffffffff
mov dword [ebp - 0x880], 0
jmp 0x4eaf81
mov edx, dword [ebp - 0x880]
add edx, 1
mov dword [ebp - 0x880], edx
cmp dword [ebp - 0x880], 8
jge 0x4eafb3
mov eax, dword [ebp - 0x880]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4eafa8
mov edx, dword [ebp - 0x87c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4eaf72
mov dword [ebp - 4], 0xfffffffe
jmp 0x4eafd3
mov dword [ebp - 0x884], 0
jmp 0x4eafee
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
cmp dword [ebp - 0x884], 6
jge 0x4eb02f
cmp dword [ebp - 0x1c], 0
jge 0x4eb005
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 0x4eb01b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4eafdf
mov dword [ebp - 0xa84], 0
jmp 0x4eb04a
mov eax, dword [ebp - 0xa84]
add eax, 1
mov dword [ebp - 0xa84], eax
cmp dword [ebp - 0xa84], 0
jge 0x4eb061
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xa84]
mov dword [ebp - 0x1c], ecx
jmp 0x4eb03b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4eb073
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 0x4eb08b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa88], 0
jmp 0x4eb0a6
mov edx, dword [ebp - 0xa88]
add edx, 1
mov dword [ebp - 0xa88], edx
cmp dword [ebp - 0xa88], 1
jge 0x4eb0e7
cmp dword [ebp - 0x1c], 0
jge 0x4eb0bd
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 0x4eb0d3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4eb097
mov dword [ebp - 0xc84], 0
jmp 0x4eb102
mov eax, dword [ebp - 0xc84]
add eax, 1
mov dword [ebp - 0xc84], eax
cmp dword [ebp - 0xc84], 3
jge 0x4eb14f
cmp dword [ebp - 0x1c], 0
jge 0x4eb119
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 0x4eb12f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc88], 0xfa
lea edx, [ebp - 0xc88]
push edx
lea eax, [ebp - 0xe80]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eb0f3
mov dword [ebp - 0xe84], 0
jmp 0x4eb16a
mov ecx, dword [ebp - 0xe84]
add ecx, 1
mov dword [ebp - 0xe84], ecx
cmp dword [ebp - 0xe84], 3
jge 0x4eb1ab
cmp dword [ebp - 0x1c], 0
jge 0x4eb181
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 0x4eb197
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1080]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4eb15b
mov dword [ebp - 0x1084], 0
jmp 0x4eb1c6
mov eax, dword [ebp - 0x1084]
add eax, 1
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 1
jge 0x4eb1dd
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1084]
mov dword [ebp - 0x1c], ecx
jmp 0x4eb1b7
cmp dword [ebp - 0x1c], 0
jge 0x4eb1eb
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 0x4eb203
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1088], 0
jmp 0x4eb21e
mov edx, dword [ebp - 0x1088]
add edx, 1
mov dword [ebp - 0x1088], edx
cmp dword [ebp - 0x1088], 4
jge 0x4eb26b
mov eax, dword [ebp - 0x1088]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eb24d
mov eax, dword [ebp - 0x1088]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eb25d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1088]
mov dword [ebp - 0x1c], edx
jmp 0x4eb269
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1088]
mov dword [ebp - 0x1c], eax
jmp 0x4eb20f
mov dword [ebp - 4], 3
mov dword [ebp - 0x108c], 0xffffffff
mov dword [ebp - 0x1090], 0
jmp 0x4eb297
mov ecx, dword [ebp - 0x1090]
add ecx, 1
mov dword [ebp - 0x1090], ecx
cmp dword [ebp - 0x1090], 3
jge 0x4eb2c9
mov eax, dword [ebp - 0x1090]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4eb2be
mov edx, dword [ebp - 0x108c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4eb288
mov dword [ebp - 4], 0xfffffffe
jmp 0x4eb2e9
mov edx, 1
test edx, edx
je 0x4eb323
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1094], eax
mov eax, dword [ebp - 0x1094]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eb315
jmp 0x4eb323
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4eb2e9
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4eb366
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 0x4eb358
jmp 0x4eb366
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], edx
jmp 0x4eb32c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x109c], 0
jmp 0x4eb387
mov ecx, dword [ebp - 0x109c]
add ecx, 1
mov dword [ebp - 0x109c], ecx
cmp dword [ebp - 0x109c], 0
jge 0x4eb39e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x4eb378
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4eb3b0
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 0x4eb3c8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x4eb3e3
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 2
jge 0x4eb424
cmp dword [ebp - 0x1c], 0
jge 0x4eb3fa
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 0x4eb410
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1298]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4eb3d4
mov dword [ebp - 4], 4
mov dword [ebp - 0x129c], 0xffffffff
mov dword [ebp - 0x12a0], 0
jmp 0x4eb450
mov eax, dword [ebp - 0x12a0]
add eax, 1
mov dword [ebp - 0x12a0], eax
cmp dword [ebp - 0x12a0], 1
jge 0x4eb482
mov eax, dword [ebp - 0x12a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4eb477
mov edx, dword [ebp - 0x129c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4eb441
mov dword [ebp - 4], 0xfffffffe
jmp 0x4eb4a2
mov dword [ebp - 0x12a4], 0
jmp 0x4eb4bd
mov edx, dword [ebp - 0x12a4]
add edx, 1
mov dword [ebp - 0x12a4], edx
cmp dword [ebp - 0x12a4], 2
jge 0x4eb4d4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], eax
jmp 0x4eb4ae
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4eb4e6
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 0x4eb4fe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a8], 0
jmp 0x4eb519
mov edx, dword [ebp - 0x12a8]
add edx, 1
mov dword [ebp - 0x12a8], edx
cmp dword [ebp - 0x12a8], 0
jge 0x4eb55a
cmp dword [ebp - 0x1c], 0
jge 0x4eb530
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 0x4eb546
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4eb50a
mov dword [ebp - 0x14a4], 0
jmp 0x4eb575
mov eax, dword [ebp - 0x14a4]
add eax, 1
mov dword [ebp - 0x14a4], eax
cmp dword [ebp - 0x14a4], 3
jge 0x4eb58c
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14a4]
mov dword [ebp - 0x1c], ecx
jmp 0x4eb566
cmp dword [ebp - 0x1c], 0
jge 0x4eb59a
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 0x4eb5b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x14a8], 0xffffffff
mov dword [ebp - 0x14ac], 0
jmp 0x4eb5de
mov edx, dword [ebp - 0x14ac]
add edx, 1
mov dword [ebp - 0x14ac], edx
cmp dword [ebp - 0x14ac], 2
jge 0x4eb610
mov eax, dword [ebp - 0x14ac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4eb605
mov edx, dword [ebp - 0x14a8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4eb5cf
mov dword [ebp - 4], 0xfffffffe
jmp 0x4eb630
mov dword [ebp - 0x14b0], 0
jmp 0x4eb64b
mov edx, dword [ebp - 0x14b0]
add edx, 1
mov dword [ebp - 0x14b0], edx
cmp dword [ebp - 0x14b0], 3
jge 0x4eb698
cmp dword [ebp - 0x1c], 0
jge 0x4eb662
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 0x4eb678
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b4], 0xfa
lea edx, [ebp - 0x14b4]
push edx
lea eax, [ebp - 0x16b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eb63c
mov ecx, 1
test ecx, ecx
je 0x4eb6d2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16b4], eax
mov eax, dword [ebp - 0x16b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eb6c4
jmp 0x4eb6d2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x4eb698
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b8], 0
jmp 0x4eb6f6
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 2
jge 0x4eb743
cmp dword [ebp - 0x1c], 0
jge 0x4eb70d
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 0x4eb723
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16bc], 0xfa
lea edx, [ebp - 0x16bc]
push edx
lea eax, [ebp - 0x18b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eb6e7
mov ecx, 1
test ecx, ecx
je 0x4eb77d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18bc], eax
mov eax, dword [ebp - 0x18bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eb76f
jmp 0x4eb77d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], edx
jmp 0x4eb743
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18c0], 0
jmp 0x4eb7a1
mov ecx, dword [ebp - 0x18c0]
add ecx, 1
mov dword [ebp - 0x18c0], ecx
cmp dword [ebp - 0x18c0], 1
jge 0x4eb7ee
cmp dword [ebp - 0x1c], 0
jge 0x4eb7b8
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 0x4eb7ce
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c4], 0xfa
lea edx, [ebp - 0x18c4]
push edx
lea eax, [ebp - 0x1ac0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eb792
mov dword [ebp - 0x1ac4], 0
jmp 0x4eb809
mov ecx, dword [ebp - 0x1ac4]
add ecx, 1
mov dword [ebp - 0x1ac4], ecx
cmp dword [ebp - 0x1ac4], 0
jge 0x4eb856
cmp dword [ebp - 0x1c], 0
jge 0x4eb820
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 0x4eb836
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ac8], 0xfa
lea edx, [ebp - 0x1ac8]
push edx
lea eax, [ebp - 0x1cc0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eb7fa
mov dword [ebp - 0x1cc4], 0
jmp 0x4eb871
mov ecx, dword [ebp - 0x1cc4]
add ecx, 1
mov dword [ebp - 0x1cc4], ecx
cmp dword [ebp - 0x1cc4], 0
jge 0x4eb8b2
cmp dword [ebp - 0x1c], 0
jge 0x4eb888
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 0x4eb89e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ec0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4eb862
mov eax, 1
test eax, eax
je 0x4eb8ec
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ec4], eax
mov eax, dword [ebp - 0x1ec4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4eb8de
jmp 0x4eb8ec
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ec4]
mov dword [ebp - 0x1c], edx
jmp 0x4eb8b2
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ec8], 0
jmp 0x4eb90d
mov ecx, dword [ebp - 0x1ec8]
add ecx, 1
mov dword [ebp - 0x1ec8], ecx
cmp dword [ebp - 0x1ec8], 0
jge 0x4eb95a
mov eax, dword [ebp - 0x1ec8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eb93c
mov eax, dword [ebp - 0x1ec8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eb94c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ec8]
mov dword [ebp - 0x1c], edx
jmp 0x4eb958
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ec8]
mov dword [ebp - 0x1c], eax
jmp 0x4eb8fe
mov dword [ebp - 0x1ecc], 0
jmp 0x4eb975
mov ecx, dword [ebp - 0x1ecc]
add ecx, 1
mov dword [ebp - 0x1ecc], ecx
cmp dword [ebp - 0x1ecc], 4
jge 0x4eb9c2
cmp dword [ebp - 0x1c], 0
jge 0x4eb98c
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 0x4eb9a2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ed0], 0xfa
lea edx, [ebp - 0x1ed0]
push edx
lea eax, [ebp - 0x20c8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4eb966
mov dword [ebp - 0x20cc], 0
jmp 0x4eb9dd
cmp dword [ebp - 0x20cc], 2
jge 0x4eba2a
mov eax, dword [ebp - 0x20cc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4eba0c
mov eax, dword [ebp - 0x20cc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4eba1c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20cc]
mov dword [ebp - 0x1c], edx
jmp 0x4eba28
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20cc]
mov dword [ebp - 0x1c], eax
jmp 0x4eb9ce
mov dword [ebp - 0x20d0], 0
jmp 0x4eba45
cmp dword [ebp - 0x20d0], 0
jge 0x4eba86
cmp dword [ebp - 0x1c], 0
jge 0x4eba5c
mov dword [ebp - 0x22cc], 0
jmp 0x4ebaa1