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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512d60
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x311c
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 0x4a4b19
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x30
jge 0x4a4b5d
cmp dword [ebp - 0x1c], 0
jge 0x4a4b2d
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 0x4a4b43
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a4b10
mov dword [ebp - 0x224], 0
jmp 0x4a4b78
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0x1c
jge 0x4a4bc5
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a4ba7
mov eax, dword [ebp - 0x224]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a4bb7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4a4bc3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x224]
mov dword [ebp - 0x1c], eax
jmp 0x4a4b69
mov dword [ebp - 4], 0
mov dword [ebp - 0x228], 0xffffffff
mov dword [ebp - 0x22c], 0
jmp 0x4a4bf1
mov ecx, dword [ebp - 0x22c]
add ecx, 1
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0x36
jge 0x4a4c23
mov eax, dword [ebp - 0x22c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a4c18
mov edx, dword [ebp - 0x228]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a4be2
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a4c43
mov dword [ebp - 0x230], 0
jmp 0x4a4c5e
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0xf
jge 0x4a4c75
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x4a4c4f
cmp dword [ebp - 0x1c], 0
jge 0x4a4c83
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 0x4a4c9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x4a4cb6
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 0x10
jge 0x4a4ccd
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x4a4ca7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a4cdf
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 0x4a4cf7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x238], 0xffffffff
mov dword [ebp - 0x23c], 0
jmp 0x4a4d23
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0x12
jge 0x4a4d55
mov eax, dword [ebp - 0x23c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a4d4a
mov edx, dword [ebp - 0x238]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a4d14
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a4d75
mov dword [ebp - 0x240], 0
jmp 0x4a4d90
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 0x14
jge 0x4a4da7
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x240]
mov dword [ebp - 0x1c], eax
jmp 0x4a4d81
cmp dword [ebp - 0x1c], 0
jge 0x4a4db5
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 0x4a4dcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x244], 0
jmp 0x4a4de8
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0x1d
jge 0x4a4dff
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
jmp 0x4a4dd9
cmp dword [ebp - 0x1c], 0
jge 0x4a4e0d
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 0x4a4e25
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x248], 0
jmp 0x4a4e40
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 0x12
jge 0x4a4e81
cmp dword [ebp - 0x1c], 0
jge 0x4a4e57
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 0x4a4e6d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a4e31
mov dword [ebp - 0x444], 0
jmp 0x4a4e9c
mov eax, dword [ebp - 0x444]
add eax, 1
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 0x11
jge 0x4a4ee9
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a4ecb
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a4edb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x4a4ee7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x4a4e8d
mov dword [ebp - 0x448], 0
jmp 0x4a4f04
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0x10
jge 0x4a4f45
cmp dword [ebp - 0x1c], 0
jge 0x4a4f1b
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 0x4a4f31
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x640]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a4ef5
mov dword [ebp - 0x644], 0
jmp 0x4a4f60
mov eax, dword [ebp - 0x644]
add eax, 1
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 5
jge 0x4a4fad
cmp dword [ebp - 0x1c], 0
jge 0x4a4f77
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 0x4a4f8d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x648], 0xfa
lea edx, [ebp - 0x648]
push edx
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a4f51
mov dword [ebp - 4], 2
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x4a4fd9
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 4
jge 0x4a500b
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a5000
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a4fca
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a502b
mov dword [ebp - 0x84c], 0
jmp 0x4a5046
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 1
jge 0x4a5093
cmp dword [ebp - 0x1c], 0
jge 0x4a505d
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 0x4a5073
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x850], 0xfa
lea edx, [ebp - 0x850]
push edx
lea eax, [ebp - 0xa48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a5037
mov dword [ebp - 0xa4c], 0
jmp 0x4a50ae
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 4
jge 0x4a50ef
cmp dword [ebp - 0x1c], 0
jge 0x4a50c5
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 0x4a50db
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a509f
mov dword [ebp - 0xc4c], 0
jmp 0x4a510a
mov eax, dword [ebp - 0xc4c]
add eax, 1
mov dword [ebp - 0xc4c], eax
cmp dword [ebp - 0xc4c], 6
jge 0x4a514b
cmp dword [ebp - 0x1c], 0
jge 0x4a5121
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 0x4a5137
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a50fb
mov dword [ebp - 0xe4c], 0
jmp 0x4a5166
mov eax, dword [ebp - 0xe4c]
add eax, 1
mov dword [ebp - 0xe4c], eax
cmp dword [ebp - 0xe4c], 0
jge 0x4a51b3
cmp dword [ebp - 0x1c], 0
jge 0x4a517d
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 0x4a5193
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe50], 0xfa
lea edx, [ebp - 0xe50]
push edx
lea eax, [ebp - 0x1048]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a5157
mov dword [ebp - 0x104c], 0
jmp 0x4a51ce
mov ecx, dword [ebp - 0x104c]
add ecx, 1
mov dword [ebp - 0x104c], ecx
cmp dword [ebp - 0x104c], 0
jge 0x4a51e5
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x104c]
mov dword [ebp - 0x1c], edx
jmp 0x4a51bf
cmp dword [ebp - 0x1c], 0
jge 0x4a51f3
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 0x4a520b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1050], 0
jmp 0x4a5226
mov edx, dword [ebp - 0x1050]
add edx, 1
mov dword [ebp - 0x1050], edx
cmp dword [ebp - 0x1050], 5
jge 0x4a5273
cmp dword [ebp - 0x1c], 0
jge 0x4a523d
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 0x4a5253
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1054], 0xfa
lea edx, [ebp - 0x1054]
push edx
lea eax, [ebp - 0x1250]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a5217
mov dword [ebp - 0x1254], 0
jmp 0x4a528e
mov ecx, dword [ebp - 0x1254]
add ecx, 1
mov dword [ebp - 0x1254], ecx
cmp dword [ebp - 0x1254], 1
jge 0x4a52a5
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1254]
mov dword [ebp - 0x1c], edx
jmp 0x4a527f
cmp dword [ebp - 0x1c], 0
jge 0x4a52b3
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 0x4a52cb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x1258], 0xffffffff
mov dword [ebp - 0x125c], 0
jmp 0x4a52f7
mov edx, dword [ebp - 0x125c]
add edx, 1
mov dword [ebp - 0x125c], edx
cmp dword [ebp - 0x125c], 4
jge 0x4a5329
mov eax, dword [ebp - 0x125c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a531e
mov edx, dword [ebp - 0x1258]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a52e8
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a5349
mov dword [ebp - 0x1260], 0
jmp 0x4a5364
mov edx, dword [ebp - 0x1260]
add edx, 1
mov dword [ebp - 0x1260], edx
cmp dword [ebp - 0x1260], 0
jge 0x4a537b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1260]
mov dword [ebp - 0x1c], eax
jmp 0x4a5355
cmp dword [ebp - 0x1c], 0
jge 0x4a5389
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 0x4a53a1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1264], 0
jmp 0x4a53bc
mov edx, dword [ebp - 0x1264]
add edx, 1
mov dword [ebp - 0x1264], edx
cmp dword [ebp - 0x1264], 3
jge 0x4a53d3
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], eax
jmp 0x4a53ad
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a53e5
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 0x4a53fd
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1268], 0
jmp 0x4a5418
mov edx, dword [ebp - 0x1268]
add edx, 1
mov dword [ebp - 0x1268], edx
cmp dword [ebp - 0x1268], 1
jge 0x4a542f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1268]
mov dword [ebp - 0x1c], eax
jmp 0x4a5409
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a5441
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 0x4a5459
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x126c], 0
jmp 0x4a5474
mov edx, dword [ebp - 0x126c]
add edx, 1
mov dword [ebp - 0x126c], edx
cmp dword [ebp - 0x126c], 0
jge 0x4a54c1
mov eax, dword [ebp - 0x126c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a54a3
mov eax, dword [ebp - 0x126c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a54b3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], edx
jmp 0x4a54bf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], eax
jmp 0x4a5465
mov dword [ebp - 0x1270], 0
jmp 0x4a54dc
mov ecx, dword [ebp - 0x1270]
add ecx, 1
mov dword [ebp - 0x1270], ecx
cmp dword [ebp - 0x1270], 0
jge 0x4a54f3
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], edx
jmp 0x4a54cd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a5505
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 0x4a551d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4a5557
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1274], eax
mov eax, dword [ebp - 0x1274]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a5549
jmp 0x4a5557
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], edx
jmp 0x4a551d
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1278], 0xffffffff
mov dword [ebp - 0x127c], 0
jmp 0x4a558c
mov ecx, dword [ebp - 0x127c]
add ecx, 1
mov dword [ebp - 0x127c], ecx
cmp dword [ebp - 0x127c], 0
jge 0x4a55be
mov eax, dword [ebp - 0x127c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a55b3
mov edx, dword [ebp - 0x1278]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a557d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a55de
mov dword [ebp - 0x1280], 0
jmp 0x4a55f9
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 1
jge 0x4a5646
cmp dword [ebp - 0x1c], 0
jge 0x4a5610
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 0x4a5626
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1284], 0xfa
lea edx, [ebp - 0x1284]
push edx
lea eax, [ebp - 0x1480]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a55ea
mov dword [ebp - 0x1484], 0
jmp 0x4a5661
mov ecx, dword [ebp - 0x1484]
add ecx, 1
mov dword [ebp - 0x1484], ecx
cmp dword [ebp - 0x1484], 0
jge 0x4a56a2
cmp dword [ebp - 0x1c], 0
jge 0x4a5678
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 0x4a568e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1680]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a5652
mov dword [ebp - 0x1684], 0
jmp 0x4a56bd
mov eax, dword [ebp - 0x1684]
add eax, 1
mov dword [ebp - 0x1684], eax
cmp dword [ebp - 0x1684], 0
jge 0x4a56d4
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], ecx
jmp 0x4a56ae
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a56e6
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 0x4a56fe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1688], 0
jmp 0x4a5719
mov edx, dword [ebp - 0x1688]
add edx, 1
mov dword [ebp - 0x1688], edx
cmp dword [ebp - 0x1688], 2
jge 0x4a5766
cmp dword [ebp - 0x1c], 0
jge 0x4a5730
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 0x4a5746
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x168c], 0xfa
lea edx, [ebp - 0x168c]
push edx
lea eax, [ebp - 0x1888]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a570a
mov dword [ebp - 0x188c], 0
jmp 0x4a5781
mov ecx, dword [ebp - 0x188c]
add ecx, 1
mov dword [ebp - 0x188c], ecx
cmp dword [ebp - 0x188c], 2
jge 0x4a57ce
cmp dword [ebp - 0x1c], 0
jge 0x4a5798
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 0x4a57ae
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1890], 0xfa
lea edx, [ebp - 0x1890]
push edx
lea eax, [ebp - 0x1a88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a5772
mov dword [ebp - 0x1a8c], 0
jmp 0x4a57e9
mov ecx, dword [ebp - 0x1a8c]
add ecx, 1
mov dword [ebp - 0x1a8c], ecx
cmp dword [ebp - 0x1a8c], 3
jge 0x4a582a
cmp dword [ebp - 0x1c], 0
jge 0x4a5800
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 0x4a5816
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1c88]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a57da
mov dword [ebp - 0x1c8c], 0
jmp 0x4a5845
mov eax, dword [ebp - 0x1c8c]
add eax, 1
mov dword [ebp - 0x1c8c], eax
cmp dword [ebp - 0x1c8c], 3
jge 0x4a585c
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1c8c]
mov dword [ebp - 0x1c], ecx
jmp 0x4a5836
cmp dword [ebp - 0x1c], 0
jge 0x4a586a
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 0x4a5882
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c90], 0
jmp 0x4a589d
mov edx, dword [ebp - 0x1c90]
add edx, 1
mov dword [ebp - 0x1c90], edx
cmp dword [ebp - 0x1c90], 2
jge 0x4a58ea
cmp dword [ebp - 0x1c], 0
jge 0x4a58b4
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 0x4a58ca
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c94], 0xfa
lea edx, [ebp - 0x1c94]
push edx
lea eax, [ebp - 0x1e90]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a588e
mov ecx, 1
test ecx, ecx
je 0x4a5924
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1e94], eax
mov eax, dword [ebp - 0x1e94]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a5916
jmp 0x4a5924
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1e94]
mov dword [ebp - 0x1c], edx
jmp 0x4a58ea
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a5967
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1e98], eax
mov eax, dword [ebp - 0x1e98]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a5959
jmp 0x4a5967
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1e98]
mov dword [ebp - 0x1c], edx
jmp 0x4a592d
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1e9c], 0xffffffff
mov dword [ebp - 0x1ea0], 0
jmp 0x4a599c
mov ecx, dword [ebp - 0x1ea0]
add ecx, 1
mov dword [ebp - 0x1ea0], ecx
cmp dword [ebp - 0x1ea0], 1
jge 0x4a59ce
mov eax, dword [ebp - 0x1ea0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a59c3
mov edx, dword [ebp - 0x1e9c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a598d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a59ee
mov dword [ebp - 0x1ea4], 0
jmp 0x4a5a09
mov edx, dword [ebp - 0x1ea4]
add edx, 1
mov dword [ebp - 0x1ea4], edx
cmp dword [ebp - 0x1ea4], 2
jge 0x4a5a56
mov eax, dword [ebp - 0x1ea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a5a38
mov eax, dword [ebp - 0x1ea4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a5a48
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], edx
jmp 0x4a5a54
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1ea4]
mov dword [ebp - 0x1c], eax
jmp 0x4a59fa
mov dword [ebp - 0x1ea8], 0
jmp 0x4a5a71
mov ecx, dword [ebp - 0x1ea8]
add ecx, 1
mov dword [ebp - 0x1ea8], ecx
cmp dword [ebp - 0x1ea8], 0
jge 0x4a5a88
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ea8]
mov dword [ebp - 0x1c], edx
jmp 0x4a5a62
cmp dword [ebp - 0x1c], 0
jge 0x4a5a96
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 0x4a5aae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x1eac], 0xffffffff
mov dword [ebp - 0x1eb0], 0
jmp 0x4a5ada
mov edx, dword [ebp - 0x1eb0]
add edx, 1
mov dword [ebp - 0x1eb0], edx
cmp dword [ebp - 0x1eb0], 4
jge 0x4a5b0c
mov eax, dword [ebp - 0x1eb0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a5b01
mov edx, dword [ebp - 0x1eac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a5acb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a5b2c
mov dword [ebp - 0x1eb4], 0
jmp 0x4a5b47
mov edx, dword [ebp - 0x1eb4]
add edx, 1
mov dword [ebp - 0x1eb4], edx
cmp dword [ebp - 0x1eb4], 0
jge 0x4a5b94
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a5b76
mov eax, dword [ebp - 0x1eb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a5b86
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], edx
jmp 0x4a5b92
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], eax
jmp 0x4a5b38
mov dword [ebp - 0x1eb8], 0
jmp 0x4a5baf
mov ecx, dword [ebp - 0x1eb8]
add ecx, 1
mov dword [ebp - 0x1eb8], ecx
cmp dword [ebp - 0x1eb8], 2
jge 0x4a5bfc
mov eax, dword [ebp - 0x1eb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a5bde
mov eax, dword [ebp - 0x1eb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a5bee
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], edx
jmp 0x4a5bfa
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], eax
jmp 0x4a5ba0
mov dword [ebp - 0x1ebc], 0
jmp 0x4a5c17
mov ecx, dword [ebp - 0x1ebc]
add ecx, 1
mov dword [ebp - 0x1ebc], ecx
cmp dword [ebp - 0x1ebc], 3
jge 0x4a5c64
cmp dword [ebp - 0x1c], 0
jge 0x4a5c2e
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 0x4a5c44
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ec0], 0xfa
lea edx, [ebp - 0x1ec0]
push edx
lea eax, [ebp - 0x20b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a5c08
mov ecx, 1
test ecx, ecx
je 0x4a5c9e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20bc], eax
mov eax, dword [ebp - 0x20bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a5c90
jmp 0x4a5c9e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20bc]
mov dword [ebp - 0x1c], edx
jmp 0x4a5c64
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c0], 0
jmp 0x4a5cc2
mov ecx, dword [ebp - 0x20c0]
add ecx, 1
mov dword [ebp - 0x20c0], ecx
cmp dword [ebp - 0x20c0], 0
jge 0x4a5cd9
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20c0]
mov dword [ebp - 0x1c], edx
jmp 0x4a5cb3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a5ceb
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 0x4a5d03
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c4], 0
jmp 0x4a5d1e
cmp dword [ebp - 0x20c4], 3
jge 0x4a5d6b
cmp dword [ebp - 0x1c], 0
jge 0x4a5d35
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 0x4a5d4b
mov dword [ebp - 0x22c4], 0
jmp 0x4a5d86
cmp dword [ebp - 0x22c4], 0
jge 0x4a5dd3