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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512628
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x18b8
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 0x4904b7
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x19
jge 0x4904e0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4904d5
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 0x4904ae
mov dword [ebp - 4], 0xfffffffe
jmp 0x490500
mov dword [ebp - 0x28], 0
jmp 0x490512
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x1d
jge 0x490523
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x490509
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x490535
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 0x49054d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x49055f
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0xa
jge 0x490570
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x490556
cmp dword [ebp - 0x1c], 0
jge 0x49057e
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 0x490596
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4905a8
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 1
jge 0x4905b9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x49059f
cmp dword [ebp - 0x1c], 0
jge 0x4905c7
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 0x4905df
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], 0
jmp 0x4905f1
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 8
jge 0x490602
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x4905e8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x490614
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 0x49062c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0
jmp 0x49064c
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 1
jge 0x490675
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49066a
mov edx, dword [ebp - 0x38]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x490643
mov dword [ebp - 4], 0xfffffffe
jmp 0x490695
mov dword [ebp - 0x40], 0
jmp 0x4906a7
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0xa
jge 0x4906e5
cmp dword [ebp - 0x1c], 0
jge 0x4906bb
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 0x4906d1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x240]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49069e
mov dword [ebp - 0x244], 0
jmp 0x490700
mov eax, dword [ebp - 0x244]
add eax, 1
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 8
jge 0x49074d
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49072f
mov eax, dword [ebp - 0x244]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49073f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x244]
mov dword [ebp - 0x1c], edx
jmp 0x49074b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x244]
mov dword [ebp - 0x1c], eax
jmp 0x4906f1
mov dword [ebp - 4], 2
mov dword [ebp - 0x248], 0xffffffff
mov dword [ebp - 0x24c], 0
jmp 0x490779
mov ecx, dword [ebp - 0x24c]
add ecx, 1
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 0xc
jge 0x4907ab
mov eax, dword [ebp - 0x24c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4907a0
mov edx, dword [ebp - 0x248]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49076a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4907cb
mov dword [ebp - 0x250], 0
jmp 0x4907e6
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 0xc
jge 0x490833
cmp dword [ebp - 0x1c], 0
jge 0x4907fd
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 0x490813
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x254], 0xfa
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x450]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4907d7
mov dword [ebp - 0x454], 0
jmp 0x49084e
mov ecx, dword [ebp - 0x454]
add ecx, 1
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x454], 0x10
jge 0x49089b
cmp dword [ebp - 0x1c], 0
jge 0x490865
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 0x49087b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x458], 0xfa
lea edx, [ebp - 0x458]
push edx
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49083f
mov dword [ebp - 4], 3
mov dword [ebp - 0x654], 0xffffffff
mov dword [ebp - 0x658], 0
jmp 0x4908c7
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 8
jge 0x4908f9
mov eax, dword [ebp - 0x658]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4908ee
mov edx, dword [ebp - 0x654]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4908b8
mov dword [ebp - 4], 0xfffffffe
jmp 0x490919
mov dword [ebp - 4], 4
mov dword [ebp - 0x65c], 0xffffffff
mov dword [ebp - 0x660], 0
jmp 0x490945
mov edx, dword [ebp - 0x660]
add edx, 1
mov dword [ebp - 0x660], edx
cmp dword [ebp - 0x660], 0xa
jge 0x490977
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49096c
mov edx, dword [ebp - 0x65c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x490936
mov dword [ebp - 4], 0xfffffffe
jmp 0x490997
mov dword [ebp - 4], 5
mov dword [ebp - 0x664], 0xffffffff
mov dword [ebp - 0x668], 0
jmp 0x4909c3
mov edx, dword [ebp - 0x668]
add edx, 1
mov dword [ebp - 0x668], edx
cmp dword [ebp - 0x668], 0
jge 0x4909f5
mov eax, dword [ebp - 0x668]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4909ea
mov edx, dword [ebp - 0x664]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4909b4
mov dword [ebp - 4], 0xfffffffe
jmp 0x490a15
mov dword [ebp - 0x66c], 0
jmp 0x490a30
mov edx, dword [ebp - 0x66c]
add edx, 1
mov dword [ebp - 0x66c], edx
cmp dword [ebp - 0x66c], 6
jge 0x490a7d
cmp dword [ebp - 0x1c], 0
jge 0x490a47
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 0x490a5d
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 0x490a21
mov dword [ebp - 0x86c], 0
jmp 0x490a98
mov ecx, dword [ebp - 0x86c]
add ecx, 1
mov dword [ebp - 0x86c], ecx
cmp dword [ebp - 0x86c], 5
jge 0x490ad9
cmp dword [ebp - 0x1c], 0
jge 0x490aaf
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 0x490ac5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa68]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x490a89
mov dword [ebp - 0xa6c], 0
jmp 0x490af4
mov eax, dword [ebp - 0xa6c]
add eax, 1
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 8
jge 0x490b0b
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], ecx
jmp 0x490ae5
cmp dword [ebp - 0x1c], 0
jge 0x490b19
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 0x490b31
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x490b4c
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 5
jge 0x490b99
cmp dword [ebp - 0x1c], 0
jge 0x490b63
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 0x490b79
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa74], 0xfa
lea edx, [ebp - 0xa74]
push edx
lea eax, [ebp - 0xc70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x490b3d
mov ecx, 1
test ecx, ecx
je 0x490bd3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc74], eax
mov eax, dword [ebp - 0xc74]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x490bc5
jmp 0x490bd3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], edx
jmp 0x490b99
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc78], 0
jmp 0x490bf7
mov ecx, dword [ebp - 0xc78]
add ecx, 1
mov dword [ebp - 0xc78], ecx
cmp dword [ebp - 0xc78], 2
jge 0x490c0e
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc78]
mov dword [ebp - 0x1c], edx
jmp 0x490be8
cmp dword [ebp - 0x1c], 0
jge 0x490c1c
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 0x490c34
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x490c6e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc7c], eax
mov eax, dword [ebp - 0xc7c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x490c60
jmp 0x490c6e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], edx
jmp 0x490c34
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0xc80], 0xffffffff
mov dword [ebp - 0xc84], 0
jmp 0x490ca3
mov ecx, dword [ebp - 0xc84]
add ecx, 1
mov dword [ebp - 0xc84], ecx
cmp dword [ebp - 0xc84], 1
jge 0x490cd5
mov eax, dword [ebp - 0xc84]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x490cca
mov edx, dword [ebp - 0xc80]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x490c94
mov dword [ebp - 4], 0xfffffffe
jmp 0x490cf5
mov dword [ebp - 0xc88], 0
jmp 0x490d10
mov edx, dword [ebp - 0xc88]
add edx, 1
mov dword [ebp - 0xc88], edx
cmp dword [ebp - 0xc88], 1
jge 0x490d27
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc88]
mov dword [ebp - 0x1c], eax
jmp 0x490d01
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x490d39
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 0x490d51
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x490d8b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc8c], eax
mov eax, dword [ebp - 0xc8c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x490d7d
jmp 0x490d8b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x1c], edx
jmp 0x490d51
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc90], 0
jmp 0x490daf
mov ecx, dword [ebp - 0xc90]
add ecx, 1
mov dword [ebp - 0xc90], ecx
cmp dword [ebp - 0xc90], 2
jge 0x490df0
cmp dword [ebp - 0x1c], 0
jge 0x490dc6
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 0x490ddc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe88]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x490da0
mov dword [ebp - 0xe8c], 0
jmp 0x490e0b
mov eax, dword [ebp - 0xe8c]
add eax, 1
mov dword [ebp - 0xe8c], eax
cmp dword [ebp - 0xe8c], 2
jge 0x490e22
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], ecx
jmp 0x490dfc
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x490e34
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 0x490e4c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x490e86
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe90], eax
mov eax, dword [ebp - 0xe90]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x490e78
jmp 0x490e86
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe90]
mov dword [ebp - 0x1c], edx
jmp 0x490e4c
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0xe94], 0xffffffff
mov dword [ebp - 0xe98], 0
jmp 0x490ebb
mov ecx, dword [ebp - 0xe98]
add ecx, 1
mov dword [ebp - 0xe98], ecx
cmp dword [ebp - 0xe98], 0
jge 0x490eed
mov eax, dword [ebp - 0xe98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x490ee2
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 0x490eac
mov dword [ebp - 4], 0xfffffffe
jmp 0x490f0d
mov dword [ebp - 0xe9c], 0
jmp 0x490f28
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
cmp dword [ebp - 0xe9c], 4
jge 0x490f3f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], eax
jmp 0x490f19
cmp dword [ebp - 0x1c], 0
jge 0x490f4d
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 0x490f65
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x490f80
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 1
jge 0x490fcd
mov eax, dword [ebp - 0xea0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x490faf
mov eax, dword [ebp - 0xea0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x490fbf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xea0]
mov dword [ebp - 0x1c], edx
jmp 0x490fcb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xea0]
mov dword [ebp - 0x1c], eax
jmp 0x490f71
mov dword [ebp - 0xea4], 0
jmp 0x490fe8
mov ecx, dword [ebp - 0xea4]
add ecx, 1
mov dword [ebp - 0xea4], ecx
cmp dword [ebp - 0xea4], 4
jge 0x491035
cmp dword [ebp - 0x1c], 0
jge 0x490fff
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 0x491015
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xea8], 0xfa
lea edx, [ebp - 0xea8]
push edx
lea eax, [ebp - 0x10a0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x490fd9
mov ecx, 1
test ecx, ecx
je 0x49106f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10a4], eax
mov eax, dword [ebp - 0x10a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x491061
jmp 0x49106f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], edx
jmp 0x491035
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a8], 0
jmp 0x491090
mov ecx, dword [ebp - 0x10a8]
add ecx, 1
mov dword [ebp - 0x10a8], ecx
cmp dword [ebp - 0x10a8], 2
jge 0x4910a7
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a8]
mov dword [ebp - 0x1c], edx
jmp 0x491081
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4910b9
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 0x4910d1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10ac], 0
jmp 0x4910ec
mov edx, dword [ebp - 0x10ac]
add edx, 1
mov dword [ebp - 0x10ac], edx
cmp dword [ebp - 0x10ac], 1
jge 0x491103
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x10ac]
mov dword [ebp - 0x1c], eax
jmp 0x4910dd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x491115
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 0x49112d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 8
mov dword [ebp - 0x10b0], 0xffffffff
mov dword [ebp - 0x10b4], 0
jmp 0x491159
mov edx, dword [ebp - 0x10b4]
add edx, 1
mov dword [ebp - 0x10b4], edx
cmp dword [ebp - 0x10b4], 2
jge 0x49118b
mov eax, dword [ebp - 0x10b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x491180
mov edx, dword [ebp - 0x10b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49114a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4911ab
mov dword [ebp - 0x10b8], 0
jmp 0x4911c6
mov edx, dword [ebp - 0x10b8]
add edx, 1
mov dword [ebp - 0x10b8], edx
cmp dword [ebp - 0x10b8], 2
jge 0x491213
mov eax, dword [ebp - 0x10b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4911f5
mov eax, dword [ebp - 0x10b8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x491205
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10b8]
mov dword [ebp - 0x1c], edx
jmp 0x491211
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10b8]
mov dword [ebp - 0x1c], eax
jmp 0x4911b7
mov dword [ebp - 0x10bc], 0
jmp 0x49122e
mov ecx, dword [ebp - 0x10bc]
add ecx, 1
mov dword [ebp - 0x10bc], ecx
cmp dword [ebp - 0x10bc], 0
jge 0x491245
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x10bc]
mov dword [ebp - 0x1c], edx
jmp 0x49121f
cmp dword [ebp - 0x1c], 0
jge 0x491253
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 0x49126b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10c0], 0
jmp 0x491286
mov edx, dword [ebp - 0x10c0]
add edx, 1
mov dword [ebp - 0x10c0], edx
cmp dword [ebp - 0x10c0], 1
jge 0x4912c7
cmp dword [ebp - 0x1c], 0
jge 0x49129d
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 0x4912b3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x491277
mov dword [ebp - 0x12bc], 0
jmp 0x4912e2
mov eax, dword [ebp - 0x12bc]
add eax, 1
mov dword [ebp - 0x12bc], eax
cmp dword [ebp - 0x12bc], 1
jge 0x49132f
cmp dword [ebp - 0x1c], 0
jge 0x4912f9
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 0x49130f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12c0], 0xfa
lea edx, [ebp - 0x12c0]
push edx
lea eax, [ebp - 0x14b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4912d3
mov dword [ebp - 0x14bc], 0
jmp 0x49134a
mov ecx, dword [ebp - 0x14bc]
add ecx, 1
mov dword [ebp - 0x14bc], ecx
cmp dword [ebp - 0x14bc], 2
jge 0x49138b
cmp dword [ebp - 0x1c], 0
jge 0x491361
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 0x491377
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49133b
mov dword [ebp - 4], 9
mov dword [ebp - 0x16bc], 0xffffffff
mov dword [ebp - 0x16c0], 0
jmp 0x4913b7
mov eax, dword [ebp - 0x16c0]
add eax, 1
mov dword [ebp - 0x16c0], eax
cmp dword [ebp - 0x16c0], 2
jge 0x4913e9
mov eax, dword [ebp - 0x16c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4913de
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 0x4913a8
mov dword [ebp - 4], 0xfffffffe
jmp 0x491409
mov dword [ebp - 0x16c4], 0
jmp 0x491424
mov edx, dword [ebp - 0x16c4]
add edx, 1
mov dword [ebp - 0x16c4], edx
cmp dword [ebp - 0x16c4], 3
jge 0x49143b
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x16c4]
mov dword [ebp - 0x1c], eax
jmp 0x491415
cmp dword [ebp - 0x1c], 0
jge 0x491449
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 0x491461
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16c8], 0
jmp 0x49147c
mov edx, dword [ebp - 0x16c8]
add edx, 1
mov dword [ebp - 0x16c8], edx
cmp dword [ebp - 0x16c8], 4
jge 0x4914c9
cmp dword [ebp - 0x1c], 0
jge 0x491493
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 0x4914a9
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 0x49146d
mov dword [ebp - 0x18cc], 0
jmp 0x4914e4
mov ecx, dword [ebp - 0x18cc]
add ecx, 1
mov dword [ebp - 0x18cc], ecx
cmp dword [ebp - 0x18cc], 3
jge 0x4914fb
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18cc]
mov dword [ebp - 0x1c], edx
jmp 0x4914d5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49150d
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 0x491525
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d0], 0
jmp 0x491540
mov edx, dword [ebp - 0x18d0]
add edx, 1
mov dword [ebp - 0x18d0], edx
cmp dword [ebp - 0x18d0], 2
jge 0x491557
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18d0]
mov dword [ebp - 0x1c], eax
jmp 0x491531
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x491569
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 0x491581
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x44]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret