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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512c10
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3348
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x44], 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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x4a0fb7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x22
jge 0x4a0fe0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a0fd5
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a0fae
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1000
mov edx, 1
test edx, edx
je 0x4a1031
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 0x4a1026
jmp 0x4a1031
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x4a1000
mov eax, dword [ebp - 0x1c]
add eax, 0x34
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x4a104c
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 8
jge 0x4a105d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4a1043
cmp dword [ebp - 0x1c], 0
jge 0x4a106b
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 0x4a1083
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4a10b4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a10a9
jmp 0x4a10b4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4a1083
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a10ee
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a10e3
jmp 0x4a10ee
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x4a10bd
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a1128
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a111d
jmp 0x4a1128
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], edx
jmp 0x4a10f7
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a1162
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a1157
jmp 0x4a1162
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
jmp 0x4a1131
mov eax, dword [ebp - 0x1c]
add eax, 0xf
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], 0
jmp 0x4a117d
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0xb
jge 0x4a11bb
cmp dword [ebp - 0x1c], 0
jge 0x4a1191
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 0x4a11a7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x240]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a1174
mov dword [ebp - 4], 1
mov dword [ebp - 0x244], 0xffffffff
mov dword [ebp - 0x248], 0
jmp 0x4a11e7
mov eax, dword [ebp - 0x248]
add eax, 1
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0xf
jge 0x4a1219
mov eax, dword [ebp - 0x248]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a120e
mov edx, dword [ebp - 0x244]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a11d8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1239
mov dword [ebp - 0x24c], 0
jmp 0x4a1254
mov edx, dword [ebp - 0x24c]
add edx, 1
mov dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 5
jge 0x4a126b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], eax
jmp 0x4a1245
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a127d
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 0x4a1295
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x250], 0
jmp 0x4a12b0
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 8
jge 0x4a12c7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x250]
mov dword [ebp - 0x1c], eax
jmp 0x4a12a1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a12d9
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 0x4a12f1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x254], 0
jmp 0x4a130c
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 4
jge 0x4a1323
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x254]
mov dword [ebp - 0x1c], eax
jmp 0x4a12fd
cmp dword [ebp - 0x1c], 0
jge 0x4a1331
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 0x4a1349
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x258], 0
jmp 0x4a1364
mov edx, dword [ebp - 0x258]
add edx, 1
mov dword [ebp - 0x258], edx
cmp dword [ebp - 0x258], 0
jge 0x4a137b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x258]
mov dword [ebp - 0x1c], eax
jmp 0x4a1355
cmp dword [ebp - 0x1c], 0
jge 0x4a1389
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 0x4a13a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x25c], 0
jmp 0x4a13bc
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 0
jge 0x4a1409
mov eax, dword [ebp - 0x25c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a13eb
mov eax, dword [ebp - 0x25c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a13fb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
jmp 0x4a1407
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], eax
jmp 0x4a13ad
mov dword [ebp - 4], 2
mov dword [ebp - 0x260], 0xffffffff
mov dword [ebp - 0x264], 0
jmp 0x4a1435
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp dword [ebp - 0x264], 6
jge 0x4a1467
mov eax, dword [ebp - 0x264]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a145c
mov edx, dword [ebp - 0x260]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a1426
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1487
mov dword [ebp - 0x268], 0
jmp 0x4a14a2
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 0
jge 0x4a14ef
cmp dword [ebp - 0x1c], 0
jge 0x4a14b9
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 0x4a14cf
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x26c], 0xfa
lea edx, [ebp - 0x26c]
push edx
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a1493
mov dword [ebp - 0x46c], 0
jmp 0x4a150a
mov ecx, dword [ebp - 0x46c]
add ecx, 1
mov dword [ebp - 0x46c], ecx
cmp dword [ebp - 0x46c], 4
jge 0x4a154b
cmp dword [ebp - 0x1c], 0
jge 0x4a1521
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 0x4a1537
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x668]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a14fb
mov dword [ebp - 0x66c], 0
jmp 0x4a1566
mov eax, dword [ebp - 0x66c]
add eax, 1
mov dword [ebp - 0x66c], eax
cmp dword [ebp - 0x66c], 1
jge 0x4a15b3
cmp dword [ebp - 0x1c], 0
jge 0x4a157d
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 0x4a1593
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 0x4a1557
mov dword [ebp - 0x86c], 0
jmp 0x4a15ce
mov ecx, dword [ebp - 0x86c]
add ecx, 1
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 1
jge 0x4a161b
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a15fd
mov eax, dword [ebp - 0x86c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a160d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], edx
jmp 0x4a1619
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x86c]
mov dword [ebp - 0x1c], eax
jmp 0x4a15bf
mov dword [ebp - 0x870], 0
jmp 0x4a1636
mov ecx, dword [ebp - 0x870]
add ecx, 1
mov dword [ebp - 0x870], ecx
cmp dword [ebp - 0x870], 7
jge 0x4a1677
cmp dword [ebp - 0x1c], 0
jge 0x4a164d
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 0x4a1663
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a1627
mov dword [ebp - 0xa6c], 0
jmp 0x4a1692
mov eax, dword [ebp - 0xa6c]
add eax, 1
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 8
jge 0x4a16d3
cmp dword [ebp - 0x1c], 0
jge 0x4a16a9
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 0x4a16bf
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a1683
mov dword [ebp - 4], 3
mov dword [ebp - 0xc6c], 0xffffffff
mov dword [ebp - 0xc70], 0
jmp 0x4a16ff
mov eax, dword [ebp - 0xc70]
add eax, 1
mov dword [ebp - 0xc70], eax
cmp dword [ebp - 0xc70], 6
jge 0x4a1731
mov eax, dword [ebp - 0xc70]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a1726
mov edx, dword [ebp - 0xc6c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a16f0
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1751
mov dword [ebp - 0xc74], 0
jmp 0x4a176c
mov edx, dword [ebp - 0xc74]
add edx, 1
mov dword [ebp - 0xc74], edx
cmp dword [ebp - 0xc74], 1
jge 0x4a1783
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], eax
jmp 0x4a175d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a1795
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 0x4a17ad
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x4a17c8
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 3
jge 0x4a1809
cmp dword [ebp - 0x1c], 0
jge 0x4a17df
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 0x4a17f5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a17b9
mov dword [ebp - 0xe74], 0
jmp 0x4a1824
mov eax, dword [ebp - 0xe74]
add eax, 1
mov dword [ebp - 0xe74], eax
cmp dword [ebp - 0xe74], 3
jge 0x4a1865
cmp dword [ebp - 0x1c], 0
jge 0x4a183b
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 0x4a1851
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1070]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a1815
mov dword [ebp - 0x1074], 0
jmp 0x4a1880
mov eax, dword [ebp - 0x1074]
add eax, 1
mov dword [ebp - 0x1074], eax
cmp dword [ebp - 0x1074], 3
jge 0x4a18c1
cmp dword [ebp - 0x1c], 0
jge 0x4a1897
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 0x4a18ad
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1270]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a1871
mov dword [ebp - 0x1274], 0
jmp 0x4a18dc
mov eax, dword [ebp - 0x1274]
add eax, 1
mov dword [ebp - 0x1274], eax
cmp dword [ebp - 0x1274], 4
jge 0x4a191d
cmp dword [ebp - 0x1c], 0
jge 0x4a18f3
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 0x4a1909
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1470]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a18cd
mov eax, 1
test eax, eax
je 0x4a1957
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1474], eax
mov eax, dword [ebp - 0x1474]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a1949
jmp 0x4a1957
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1474]
mov dword [ebp - 0x1c], edx
jmp 0x4a191d
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1478], 0
jmp 0x4a197b
mov ecx, dword [ebp - 0x1478]
add ecx, 1
mov dword [ebp - 0x1478], ecx
cmp dword [ebp - 0x1478], 4
jge 0x4a1992
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1478]
mov dword [ebp - 0x1c], edx
jmp 0x4a196c
cmp dword [ebp - 0x1c], 0
jge 0x4a19a0
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 0x4a19b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x147c], 0
jmp 0x4a19d3
mov edx, dword [ebp - 0x147c]
add edx, 1
mov dword [ebp - 0x147c], edx
cmp dword [ebp - 0x147c], 4
jge 0x4a19ea
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], eax
jmp 0x4a19c4
cmp dword [ebp - 0x1c], 0
jge 0x4a19f8
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 0x4a1a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x4a1a2b
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 4
jge 0x4a1a78
mov eax, dword [ebp - 0x1480]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a1a5a
mov eax, dword [ebp - 0x1480]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a1a6a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1480]
mov dword [ebp - 0x1c], edx
jmp 0x4a1a76
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1480]
mov dword [ebp - 0x1c], eax
jmp 0x4a1a1c
mov dword [ebp - 0x1484], 0
jmp 0x4a1a93
mov ecx, dword [ebp - 0x1484]
add ecx, 1
mov dword [ebp - 0x1484], ecx
cmp dword [ebp - 0x1484], 0
jge 0x4a1aaa
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], edx
jmp 0x4a1a84
cmp dword [ebp - 0x1c], 0
jge 0x4a1ab8
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 0x4a1ad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x4a1aeb
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 1
jge 0x4a1b02
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], eax
jmp 0x4a1adc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a1b14
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 0x4a1b2c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x148c], 0
jmp 0x4a1b47
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 4
jge 0x4a1b5e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], eax
jmp 0x4a1b38
cmp dword [ebp - 0x1c], 0
jge 0x4a1b6c
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 0x4a1b84
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1490], 0xffffffff
mov dword [ebp - 0x1494], 0
jmp 0x4a1bb0
mov edx, dword [ebp - 0x1494]
add edx, 1
mov dword [ebp - 0x1494], edx
cmp dword [ebp - 0x1494], 1
jge 0x4a1be2
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a1bd7
mov edx, dword [ebp - 0x1490]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a1ba1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1c02
mov edx, 1
test edx, edx
je 0x4a1c3c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1498], eax
mov eax, dword [ebp - 0x1498]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a1c2e
jmp 0x4a1c3c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], edx
jmp 0x4a1c02
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x149c], 0
jmp 0x4a1c60
mov ecx, dword [ebp - 0x149c]
add ecx, 1
mov dword [ebp - 0x149c], ecx
cmp dword [ebp - 0x149c], 4
jge 0x4a1c77
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x4a1c51
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a1c89
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 0x4a1ca1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x14a0], 0xffffffff
mov dword [ebp - 0x14a4], 0
jmp 0x4a1ccd
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
cmp dword [ebp - 0x14a4], 2
jge 0x4a1cff
mov eax, dword [ebp - 0x14a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a1cf4
mov edx, dword [ebp - 0x14a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a1cbe
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1d1f
mov dword [ebp - 4], 6
mov dword [ebp - 0x14a8], 0xffffffff
mov dword [ebp - 0x14ac], 0
jmp 0x4a1d4b
mov edx, dword [ebp - 0x14ac]
add edx, 1
mov dword [ebp - 0x14ac], edx
cmp dword [ebp - 0x14ac], 4
jge 0x4a1d7d
mov eax, dword [ebp - 0x14ac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a1d72
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 0x4a1d3c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1d9d
mov dword [ebp - 0x14b0], 0
jmp 0x4a1db8
mov edx, dword [ebp - 0x14b0]
add edx, 1
mov dword [ebp - 0x14b0], edx
cmp dword [ebp - 0x14b0], 4
jge 0x4a1dcf
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14b0]
mov dword [ebp - 0x1c], eax
jmp 0x4a1da9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a1de1
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 0x4a1df9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14b4], 0
jmp 0x4a1e14
mov edx, dword [ebp - 0x14b4]
add edx, 1
mov dword [ebp - 0x14b4], edx
cmp dword [ebp - 0x14b4], 1
jge 0x4a1e55
cmp dword [ebp - 0x1c], 0
jge 0x4a1e2b
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 0x4a1e41
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a1e05
mov dword [ebp - 4], 7
mov dword [ebp - 0x16b4], 0xffffffff
mov dword [ebp - 0x16b8], 0
jmp 0x4a1e81
mov eax, dword [ebp - 0x16b8]
add eax, 1
mov dword [ebp - 0x16b8], eax
cmp dword [ebp - 0x16b8], 2
jge 0x4a1eb3
mov eax, dword [ebp - 0x16b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a1ea8
mov edx, dword [ebp - 0x16b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a1e72
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1ed3
mov dword [ebp - 4], 8
mov dword [ebp - 0x16bc], 0xffffffff
mov dword [ebp - 0x16c0], 0
jmp 0x4a1eff
mov edx, dword [ebp - 0x16c0]
add edx, 1
mov dword [ebp - 0x16c0], edx
cmp dword [ebp - 0x16c0], 4
jge 0x4a1f31
mov eax, dword [ebp - 0x16c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a1f26
mov edx, dword [ebp - 0x16bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a1ef0
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a1f51
mov dword [ebp - 0x16c4], 0
jmp 0x4a1f6c
mov edx, dword [ebp - 0x16c4]
add edx, 1
mov dword [ebp - 0x16c4], edx
cmp dword [ebp - 0x16c4], 2
jge 0x4a1f83
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16c4]
mov dword [ebp - 0x1c], eax
jmp 0x4a1f5d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a1f95
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 0x4a1fad
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c8], 0
jmp 0x4a1fc8
mov edx, dword [ebp - 0x16c8]
add edx, 1
mov dword [ebp - 0x16c8], edx
cmp dword [ebp - 0x16c8], 3
jge 0x4a2015
cmp dword [ebp - 0x1c], 0
jge 0x4a1fdf
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 0x4a1ff5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16cc], 0xfa
lea edx, [ebp - 0x16cc]
push edx
lea eax, [ebp - 0x18c8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a1fb9
mov dword [ebp - 0x18cc], 0
jmp 0x4a2030
mov ecx, dword [ebp - 0x18cc]
add ecx, 1
mov dword [ebp - 0x18cc], ecx
cmp dword [ebp - 0x18cc], 4
jge 0x4a2047
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x18cc]
mov dword [ebp - 0x1c], edx
jmp 0x4a2021
cmp dword [ebp - 0x1c], 0
jge 0x4a2055
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 0x4a206d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4a20a7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18d0], eax
mov eax, dword [ebp - 0x18d0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a2099
jmp 0x4a20a7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18d0]
mov dword [ebp - 0x1c], edx
jmp 0x4a206d
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d4], 0
jmp 0x4a20cb
mov ecx, dword [ebp - 0x18d4]
add ecx, 1
mov dword [ebp - 0x18d4], ecx
cmp dword [ebp - 0x18d4], 1
jge 0x4a20e2
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], edx
jmp 0x4a20bc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a20f4
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 0x4a210c