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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5137c8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3940
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 eax, 1
test eax, eax
je 0x4c6a78
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c6a6d
jmp 0x4c6a78
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4c6a47
mov eax, dword [ebp - 0x1c]
add eax, 0x19
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4c6a93
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x29
jge 0x4c6aa4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4c6a8a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c6ab6
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 0x4c6ace
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c6aff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c6af4
jmp 0x4c6aff
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4c6ace
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4c6b1a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 3
jge 0x4c6b2b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4c6b11
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c6b3d
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 0x4c6b55
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4c6b67
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0xe
jge 0x4c6ba5
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c6b8d
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c6b9a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4c6ba3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x4c6b5e
mov dword [ebp - 0x34], 0
jmp 0x4c6bb7
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 0xc
jge 0x4c6bf5
cmp dword [ebp - 0x1c], 0
jge 0x4c6bcb
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 0x4c6be1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x230]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c6bae
mov eax, 1
test eax, eax
je 0x4c6c2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c6c21
jmp 0x4c6c2f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4c6bf5
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4c6c53
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 5
jge 0x4c6ca0
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c6c82
mov eax, dword [ebp - 0x238]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c6c92
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4c6c9e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x238]
mov dword [ebp - 0x1c], eax
jmp 0x4c6c44
mov dword [ebp - 0x23c], 0
jmp 0x4c6cbb
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 0x10
jge 0x4c6cfc
cmp dword [ebp - 0x1c], 0
jge 0x4c6cd2
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 0x4c6ce8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c6cac
mov dword [ebp - 0x43c], 0
jmp 0x4c6d17
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
jge 0x4c6d2e
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], ecx
jmp 0x4c6d08
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c6d40
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 0x4c6d58
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x440], 0
jmp 0x4c6d73
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 0xc
jge 0x4c6d8a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x440]
mov dword [ebp - 0x1c], eax
jmp 0x4c6d64
cmp dword [ebp - 0x1c], 0
jge 0x4c6d98
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 0x4c6db0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x444], 0
jmp 0x4c6dcb
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 1
jge 0x4c6e0c
cmp dword [ebp - 0x1c], 0
jge 0x4c6de2
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 0x4c6df8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x640]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c6dbc
mov dword [ebp - 0x644], 0
jmp 0x4c6e27
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 9
jge 0x4c6e68
cmp dword [ebp - 0x1c], 0
jge 0x4c6e3e
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 0x4c6e54
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c6e18
mov eax, 1
test eax, eax
je 0x4c6ea2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x844], eax
mov eax, dword [ebp - 0x844]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c6e94
jmp 0x4c6ea2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x844]
mov dword [ebp - 0x1c], edx
jmp 0x4c6e68
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x848], 0
jmp 0x4c6ec6
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 5
jge 0x4c6edd
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x848]
mov dword [ebp - 0x1c], edx
jmp 0x4c6eb7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c6eef
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 0x4c6f07
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84c], 0
jmp 0x4c6f22
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 0xd
jge 0x4c6f39
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], eax
jmp 0x4c6f13
cmp dword [ebp - 0x1c], 0
jge 0x4c6f47
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 0x4c6f5f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x4c6f7a
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 2
jge 0x4c6f91
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x850]
mov dword [ebp - 0x1c], eax
jmp 0x4c6f6b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c6fa3
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 0x4c6fbb
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c6ff5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x854]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c6fe7
jmp 0x4c6ff5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x4c6fbb
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x858], 0
jmp 0x4c7019
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
cmp dword [ebp - 0x858], 9
jge 0x4c7030
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x858]
mov dword [ebp - 0x1c], edx
jmp 0x4c700a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c7042
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 0x4c705a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x85c], 0
jmp 0x4c7075
mov edx, dword [ebp - 0x85c]
add edx, 1
mov dword [ebp - 0x85c], edx
cmp dword [ebp - 0x85c], 6
jge 0x4c708c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], eax
jmp 0x4c7066
cmp dword [ebp - 0x1c], 0
jge 0x4c709a
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 0x4c70b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x860], 0xffffffff
mov dword [ebp - 0x864], 0
jmp 0x4c70de
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
cmp dword [ebp - 0x864], 0xb
jge 0x4c7110
mov eax, dword [ebp - 0x864]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c7105
mov edx, dword [ebp - 0x860]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c70cf
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c7130
mov dword [ebp - 4], 1
mov dword [ebp - 0x868], 0xffffffff
mov dword [ebp - 0x86c], 0
jmp 0x4c715c
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
cmp dword [ebp - 0x86c], 0xb
jge 0x4c718e
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c7183
mov edx, dword [ebp - 0x868]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c714d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c71ae
mov dword [ebp - 0x870], 0
jmp 0x4c71c9
mov edx, dword [ebp - 0x870]
add edx, 1
mov dword [ebp - 0x870], edx
cmp dword [ebp - 0x870], 6
jge 0x4c71e0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x870]
mov dword [ebp - 0x1c], eax
jmp 0x4c71ba
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c71f2
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 0x4c720a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c7244
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x874], eax
mov eax, dword [ebp - 0x874]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c7236
jmp 0x4c7244
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x874]
mov dword [ebp - 0x1c], edx
jmp 0x4c720a
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x878], 0
jmp 0x4c7268
mov ecx, dword [ebp - 0x878]
add ecx, 1
mov dword [ebp - 0x878], ecx
cmp dword [ebp - 0x878], 8
jge 0x4c72b5
mov eax, dword [ebp - 0x878]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c7297
mov eax, dword [ebp - 0x878]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c72a7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x878]
mov dword [ebp - 0x1c], edx
jmp 0x4c72b3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x878]
mov dword [ebp - 0x1c], eax
jmp 0x4c7259
mov dword [ebp - 0x87c], 0
jmp 0x4c72d0
mov ecx, dword [ebp - 0x87c]
add ecx, 1
mov dword [ebp - 0x87c], ecx
cmp dword [ebp - 0x87c], 2
jge 0x4c72e7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x87c]
mov dword [ebp - 0x1c], edx
jmp 0x4c72c1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c72f9
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 0x4c7311
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x880], 0
jmp 0x4c732c
mov edx, dword [ebp - 0x880]
add edx, 1
mov dword [ebp - 0x880], edx
cmp dword [ebp - 0x880], 3
jge 0x4c7343
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x880]
mov dword [ebp - 0x1c], eax
jmp 0x4c731d
cmp dword [ebp - 0x1c], 0
jge 0x4c7351
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 0x4c7369
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x884], 0
jmp 0x4c7384
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
cmp dword [ebp - 0x884], 3
jge 0x4c739b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x884]
mov dword [ebp - 0x1c], eax
jmp 0x4c7375
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c73ad
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 0x4c73c5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x888], 0
jmp 0x4c73e0
mov edx, dword [ebp - 0x888]
add edx, 1
mov dword [ebp - 0x888], edx
cmp dword [ebp - 0x888], 0
jge 0x4c742d
cmp dword [ebp - 0x1c], 0
jge 0x4c73f7
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 0x4c740d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x88c], 0xfa
lea edx, [ebp - 0x88c]
push edx
lea eax, [ebp - 0xa88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c73d1
mov dword [ebp - 4], 2
mov dword [ebp - 0xa8c], 0xffffffff
mov dword [ebp - 0xa90], 0
jmp 0x4c7459
mov ecx, dword [ebp - 0xa90]
add ecx, 1
mov dword [ebp - 0xa90], ecx
cmp dword [ebp - 0xa90], 2
jge 0x4c748b
mov eax, dword [ebp - 0xa90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4c7480
mov edx, dword [ebp - 0xa8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4c744a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4c74ab
mov dword [ebp - 0xa94], 0
jmp 0x4c74c6
mov edx, dword [ebp - 0xa94]
add edx, 1
mov dword [ebp - 0xa94], edx
cmp dword [ebp - 0xa94], 8
jge 0x4c74dd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa94]
mov dword [ebp - 0x1c], eax
jmp 0x4c74b7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c74ef
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 0x4c7507
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa98], 0
jmp 0x4c7522
mov edx, dword [ebp - 0xa98]
add edx, 1
mov dword [ebp - 0xa98], edx
cmp dword [ebp - 0xa98], 0
jge 0x4c7563
cmp dword [ebp - 0x1c], 0
jge 0x4c7539
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 0x4c754f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c7513
mov dword [ebp - 0xc94], 0
jmp 0x4c757e
mov eax, dword [ebp - 0xc94]
add eax, 1
mov dword [ebp - 0xc94], eax
cmp dword [ebp - 0xc94], 5
jge 0x4c75cb
cmp dword [ebp - 0x1c], 0
jge 0x4c7595
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 0x4c75ab
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc98], 0xfa
lea edx, [ebp - 0xc98]
push edx
lea eax, [ebp - 0xe90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c756f
mov dword [ebp - 0xe94], 0
jmp 0x4c75e6
mov ecx, dword [ebp - 0xe94]
add ecx, 1
mov dword [ebp - 0xe94], ecx
cmp dword [ebp - 0xe94], 1
jge 0x4c7633
cmp dword [ebp - 0x1c], 0
jge 0x4c75fd
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 0x4c7613
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe98], 0xfa
lea edx, [ebp - 0xe98]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c75d7
mov dword [ebp - 0x1094], 0
jmp 0x4c764e
mov ecx, dword [ebp - 0x1094]
add ecx, 1
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 8
jge 0x4c7665
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4c763f
cmp dword [ebp - 0x1c], 0
jge 0x4c7673
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 0x4c768b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1098], 0
jmp 0x4c76a6
mov edx, dword [ebp - 0x1098]
add edx, 1
mov dword [ebp - 0x1098], edx
cmp dword [ebp - 0x1098], 7
jge 0x4c76f3
cmp dword [ebp - 0x1c], 0
jge 0x4c76bd
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 0x4c76d3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x109c], 0xfa
lea edx, [ebp - 0x109c]
push edx
lea eax, [ebp - 0x1298]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c7697
mov dword [ebp - 0x129c], 0
jmp 0x4c770e
mov ecx, dword [ebp - 0x129c]
add ecx, 1
mov dword [ebp - 0x129c], ecx
cmp dword [ebp - 0x129c], 2
jge 0x4c775b
mov eax, dword [ebp - 0x129c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c773d
mov eax, dword [ebp - 0x129c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c774d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], edx
jmp 0x4c7759
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], eax
jmp 0x4c76ff
mov dword [ebp - 0x12a0], 0
jmp 0x4c7776
mov ecx, dword [ebp - 0x12a0]
add ecx, 1
mov dword [ebp - 0x12a0], ecx
cmp dword [ebp - 0x12a0], 4
jge 0x4c77c3
mov eax, dword [ebp - 0x12a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c77a5
mov eax, dword [ebp - 0x12a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c77b5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a0]
mov dword [ebp - 0x1c], edx
jmp 0x4c77c1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12a0]
mov dword [ebp - 0x1c], eax
jmp 0x4c7767
mov dword [ebp - 0x12a4], 0
jmp 0x4c77de
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 5
jge 0x4c77f5
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x4c77cf
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4c7807
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 0x4c781f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4c7859
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12a8], eax
mov eax, dword [ebp - 0x12a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c784b
jmp 0x4c7859
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12a8]
mov dword [ebp - 0x1c], edx
jmp 0x4c781f
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4c789c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12ac], eax
mov eax, dword [ebp - 0x12ac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4c788e
jmp 0x4c789c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12ac]
mov dword [ebp - 0x1c], edx
jmp 0x4c7862
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b0], 0
jmp 0x4c78c0
mov ecx, dword [ebp - 0x12b0]
add ecx, 1
mov dword [ebp - 0x12b0], ecx
cmp dword [ebp - 0x12b0], 4
jge 0x4c7901
cmp dword [ebp - 0x1c], 0
jge 0x4c78d7
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 0x4c78ed
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4c78b1
mov dword [ebp - 0x14ac], 0
jmp 0x4c791c
mov eax, dword [ebp - 0x14ac]
add eax, 1
mov dword [ebp - 0x14ac], eax
cmp dword [ebp - 0x14ac], 0
jge 0x4c7933
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], ecx
jmp 0x4c790d
cmp dword [ebp - 0x1c], 0
jge 0x4c7941
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 0x4c7959
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b0], 0
jmp 0x4c7974
mov edx, dword [ebp - 0x14b0]
add edx, 1
mov dword [ebp - 0x14b0], edx
cmp dword [ebp - 0x14b0], 6
jge 0x4c798b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x14b0]
mov dword [ebp - 0x1c], eax
jmp 0x4c7965
cmp dword [ebp - 0x1c], 0
jge 0x4c7999
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 0x4c79b1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b4], 0
jmp 0x4c79cc
mov edx, dword [ebp - 0x14b4]
add edx, 1
mov dword [ebp - 0x14b4], edx
cmp dword [ebp - 0x14b4], 3
jge 0x4c7a19
cmp dword [ebp - 0x1c], 0
jge 0x4c79e3
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 0x4c79f9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b8], 0xfa
lea edx, [ebp - 0x14b8]
push edx
lea eax, [ebp - 0x16b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4c79bd
mov ecx, 1
test ecx, ecx
je 0x4c7a53
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 0x4c7a45
jmp 0x4c7a53
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], edx
jmp 0x4c7a19
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b8], 0
jmp 0x4c7a77
mov ecx, dword [ebp - 0x16b8]
add ecx, 1
mov dword [ebp - 0x16b8], ecx
cmp dword [ebp - 0x16b8], 3
jge 0x4c7ac4
mov eax, dword [ebp - 0x16b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4c7aa6
mov eax, dword [ebp - 0x16b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4c7ab6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16b8]
mov dword [ebp - 0x1c], edx
jmp 0x4c7ac2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16b8]
mov dword [ebp - 0x1c], eax
jmp 0x4c7a68
mov dword [ebp - 0x16bc], 0
jmp 0x4c7adf
mov ecx, dword [ebp - 0x16bc]
add ecx, 1
mov dword [ebp - 0x16bc], ecx
cmp dword [ebp - 0x16bc], 4
jge 0x4c7af6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x16bc]
mov dword [ebp - 0x1c], edx
jmp 0x4c7ad0
cmp dword [ebp - 0x1c], 0
jge 0x4c7b04
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 0x4c7b1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c0], 0
jmp 0x4c7b37