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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x513080
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ea4
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x50], 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 0x4ae149
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x39
jge 0x4ae15a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4ae140
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ae16c
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 0x4ae184
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x4ae196
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x32
jge 0x4ae1d4
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ae1bc
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ae1c9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4ae1d2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x4ae18d
mov dword [ebp - 4], 0
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0
jmp 0x4ae1f4
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x3c
jge 0x4ae21d
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ae212
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ae1eb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ae23d
mov dword [ebp - 0x30], 0
jmp 0x4ae24f
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0xe
jge 0x4ae260
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x4ae246
cmp dword [ebp - 0x1c], 0
jge 0x4ae26e
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 0x4ae286
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
jmp 0x4ae298
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0xa
jge 0x4ae2a9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x4ae28f
cmp dword [ebp - 0x1c], 0
jge 0x4ae2b7
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 0x4ae2cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], 0
jmp 0x4ae2e1
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0xa
jge 0x4ae2f2
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
jmp 0x4ae2d8
cmp dword [ebp - 0x1c], 0
jge 0x4ae300
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 0x4ae318
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x3c], 0
jmp 0x4ae32a
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 5
jge 0x4ae33b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x4ae321
cmp dword [ebp - 0x1c], 0
jge 0x4ae349
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 0x4ae361
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], 0
jmp 0x4ae373
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0xa
jge 0x4ae3b1
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ae399
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ae3a6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], edx
jmp 0x4ae3af
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
jmp 0x4ae36a
mov ecx, 1
test ecx, ecx
je 0x4ae3e2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ae3d7
jmp 0x4ae3e2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x4ae3b1
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4ae41c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ae411
jmp 0x4ae41c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], edx
jmp 0x4ae3eb
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], 0
jmp 0x4ae437
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0x10
jge 0x4ae475
cmp dword [ebp - 0x1c], 0
jge 0x4ae44b
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 0x4ae461
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x248]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ae42e
mov dword [ebp - 0x24c], 0
jmp 0x4ae490
mov eax, dword [ebp - 0x24c]
add eax, 1
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jge 0x4ae4a7
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], ecx
jmp 0x4ae481
cmp dword [ebp - 0x1c], 0
jge 0x4ae4b5
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 0x4ae4cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x250], 0
jmp 0x4ae4e8
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 8
jge 0x4ae535
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ae517
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ae527
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x250]
mov dword [ebp - 0x1c], edx
jmp 0x4ae533
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x250]
mov dword [ebp - 0x1c], eax
jmp 0x4ae4d9
mov dword [ebp - 0x254], 0
jmp 0x4ae550
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x254], 2
jge 0x4ae59d
mov eax, dword [ebp - 0x254]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4ae57f
mov eax, dword [ebp - 0x254]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4ae58f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x254]
mov dword [ebp - 0x1c], edx
jmp 0x4ae59b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x254]
mov dword [ebp - 0x1c], eax
jmp 0x4ae541
mov ecx, 1
test ecx, ecx
je 0x4ae5d7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4ae5c9
jmp 0x4ae5d7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x258]
mov dword [ebp - 0x1c], edx
jmp 0x4ae59d
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x25c], 0
jmp 0x4ae5fb
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 4
jge 0x4ae612
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
jmp 0x4ae5ec
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ae624
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 0x4ae63c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x260], 0
jmp 0x4ae657
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x260], 7
jge 0x4ae6a4
cmp dword [ebp - 0x1c], 0
jge 0x4ae66e
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 0x4ae684
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x264], 0xfa
lea edx, [ebp - 0x264]
push edx
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ae648
mov dword [ebp - 0x464], 0
jmp 0x4ae6bf
mov ecx, dword [ebp - 0x464]
add ecx, 1
mov dword [ebp - 0x464], ecx
cmp dword [ebp - 0x464], 6
jge 0x4ae700
cmp dword [ebp - 0x1c], 0
jge 0x4ae6d6
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 0x4ae6ec
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x660]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ae6b0
mov dword [ebp - 0x664], 0
jmp 0x4ae71b
mov eax, dword [ebp - 0x664]
add eax, 1
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 1
jge 0x4ae732
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], ecx
jmp 0x4ae70c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4ae744
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 0x4ae75c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x668], 0xffffffff
mov dword [ebp - 0x66c], 0
jmp 0x4ae788
mov edx, dword [ebp - 0x66c]
add edx, 1
mov dword [ebp - 0x66c], edx
cmp dword [ebp - 0x66c], 1
jge 0x4ae7ba
mov eax, dword [ebp - 0x66c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4ae7af
mov edx, dword [ebp - 0x668]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4ae779
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ae7da
mov dword [ebp - 0x670], 0
jmp 0x4ae7f5
mov edx, dword [ebp - 0x670]
add edx, 1
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 2
jge 0x4ae80c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x670]
mov dword [ebp - 0x1c], eax
jmp 0x4ae7e6
cmp dword [ebp - 0x1c], 0
jge 0x4ae81a
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 0x4ae832
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x674], 0
jmp 0x4ae84d
mov edx, dword [ebp - 0x674]
add edx, 1
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x674], 3
jge 0x4ae89a
cmp dword [ebp - 0x1c], 0
jge 0x4ae864
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 0x4ae87a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x678], 0xfa
lea edx, [ebp - 0x678]
push edx
lea eax, [ebp - 0x870]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ae83e
mov ecx, 1
test ecx, ecx
je 0x4ae8d4
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 0x4ae8c6
jmp 0x4ae8d4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x874]
mov dword [ebp - 0x1c], edx
jmp 0x4ae89a
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x878], 0
jmp 0x4ae8f8
mov ecx, dword [ebp - 0x878]
add ecx, 1
mov dword [ebp - 0x878], ecx
cmp dword [ebp - 0x878], 0
jge 0x4ae945
cmp dword [ebp - 0x1c], 0
jge 0x4ae90f
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 0x4ae925
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x87c], 0xfa
lea edx, [ebp - 0x87c]
push edx
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ae8e9
mov dword [ebp - 0xa7c], 0
jmp 0x4ae960
mov ecx, dword [ebp - 0xa7c]
add ecx, 1
mov dword [ebp - 0xa7c], ecx
cmp dword [ebp - 0xa7c], 4
jge 0x4ae9a1
cmp dword [ebp - 0x1c], 0
jge 0x4ae977
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 0x4ae98d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4ae951
mov dword [ebp - 0xc7c], 0
jmp 0x4ae9bc
mov eax, dword [ebp - 0xc7c]
add eax, 1
mov dword [ebp - 0xc7c], eax
cmp dword [ebp - 0xc7c], 4
jge 0x4aea09
cmp dword [ebp - 0x1c], 0
jge 0x4ae9d3
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 0x4ae9e9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc80], 0xfa
lea edx, [ebp - 0xc80]
push edx
lea eax, [ebp - 0xe78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4ae9ad
mov dword [ebp - 0xe7c], 0
jmp 0x4aea24
mov ecx, dword [ebp - 0xe7c]
add ecx, 1
mov dword [ebp - 0xe7c], ecx
cmp dword [ebp - 0xe7c], 3
jge 0x4aea65
cmp dword [ebp - 0x1c], 0
jge 0x4aea3b
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 0x4aea51
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1078]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aea15
mov dword [ebp - 0x107c], 0
jmp 0x4aea80
mov eax, dword [ebp - 0x107c]
add eax, 1
mov dword [ebp - 0x107c], eax
cmp dword [ebp - 0x107c], 1
jge 0x4aea97
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], ecx
jmp 0x4aea71
cmp dword [ebp - 0x1c], 0
jge 0x4aeaa5
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 0x4aeabd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1080], 0
jmp 0x4aead8
mov edx, dword [ebp - 0x1080]
add edx, 1
mov dword [ebp - 0x1080], edx
cmp dword [ebp - 0x1080], 3
jge 0x4aeb19
cmp dword [ebp - 0x1c], 0
jge 0x4aeaef
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 0x4aeb05
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1278]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aeac9
mov dword [ebp - 0x127c], 0
jmp 0x4aeb34
mov eax, dword [ebp - 0x127c]
add eax, 1
mov dword [ebp - 0x127c], eax
cmp dword [ebp - 0x127c], 4
jge 0x4aeb4b
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], ecx
jmp 0x4aeb25
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4aeb5d
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 0x4aeb75
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1280], 0
jmp 0x4aeb90
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 3
jge 0x4aeba7
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], eax
jmp 0x4aeb81
cmp dword [ebp - 0x1c], 0
jge 0x4aebb5
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 0x4aebcd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1284], 0
jmp 0x4aebe8
mov edx, dword [ebp - 0x1284]
add edx, 1
mov dword [ebp - 0x1284], edx
cmp dword [ebp - 0x1284], 3
jge 0x4aec35
cmp dword [ebp - 0x1c], 0
jge 0x4aebff
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 0x4aec15
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1288], 0xfa
lea edx, [ebp - 0x1288]
push edx
lea eax, [ebp - 0x1480]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4aebd9
mov dword [ebp - 0x1484], 0
jmp 0x4aec50
mov ecx, dword [ebp - 0x1484]
add ecx, 1
mov dword [ebp - 0x1484], ecx
cmp dword [ebp - 0x1484], 1
jge 0x4aec67
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], edx
jmp 0x4aec41
cmp dword [ebp - 0x1c], 0
jge 0x4aec75
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 0x4aec8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1488], 0xffffffff
mov dword [ebp - 0x148c], 0
jmp 0x4aecb9
mov edx, dword [ebp - 0x148c]
add edx, 1
mov dword [ebp - 0x148c], edx
cmp dword [ebp - 0x148c], 3
jge 0x4aeceb
mov eax, dword [ebp - 0x148c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4aece0
mov edx, dword [ebp - 0x1488]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4aecaa
mov dword [ebp - 4], 0xfffffffe
jmp 0x4aed0b
mov dword [ebp - 4], 3
mov dword [ebp - 0x1490], 0xffffffff
mov dword [ebp - 0x1494], 0
jmp 0x4aed37
mov edx, dword [ebp - 0x1494]
add edx, 1
mov dword [ebp - 0x1494], edx
cmp dword [ebp - 0x1494], 0
jge 0x4aed69
mov eax, dword [ebp - 0x1494]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4aed5e
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 0x4aed28
mov dword [ebp - 4], 0xfffffffe
jmp 0x4aed89
mov dword [ebp - 0x1498], 0
jmp 0x4aeda4
mov edx, dword [ebp - 0x1498]
add edx, 1
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 3
jge 0x4aedf1
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4aedd3
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4aede3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], edx
jmp 0x4aedef
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], eax
jmp 0x4aed95
mov dword [ebp - 0x149c], 0
jmp 0x4aee0c
mov ecx, dword [ebp - 0x149c]
add ecx, 1
mov dword [ebp - 0x149c], ecx
cmp dword [ebp - 0x149c], 1
jge 0x4aee59
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4aee3b
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4aee4b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x4aee57
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], eax
jmp 0x4aedfd
mov dword [ebp - 0x14a0], 0
jmp 0x4aee74
mov ecx, dword [ebp - 0x14a0]
add ecx, 1
mov dword [ebp - 0x14a0], ecx
cmp dword [ebp - 0x14a0], 0
jge 0x4aeeb5
cmp dword [ebp - 0x1c], 0
jge 0x4aee8b
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 0x4aeea1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1698]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aee65
mov dword [ebp - 0x169c], 0
jmp 0x4aeed0
mov eax, dword [ebp - 0x169c]
add eax, 1
mov dword [ebp - 0x169c], eax
cmp dword [ebp - 0x169c], 1
jge 0x4aef1d
cmp dword [ebp - 0x1c], 0
jge 0x4aeee7
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 0x4aeefd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16a0], 0xfa
lea edx, [ebp - 0x16a0]
push edx
lea eax, [ebp - 0x1898]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4aeec1
mov dword [ebp - 0x189c], 0
jmp 0x4aef38
mov ecx, dword [ebp - 0x189c]
add ecx, 1
mov dword [ebp - 0x189c], ecx
cmp dword [ebp - 0x189c], 2
jge 0x4aef79
cmp dword [ebp - 0x1c], 0
jge 0x4aef4f
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 0x4aef65
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4aef29
mov dword [ebp - 0x1a9c], 0
jmp 0x4aef94
mov eax, dword [ebp - 0x1a9c]
add eax, 1
mov dword [ebp - 0x1a9c], eax
cmp dword [ebp - 0x1a9c], 4
jge 0x4aefab
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], ecx
jmp 0x4aef85
cmp dword [ebp - 0x1c], 0
jge 0x4aefb9
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 0x4aefd1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1aa0], 0xffffffff
mov dword [ebp - 0x1aa4], 0
jmp 0x4aeffd
mov edx, dword [ebp - 0x1aa4]
add edx, 1
mov dword [ebp - 0x1aa4], edx
cmp dword [ebp - 0x1aa4], 3
jge 0x4af02f
mov eax, dword [ebp - 0x1aa4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4af024
mov edx, dword [ebp - 0x1aa0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4aefee
mov dword [ebp - 4], 0xfffffffe
jmp 0x4af04f
mov dword [ebp - 0x1aa8], 0
jmp 0x4af06a
mov edx, dword [ebp - 0x1aa8]
add edx, 1
mov dword [ebp - 0x1aa8], edx
cmp dword [ebp - 0x1aa8], 4
jge 0x4af081
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1c], eax
jmp 0x4af05b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4af093
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 0x4af0ab
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aac], 0
jmp 0x4af0c6
mov edx, dword [ebp - 0x1aac]
add edx, 1
mov dword [ebp - 0x1aac], edx
cmp dword [ebp - 0x1aac], 1
jge 0x4af113
cmp dword [ebp - 0x1c], 0
jge 0x4af0dd
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 0x4af0f3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1ab0], 0xfa
lea edx, [ebp - 0x1ab0]
push edx
lea eax, [ebp - 0x1ca8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4af0b7
mov dword [ebp - 0x1cac], 0
jmp 0x4af12e
mov ecx, dword [ebp - 0x1cac]
add ecx, 1
mov dword [ebp - 0x1cac], ecx
cmp dword [ebp - 0x1cac], 3
jge 0x4af16f
cmp dword [ebp - 0x1c], 0
jge 0x4af145
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 0x4af15b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ea8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4af11f
mov dword [ebp - 4], 5
mov dword [ebp - 0x1eac], 0xffffffff
mov dword [ebp - 0x1eb0], 0
jmp 0x4af19b
mov eax, dword [ebp - 0x1eb0]
add eax, 1
mov dword [ebp - 0x1eb0], eax
cmp dword [ebp - 0x1eb0], 2
jge 0x4af1cd
mov eax, dword [ebp - 0x1eb0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4af1c2
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 0x4af18c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4af1ed
mov dword [ebp - 0x1eb4], 0
jmp 0x4af208
mov edx, dword [ebp - 0x1eb4]
add edx, 1
mov dword [ebp - 0x1eb4], edx
cmp dword [ebp - 0x1eb4], 0
jge 0x4af21f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], eax
jmp 0x4af1f9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4af231
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 0x4af249
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eb8], 0
jmp 0x4af264