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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5141a8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x18b4
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 0x4e3bb9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xd
jge 0x4e3bca
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4e3bb0
cmp dword [ebp - 0x1c], 0
jge 0x4e3bd8
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 0x4e3bf0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4e3c02
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x20
jge 0x4e3c40
cmp dword [ebp - 0x1c], 0
jge 0x4e3c16
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 0x4e3c2c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e3bf9
mov dword [ebp - 0x224], 0
jmp 0x4e3c5b
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 1
jge 0x4e3c72
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], ecx
jmp 0x4e3c4c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e3c84
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 0x4e3c9c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4e3cb7
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
cmp dword [ebp - 0x228], 0x16
jge 0x4e3d04
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e3ce6
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e3cf6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x228]
mov dword [ebp - 0x1c], edx
jmp 0x4e3d02
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x228]
mov dword [ebp - 0x1c], eax
jmp 0x4e3ca8
mov dword [ebp - 0x22c], 0
jmp 0x4e3d1f
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 1
jge 0x4e3d36
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x4e3d10
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e3d48
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 0x4e3d60
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x4e3d7b
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0xb
jge 0x4e3d92
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x4e3d6c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e3da4
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 0x4e3dbc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e3df6
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 0x4e3de8
jmp 0x4e3df6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4e3dbc
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x4e3e1a
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0xa
jge 0x4e3e31
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x4e3e0b
cmp dword [ebp - 0x1c], 0
jge 0x4e3e3f
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 0x4e3e57
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x23c], 0
jmp 0x4e3e72
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 2
jge 0x4e3e89
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
jmp 0x4e3e63
cmp dword [ebp - 0x1c], 0
jge 0x4e3e97
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 0x4e3eaf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x4e3eca
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 2
jge 0x4e3f17
cmp dword [ebp - 0x1c], 0
jge 0x4e3ee1
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 0x4e3ef7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x244], 0xfa
lea edx, [ebp - 0x244]
push edx
lea eax, [ebp - 0x440]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e3ebb
mov dword [ebp - 0x444], 0
jmp 0x4e3f32
mov ecx, dword [ebp - 0x444]
add ecx, 1
mov dword [ebp - 0x444], ecx
cmp dword [ebp - 0x444], 6
jge 0x4e3f73
cmp dword [ebp - 0x1c], 0
jge 0x4e3f49
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 0x4e3f5f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x640]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e3f23
mov dword [ebp - 0x644], 0
jmp 0x4e3f8e
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 5
jge 0x4e3fcf
cmp dword [ebp - 0x1c], 0
jge 0x4e3fa5
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 0x4e3fbb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e3f7f
mov eax, 1
test eax, eax
je 0x4e4009
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 0x4e3ffb
jmp 0x4e4009
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x844]
mov dword [ebp - 0x1c], edx
jmp 0x4e3fcf
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4e404c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x848], eax
mov eax, dword [ebp - 0x848]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e403e
jmp 0x4e404c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x848]
mov dword [ebp - 0x1c], edx
jmp 0x4e4012
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x84c], 0
jmp 0x4e4070
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 2
jge 0x4e4087
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], edx
jmp 0x4e4061
cmp dword [ebp - 0x1c], 0
jge 0x4e4095
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 0x4e40ad
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x850], 0xffffffff
mov dword [ebp - 0x854], 0
jmp 0x4e40d9
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 4
jge 0x4e410b
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e4100
mov edx, dword [ebp - 0x850]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e40ca
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e412b
mov dword [ebp - 0x858], 0
jmp 0x4e4146
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 5
jge 0x4e415d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x858]
mov dword [ebp - 0x1c], eax
jmp 0x4e4137
cmp dword [ebp - 0x1c], 0
jge 0x4e416b
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 0x4e4183
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x85c], 0
jmp 0x4e419e
mov edx, dword [ebp - 0x85c]
add edx, 1
mov dword [ebp - 0x85c], edx
cmp dword [ebp - 0x85c], 5
jge 0x4e41eb
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e41cd
mov eax, dword [ebp - 0x85c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e41dd
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x4e41e9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], eax
jmp 0x4e418f
mov ecx, 1
test ecx, ecx
je 0x4e4225
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e4217
jmp 0x4e4225
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x860]
mov dword [ebp - 0x1c], edx
jmp 0x4e41eb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x864], 0
jmp 0x4e4246
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
cmp dword [ebp - 0x864], 8
jge 0x4e4293
cmp dword [ebp - 0x1c], 0
jge 0x4e425d
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 0x4e4273
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x868], 0xfa
lea edx, [ebp - 0x868]
push edx
lea eax, [ebp - 0xa60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e4237
mov dword [ebp - 0xa64], 0
jmp 0x4e42ae
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
cmp dword [ebp - 0xa64], 1
jge 0x4e42ef
cmp dword [ebp - 0x1c], 0
jge 0x4e42c5
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 0x4e42db
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e429f
mov dword [ebp - 0xc64], 0
jmp 0x4e430a
mov eax, dword [ebp - 0xc64]
add eax, 1
mov dword [ebp - 0xc64], eax
cmp dword [ebp - 0xc64], 2
jge 0x4e4357
mov eax, dword [ebp - 0xc64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e4339
mov eax, dword [ebp - 0xc64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e4349
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], edx
jmp 0x4e4355
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc64]
mov dword [ebp - 0x1c], eax
jmp 0x4e42fb
mov ecx, 1
test ecx, ecx
je 0x4e4391
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc68], eax
mov eax, dword [ebp - 0xc68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e4383
jmp 0x4e4391
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc68]
mov dword [ebp - 0x1c], edx
jmp 0x4e4357
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc6c], 0
jmp 0x4e43b5
mov ecx, dword [ebp - 0xc6c]
add ecx, 1
mov dword [ebp - 0xc6c], ecx
cmp dword [ebp - 0xc6c], 1
jge 0x4e43cc
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x4e43a6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e43de
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 0x4e43f6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc70], 0
jmp 0x4e4411
mov edx, dword [ebp - 0xc70]
add edx, 1
mov dword [ebp - 0xc70], edx
cmp dword [ebp - 0xc70], 5
jge 0x4e445e
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e4440
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e4450
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], edx
jmp 0x4e445c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc70]
mov dword [ebp - 0x1c], eax
jmp 0x4e4402
mov dword [ebp - 0xc74], 0
jmp 0x4e4479
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 5
jge 0x4e4490
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], edx
jmp 0x4e446a
cmp dword [ebp - 0x1c], 0
jge 0x4e449e
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 0x4e44b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x4e44d1
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 1
jge 0x4e44e8
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], eax
jmp 0x4e44c2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e44fa
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 0x4e4512
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc7c], 0
jmp 0x4e452d
mov edx, dword [ebp - 0xc7c]
add edx, 1
mov dword [ebp - 0xc7c], edx
cmp dword [ebp - 0xc7c], 6
jge 0x4e4544
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], eax
jmp 0x4e451e
cmp dword [ebp - 0x1c], 0
jge 0x4e4552
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 0x4e456a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x4e4585
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 2
jge 0x4e459c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x4e4576
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e45ae
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 0x4e45c6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc84], 0
jmp 0x4e45e1
mov edx, dword [ebp - 0xc84]
add edx, 1
mov dword [ebp - 0xc84], edx
cmp dword [ebp - 0xc84], 7
jge 0x4e45f8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], eax
jmp 0x4e45d2
cmp dword [ebp - 0x1c], 0
jge 0x4e4606
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 0x4e461e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc88], 0
jmp 0x4e4639
mov edx, dword [ebp - 0xc88]
add edx, 1
mov dword [ebp - 0xc88], edx
cmp dword [ebp - 0xc88], 2
jge 0x4e4650
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc88]
mov dword [ebp - 0x1c], eax
jmp 0x4e462a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e4662
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 0x4e467a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xc8c], 0xffffffff
mov dword [ebp - 0xc90], 0
jmp 0x4e46a6
mov edx, dword [ebp - 0xc90]
add edx, 1
mov dword [ebp - 0xc90], edx
cmp dword [ebp - 0xc90], 0
jge 0x4e46d8
mov eax, dword [ebp - 0xc90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e46cd
mov edx, dword [ebp - 0xc8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e4697
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e46f8
mov dword [ebp - 0xc94], 0
jmp 0x4e4713
mov edx, dword [ebp - 0xc94]
add edx, 1
mov dword [ebp - 0xc94], edx
cmp dword [ebp - 0xc94], 2
jge 0x4e4760
cmp dword [ebp - 0x1c], 0
jge 0x4e472a
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 0x4e4740
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 0x4e4704
mov dword [ebp - 4], 2
mov dword [ebp - 0xe94], 0xffffffff
mov dword [ebp - 0xe98], 0
jmp 0x4e478c
mov ecx, dword [ebp - 0xe98]
add ecx, 1
mov dword [ebp - 0xe98], ecx
cmp dword [ebp - 0xe98], 3
jge 0x4e47be
mov eax, dword [ebp - 0xe98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e47b3
mov edx, dword [ebp - 0xe94]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e477d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e47de
mov dword [ebp - 0xe9c], 0
jmp 0x4e47f9
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
cmp dword [ebp - 0xe9c], 7
jge 0x4e4810
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], eax
jmp 0x4e47ea
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e4822
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 0x4e483a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x4e4855
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 4
jge 0x4e486c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xea0]
mov dword [ebp - 0x1c], eax
jmp 0x4e4846
cmp dword [ebp - 0x1c], 0
jge 0x4e487a
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 0x4e4892
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea4], 0
jmp 0x4e48ad
mov edx, dword [ebp - 0xea4]
add edx, 1
mov dword [ebp - 0xea4], edx
cmp dword [ebp - 0xea4], 2
jge 0x4e48ee
cmp dword [ebp - 0x1c], 0
jge 0x4e48c4
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 0x4e48da
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10a0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e489e
mov dword [ebp - 0x10a4], 0
jmp 0x4e4909
mov eax, dword [ebp - 0x10a4]
add eax, 1
mov dword [ebp - 0x10a4], eax
cmp dword [ebp - 0x10a4], 4
jge 0x4e4920
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], ecx
jmp 0x4e48fa
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e4932
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 0x4e494a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a8], 0
jmp 0x4e4965
mov edx, dword [ebp - 0x10a8]
add edx, 1
mov dword [ebp - 0x10a8], edx
cmp dword [ebp - 0x10a8], 0
jge 0x4e497c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x10a8]
mov dword [ebp - 0x1c], eax
jmp 0x4e4956
cmp dword [ebp - 0x1c], 0
jge 0x4e498a
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 0x4e49a2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10ac], 0
jmp 0x4e49bd
mov edx, dword [ebp - 0x10ac]
add edx, 1
mov dword [ebp - 0x10ac], edx
cmp dword [ebp - 0x10ac], 0
jge 0x4e4a0a
cmp dword [ebp - 0x1c], 0
jge 0x4e49d4
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 0x4e49ea
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10b0], 0xfa
lea edx, [ebp - 0x10b0]
push edx
lea eax, [ebp - 0x12a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e49ae
mov dword [ebp - 4], 3
mov dword [ebp - 0x12ac], 0xffffffff
mov dword [ebp - 0x12b0], 0
jmp 0x4e4a36
mov ecx, dword [ebp - 0x12b0]
add ecx, 1
mov dword [ebp - 0x12b0], ecx
cmp dword [ebp - 0x12b0], 1
jge 0x4e4a68
mov eax, dword [ebp - 0x12b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e4a5d
mov edx, dword [ebp - 0x12ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e4a27
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e4a88
mov dword [ebp - 0x12b4], 0
jmp 0x4e4aa3
mov edx, dword [ebp - 0x12b4]
add edx, 1
mov dword [ebp - 0x12b4], edx
cmp dword [ebp - 0x12b4], 1
jge 0x4e4af0
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e4ad2
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e4ae2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], edx
jmp 0x4e4aee
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], eax
jmp 0x4e4a94
mov dword [ebp - 0x12b8], 0
jmp 0x4e4b0b
mov ecx, dword [ebp - 0x12b8]
add ecx, 1
mov dword [ebp - 0x12b8], ecx
cmp dword [ebp - 0x12b8], 3
jge 0x4e4b58
mov eax, dword [ebp - 0x12b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e4b3a
mov eax, dword [ebp - 0x12b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e4b4a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12b8]
mov dword [ebp - 0x1c], edx
jmp 0x4e4b56
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12b8]
mov dword [ebp - 0x1c], eax
jmp 0x4e4afc
mov dword [ebp - 0x12bc], 0
jmp 0x4e4b73
mov ecx, dword [ebp - 0x12bc]
add ecx, 1
mov dword [ebp - 0x12bc], ecx
cmp dword [ebp - 0x12bc], 2
jge 0x4e4b8a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12bc]
mov dword [ebp - 0x1c], edx
jmp 0x4e4b64
cmp dword [ebp - 0x1c], 0
jge 0x4e4b98
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 0x4e4bb0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c0], 0
jmp 0x4e4bcb
cmp dword [ebp - 0x12c0], 0
jge 0x4e4c0c