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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5127b8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2d30
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x5c], 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 0x494959
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x35
jge 0x494997
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49497f
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49498c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x494995
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x494950
mov dword [ebp - 0x24], 0
jmp 0x4949a9
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x1f
jge 0x4949ba
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x4949a0
cmp dword [ebp - 0x1c], 0
jge 0x4949c8
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 0x4949e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4949f2
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0
jge 0x494a03
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x4949e9
cmp dword [ebp - 0x1c], 0
jge 0x494a11
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 0x494a29
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x494a3b
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 2
jge 0x494a4c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x494a32
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x494a5e
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 0x494a76
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x494a88
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0xe
jge 0x494ac6
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x494aae
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x494abb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x494ac4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x494a7f
mov dword [ebp - 0x34], 0
jmp 0x494ad8
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
cmp dword [ebp - 0x34], 5
jge 0x494b16
mov eax, dword [ebp - 0x34]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x494afe
mov eax, dword [ebp - 0x34]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x494b0b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
jmp 0x494b14
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
jmp 0x494acf
mov dword [ebp - 4], 0
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x3c], 0
jmp 0x494b36
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], 7
jge 0x494b5f
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x494b54
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 0x494b2d
mov dword [ebp - 4], 0xfffffffe
jmp 0x494b7f
mov edx, 1
test edx, edx
je 0x494bb0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x494ba5
jmp 0x494bb0
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], edx
jmp 0x494b7f
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44], 0
jmp 0x494bcb
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0x10
jge 0x494bdc
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x494bc2
cmp dword [ebp - 0x1c], 0
jge 0x494bea
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 0x494c02
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0
jmp 0x494c14
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0xa
jge 0x494c52
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x494c3a
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x494c47
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], edx
jmp 0x494c50
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x494c0b
mov dword [ebp - 0x4c], 0
jmp 0x494c64
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 5
jge 0x494c75
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], edx
jmp 0x494c5b
cmp dword [ebp - 0x1c], 0
jge 0x494c83
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 0x494c9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x50], 0
jmp 0x494cad
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0
jge 0x494cbe
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
jmp 0x494ca4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x494cd0
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 0x494ce8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x494d19
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x494d0e
jmp 0x494d19
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], edx
jmp 0x494ce8
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x58], 0
jmp 0x494d34
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 9
jge 0x494d72
cmp dword [ebp - 0x1c], 0
jge 0x494d48
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 0x494d5e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x258]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x494d2b
mov eax, 1
test eax, eax
je 0x494dac
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x494d9e
jmp 0x494dac
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
jmp 0x494d72
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x260], 0
jmp 0x494dd0
mov ecx, dword [ebp - 0x260]
add ecx, 1
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x260], 2
jge 0x494e1d
mov eax, dword [ebp - 0x260]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x494dff
mov eax, dword [ebp - 0x260]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x494e0f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x260]
mov dword [ebp - 0x1c], edx
jmp 0x494e1b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x260]
mov dword [ebp - 0x1c], eax
jmp 0x494dc1
mov dword [ebp - 0x264], 0
jmp 0x494e38
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp dword [ebp - 0x264], 0xa
jge 0x494e4f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x264]
mov dword [ebp - 0x1c], edx
jmp 0x494e29
cmp dword [ebp - 0x1c], 0
jge 0x494e5d
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 0x494e75
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x268], 0
jmp 0x494e90
mov edx, dword [ebp - 0x268]
add edx, 1
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 3
jge 0x494edd
mov eax, dword [ebp - 0x268]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x494ebf
mov eax, dword [ebp - 0x268]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x494ecf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x268]
mov dword [ebp - 0x1c], edx
jmp 0x494edb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x268]
mov dword [ebp - 0x1c], eax
jmp 0x494e81
mov ecx, 1
test ecx, ecx
je 0x494f17
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x494f09
jmp 0x494f17
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x26c]
mov dword [ebp - 0x1c], edx
jmp 0x494edd
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x270], 0
jmp 0x494f38
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x270], ecx
cmp dword [ebp - 0x270], 2
jge 0x494f4f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x270]
mov dword [ebp - 0x1c], edx
jmp 0x494f29
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x494f61
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 0x494f79
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x274], 0
jmp 0x494f94
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 3
jge 0x494fe1
cmp dword [ebp - 0x1c], 0
jge 0x494fab
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 0x494fc1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x278], 0xfa
lea edx, [ebp - 0x278]
push edx
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x494f85
mov dword [ebp - 0x474], 0
jmp 0x494ffc
mov ecx, dword [ebp - 0x474]
add ecx, 1
mov dword [ebp - 0x474], ecx
cmp dword [ebp - 0x474], 0
jge 0x495013
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x474]
mov dword [ebp - 0x1c], edx
jmp 0x494fed
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x495025
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 0x49503d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x478], 0xffffffff
mov dword [ebp - 0x47c], 0
jmp 0x495069
mov edx, dword [ebp - 0x47c]
add edx, 1
mov dword [ebp - 0x47c], edx
cmp dword [ebp - 0x47c], 7
jge 0x49509b
mov eax, dword [ebp - 0x47c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x495090
mov edx, dword [ebp - 0x478]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49505a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4950bb
mov dword [ebp - 4], 2
mov dword [ebp - 0x480], 0xffffffff
mov dword [ebp - 0x484], 0
jmp 0x4950e7
mov edx, dword [ebp - 0x484]
add edx, 1
mov dword [ebp - 0x484], edx
cmp dword [ebp - 0x484], 4
jge 0x495119
mov eax, dword [ebp - 0x484]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49510e
mov edx, dword [ebp - 0x480]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4950d8
mov dword [ebp - 4], 0xfffffffe
jmp 0x495139
mov dword [ebp - 0x488], 0
jmp 0x495154
mov edx, dword [ebp - 0x488]
add edx, 1
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 3
jge 0x4951a1
cmp dword [ebp - 0x1c], 0
jge 0x49516b
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 0x495181
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x48c], 0xfa
lea edx, [ebp - 0x48c]
push edx
lea eax, [ebp - 0x688]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x495145
mov ecx, 1
test ecx, ecx
je 0x4951db
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp - 0x68c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4951cd
jmp 0x4951db
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x68c]
mov dword [ebp - 0x1c], edx
jmp 0x4951a1
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x690], 0
jmp 0x4951ff
mov ecx, dword [ebp - 0x690]
add ecx, 1
mov dword [ebp - 0x690], ecx
cmp dword [ebp - 0x690], 3
jge 0x495240
cmp dword [ebp - 0x1c], 0
jge 0x495216
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 0x49522c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x888]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4951f0
mov dword [ebp - 4], 3
mov dword [ebp - 0x88c], 0xffffffff
mov dword [ebp - 0x890], 0
jmp 0x49526c
mov eax, dword [ebp - 0x890]
add eax, 1
mov dword [ebp - 0x890], eax
cmp dword [ebp - 0x890], 3
jge 0x49529e
mov eax, dword [ebp - 0x890]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x495293
mov edx, dword [ebp - 0x88c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49525d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4952be
mov dword [ebp - 0x894], 0
jmp 0x4952d9
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
cmp dword [ebp - 0x894], 6
jge 0x4952f0
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x894]
mov dword [ebp - 0x1c], eax
jmp 0x4952ca
cmp dword [ebp - 0x1c], 0
jge 0x4952fe
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 0x495316
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x898], 0
jmp 0x495331
mov edx, dword [ebp - 0x898]
add edx, 1
mov dword [ebp - 0x898], edx
cmp dword [ebp - 0x898], 8
jge 0x49537e
mov eax, dword [ebp - 0x898]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x495360
mov eax, dword [ebp - 0x898]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x495370
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x898]
mov dword [ebp - 0x1c], edx
jmp 0x49537c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x898]
mov dword [ebp - 0x1c], eax
jmp 0x495322
mov dword [ebp - 0x89c], 0
jmp 0x495399
mov ecx, dword [ebp - 0x89c]
add ecx, 1
mov dword [ebp - 0x89c], ecx
cmp dword [ebp - 0x89c], 7
jge 0x4953da
cmp dword [ebp - 0x1c], 0
jge 0x4953b0
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 0x4953c6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49538a
mov dword [ebp - 4], 4
mov dword [ebp - 0xa9c], 0xffffffff
mov dword [ebp - 0xaa0], 0
jmp 0x495406
mov eax, dword [ebp - 0xaa0]
add eax, 1
mov dword [ebp - 0xaa0], eax
cmp dword [ebp - 0xaa0], 3
jge 0x495438
mov eax, dword [ebp - 0xaa0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49542d
mov edx, dword [ebp - 0xa9c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4953f7
mov dword [ebp - 4], 0xfffffffe
jmp 0x495458
mov dword [ebp - 4], 5
mov dword [ebp - 0xaa4], 0xffffffff
mov dword [ebp - 0xaa8], 0
jmp 0x495484
mov edx, dword [ebp - 0xaa8]
add edx, 1
mov dword [ebp - 0xaa8], edx
cmp dword [ebp - 0xaa8], 5
jge 0x4954b6
mov eax, dword [ebp - 0xaa8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4954ab
mov edx, dword [ebp - 0xaa4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x495475
mov dword [ebp - 4], 0xfffffffe
jmp 0x4954d6
mov dword [ebp - 0xaac], 0
jmp 0x4954f1
mov edx, dword [ebp - 0xaac]
add edx, 1
mov dword [ebp - 0xaac], edx
cmp dword [ebp - 0xaac], 2
jge 0x49553e
cmp dword [ebp - 0x1c], 0
jge 0x495508
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 0x49551e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xab0], 0xfa
lea edx, [ebp - 0xab0]
push edx
lea eax, [ebp - 0xca8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4954e2
mov dword [ebp - 0xcac], 0
jmp 0x495559
mov ecx, dword [ebp - 0xcac]
add ecx, 1
mov dword [ebp - 0xcac], ecx
cmp dword [ebp - 0xcac], 2
jge 0x4955a6
cmp dword [ebp - 0x1c], 0
jge 0x495570
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 0x495586
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xcb0], 0xfa
lea edx, [ebp - 0xcb0]
push edx
lea eax, [ebp - 0xea8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49554a
mov dword [ebp - 0xeac], 0
jmp 0x4955c1
mov ecx, dword [ebp - 0xeac]
add ecx, 1
mov dword [ebp - 0xeac], ecx
cmp dword [ebp - 0xeac], 0
jge 0x49560e
mov eax, dword [ebp - 0xeac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4955f0
mov eax, dword [ebp - 0xeac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x495600
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xeac]
mov dword [ebp - 0x1c], edx
jmp 0x49560c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xeac]
mov dword [ebp - 0x1c], eax
jmp 0x4955b2
mov dword [ebp - 0xeb0], 0
jmp 0x495629
mov ecx, dword [ebp - 0xeb0]
add ecx, 1
mov dword [ebp - 0xeb0], ecx
cmp dword [ebp - 0xeb0], 3
jge 0x495676
mov eax, dword [ebp - 0xeb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x495658
mov eax, dword [ebp - 0xeb0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x495668
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xeb0]
mov dword [ebp - 0x1c], edx
jmp 0x495674
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xeb0]
mov dword [ebp - 0x1c], eax
jmp 0x49561a
mov dword [ebp - 0xeb4], 0
jmp 0x495691
mov ecx, dword [ebp - 0xeb4]
add ecx, 1
mov dword [ebp - 0xeb4], ecx
cmp dword [ebp - 0xeb4], 8
jge 0x4956d2
cmp dword [ebp - 0x1c], 0
jge 0x4956a8
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 0x4956be
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x495682
mov dword [ebp - 0x10b4], 0
jmp 0x4956ed
mov eax, dword [ebp - 0x10b4]
add eax, 1
mov dword [ebp - 0x10b4], eax
cmp dword [ebp - 0x10b4], 4
jge 0x49572e
cmp dword [ebp - 0x1c], 0
jge 0x495704
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 0x49571a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4956de
mov eax, 1
test eax, eax
je 0x495768
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12b4], eax
mov eax, dword [ebp - 0x12b4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49575a
jmp 0x495768
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], edx
jmp 0x49572e
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b8], 0
jmp 0x49578c
mov ecx, dword [ebp - 0x12b8]
add ecx, 1
mov dword [ebp - 0x12b8], ecx
cmp dword [ebp - 0x12b8], 1
jge 0x4957a3
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12b8]
mov dword [ebp - 0x1c], edx
jmp 0x49577d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4957b5
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 0x4957cd
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12bc], 0
jmp 0x4957e8
mov edx, dword [ebp - 0x12bc]
add edx, 1
mov dword [ebp - 0x12bc], edx
cmp dword [ebp - 0x12bc], 3
jge 0x495835
cmp dword [ebp - 0x1c], 0
jge 0x4957ff
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 0x495815
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 0x4957d9
mov dword [ebp - 0x14bc], 0
jmp 0x495850
mov ecx, dword [ebp - 0x14bc]
add ecx, 1
mov dword [ebp - 0x14bc], ecx
cmp dword [ebp - 0x14bc], 4
jge 0x495867
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14bc]
mov dword [ebp - 0x1c], edx
jmp 0x495841
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x495879
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 0x495891
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c0], 0
jmp 0x4958ac
mov edx, dword [ebp - 0x14c0]
add edx, 1
mov dword [ebp - 0x14c0], edx
cmp dword [ebp - 0x14c0], 0
jge 0x4958c3
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14c0]
mov dword [ebp - 0x1c], eax
jmp 0x49589d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4958d5
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 0x4958ed
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c4], 0
jmp 0x495908
mov edx, dword [ebp - 0x14c4]
add edx, 1
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 2
jge 0x495955
cmp dword [ebp - 0x1c], 0
jge 0x49591f
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 0x495935
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14c8], 0xfa
lea edx, [ebp - 0x14c8]
push edx
lea eax, [ebp - 0x16c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4958f9
mov dword [ebp - 0x16c4], 0
jmp 0x495970
mov ecx, dword [ebp - 0x16c4]
add ecx, 1
mov dword [ebp - 0x16c4], ecx
cmp dword [ebp - 0x16c4], 1
jge 0x4959bd
cmp dword [ebp - 0x1c], 0
jge 0x495987
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 0x49599d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16c8], 0xfa
lea edx, [ebp - 0x16c8]
push edx
lea eax, [ebp - 0x18c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x495961
mov dword [ebp - 0x18c4], 0
jmp 0x4959d8
mov ecx, dword [ebp - 0x18c4]
add ecx, 1
mov dword [ebp - 0x18c4], ecx
cmp dword [ebp - 0x18c4], 0
jge 0x495a25
cmp dword [ebp - 0x1c], 0
jge 0x4959ef
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 0x495a05
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c8], 0xfa
lea edx, [ebp - 0x18c8]
push edx
lea eax, [ebp - 0x1ac0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4959c9
mov dword [ebp - 4], 6
mov dword [ebp - 0x1ac4], 0xffffffff
mov dword [ebp - 0x1ac8], 0
jmp 0x495a51
mov ecx, dword [ebp - 0x1ac8]
add ecx, 1
mov dword [ebp - 0x1ac8], ecx
cmp dword [ebp - 0x1ac8], 4
jge 0x495a83
mov eax, dword [ebp - 0x1ac8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x495a78
mov edx, dword [ebp - 0x1ac4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x495a42
mov dword [ebp - 4], 0xfffffffe
jmp 0x495aa3
mov dword [ebp - 0x1acc], 0
jmp 0x495abe
mov edx, dword [ebp - 0x1acc]
add edx, 1
mov dword [ebp - 0x1acc], edx
cmp dword [ebp - 0x1acc], 4
jge 0x495ad5
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1acc]
mov dword [ebp - 0x1c], eax
jmp 0x495aaf
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x495ae7
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 0x495aff
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ad0], 0
jmp 0x495b1a
cmp dword [ebp - 0x1ad0], 3
jge 0x495b67