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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514718
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x10d0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x58], 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 0x4f5739
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x18
jge 0x4f574a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4f5730
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f575c
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 0x4f5774
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x4f5794
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x3c
jge 0x4f57bd
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f57b2
mov edx, dword [ebp - 0x24]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f578b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f57dd
mov edx, 1
test edx, edx
je 0x4f580e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f5803
jmp 0x4f580e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x4f57dd
mov eax, dword [ebp - 0x1c]
add eax, 0x1d
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x4f5829
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0xb
jge 0x4f583a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x4f5820
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f584c
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 0x4f5864
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], 0
jmp 0x4f5884
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x10
jge 0x4f58ad
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f58a2
mov edx, dword [ebp - 0x34]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f587b
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f58cd
mov dword [ebp - 0x3c], 0
jmp 0x4f58df
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0xe
jge 0x4f591d
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f5905
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f5912
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], edx
jmp 0x4f591b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x4f58d6
mov dword [ebp - 4], 2
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], 0
jmp 0x4f593d
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 2
jge 0x4f5966
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f595b
mov edx, dword [ebp - 0x40]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f5934
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f5986
mov edx, 1
test edx, edx
je 0x4f59b7
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 0x4f59ac
jmp 0x4f59b7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], edx
jmp 0x4f5986
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], 0
jmp 0x4f59d2
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0xa
jge 0x4f59e3
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], edx
jmp 0x4f59c9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f59f5
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 0x4f5a0d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x50], 0
jmp 0x4f5a1f
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 1
jge 0x4f5a30
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x50]
mov dword [ebp - 0x1c], eax
jmp 0x4f5a16
cmp dword [ebp - 0x1c], 0
jge 0x4f5a3e
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 0x4f5a56
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x54], 0
jmp 0x4f5a68
mov edx, dword [ebp - 0x54]
add edx, 1
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 8
jge 0x4f5aa6
cmp dword [ebp - 0x1c], 0
jge 0x4f5a7c
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 0x4f5a92
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x250]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f5a5f
mov dword [ebp - 0x254], 0
jmp 0x4f5ac1
mov eax, dword [ebp - 0x254]
add eax, 1
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 8
jge 0x4f5ad8
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x254]
mov dword [ebp - 0x1c], ecx
jmp 0x4f5ab2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f5aea
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 0x4f5b02
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x258], 0
jmp 0x4f5b1d
mov edx, dword [ebp - 0x258]
add edx, 1
mov dword [ebp - 0x258], edx
cmp dword [ebp - 0x258], 6
jge 0x4f5b34
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x258]
mov dword [ebp - 0x1c], eax
jmp 0x4f5b0e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f5b46
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 0x4f5b5e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x25c], 0
jmp 0x4f5b79
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 0
jge 0x4f5bc6
cmp dword [ebp - 0x1c], 0
jge 0x4f5b90
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 0x4f5ba6
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x260], 0xfa
lea edx, [ebp - 0x260]
push edx
lea eax, [ebp - 0x458]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f5b6a
mov dword [ebp - 4], 3
mov dword [ebp - 0x45c], 0xffffffff
mov dword [ebp - 0x460], 0
jmp 0x4f5bf2
mov ecx, dword [ebp - 0x460]
add ecx, 1
mov dword [ebp - 0x460], ecx
cmp dword [ebp - 0x460], 0
jge 0x4f5c24
mov eax, dword [ebp - 0x460]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f5c19
mov edx, dword [ebp - 0x45c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f5be3
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f5c44
mov dword [ebp - 0x464], 0
jmp 0x4f5c5f
mov edx, dword [ebp - 0x464]
add edx, 1
mov dword [ebp - 0x464], edx
cmp dword [ebp - 0x464], 7
jge 0x4f5ca0
cmp dword [ebp - 0x1c], 0
jge 0x4f5c76
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 0x4f5c8c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x660]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f5c50
mov dword [ebp - 0x664], 0
jmp 0x4f5cbb
mov eax, dword [ebp - 0x664]
add eax, 1
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 8
jge 0x4f5cd2
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], ecx
jmp 0x4f5cac
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f5ce4
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 0x4f5cfc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x668], 0
jmp 0x4f5d17
mov edx, dword [ebp - 0x668]
add edx, 1
mov dword [ebp - 0x668], edx
cmp dword [ebp - 0x668], 7
jge 0x4f5d64
cmp dword [ebp - 0x1c], 0
jge 0x4f5d2e
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 0x4f5d44
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x66c], 0xfa
lea edx, [ebp - 0x66c]
push edx
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f5d08
mov dword [ebp - 4], 4
mov dword [ebp - 0x86c], 0xffffffff
mov dword [ebp - 0x870], 0
jmp 0x4f5d90
mov ecx, dword [ebp - 0x870]
add ecx, 1
mov dword [ebp - 0x870], ecx
cmp dword [ebp - 0x870], 6
jge 0x4f5dc2
mov eax, dword [ebp - 0x870]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f5db7
mov edx, dword [ebp - 0x86c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f5d81
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f5de2
mov dword [ebp - 0x874], 0
jmp 0x4f5dfd
mov edx, dword [ebp - 0x874]
add edx, 1
mov dword [ebp - 0x874], edx
cmp dword [ebp - 0x874], 4
jge 0x4f5e4a
mov eax, dword [ebp - 0x874]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f5e2c
mov eax, dword [ebp - 0x874]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f5e3c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x874]
mov dword [ebp - 0x1c], edx
jmp 0x4f5e48
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x874]
mov dword [ebp - 0x1c], eax
jmp 0x4f5dee
mov dword [ebp - 4], 5
mov dword [ebp - 0x878], 0xffffffff
mov dword [ebp - 0x87c], 0
jmp 0x4f5e76
mov ecx, dword [ebp - 0x87c]
add ecx, 1
mov dword [ebp - 0x87c], ecx
cmp dword [ebp - 0x87c], 1
jge 0x4f5ea8
mov eax, dword [ebp - 0x87c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f5e9d
mov edx, dword [ebp - 0x878]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f5e67
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f5ec8
mov dword [ebp - 4], 6
mov dword [ebp - 0x880], 0xffffffff
mov dword [ebp - 0x884], 0
jmp 0x4f5ef4
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
cmp dword [ebp - 0x884], 5
jge 0x4f5f26
mov eax, dword [ebp - 0x884]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f5f1b
mov edx, dword [ebp - 0x880]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f5ee5
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f5f46
mov dword [ebp - 0x888], 0
jmp 0x4f5f61
mov edx, dword [ebp - 0x888]
add edx, 1
mov dword [ebp - 0x888], edx
cmp dword [ebp - 0x888], 8
jge 0x4f5f78
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x888]
mov dword [ebp - 0x1c], eax
jmp 0x4f5f52
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f5f8a
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 0x4f5fa2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x88c], 0
jmp 0x4f5fbd
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
cmp dword [ebp - 0x88c], 0
jge 0x4f5fd4
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x88c]
mov dword [ebp - 0x1c], eax
jmp 0x4f5fae
cmp dword [ebp - 0x1c], 0
jge 0x4f5fe2
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 0x4f5ffa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x890], 0xffffffff
mov dword [ebp - 0x894], 0
jmp 0x4f6026
mov edx, dword [ebp - 0x894]
add edx, 1
mov dword [ebp - 0x894], edx
cmp dword [ebp - 0x894], 8
jge 0x4f6058
mov eax, dword [ebp - 0x894]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f604d
mov edx, dword [ebp - 0x890]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f6017
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f6078
mov dword [ebp - 0x898], 0
jmp 0x4f6093
mov edx, dword [ebp - 0x898]
add edx, 1
mov dword [ebp - 0x898], edx
cmp dword [ebp - 0x898], 6
jge 0x4f60aa
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x898]
mov dword [ebp - 0x1c], eax
jmp 0x4f6084
cmp dword [ebp - 0x1c], 0
jge 0x4f60b8
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 0x4f60d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x89c], 0
jmp 0x4f60eb
mov edx, dword [ebp - 0x89c]
add edx, 1
mov dword [ebp - 0x89c], edx
cmp dword [ebp - 0x89c], 8
jge 0x4f6138
mov eax, dword [ebp - 0x89c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f611a
mov eax, dword [ebp - 0x89c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f612a
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x89c]
mov dword [ebp - 0x1c], edx
jmp 0x4f6136
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x89c]
mov dword [ebp - 0x1c], eax
jmp 0x4f60dc
mov dword [ebp - 0x8a0], 0
jmp 0x4f6153
mov ecx, dword [ebp - 0x8a0]
add ecx, 1
mov dword [ebp - 0x8a0], ecx
cmp dword [ebp - 0x8a0], 2
jge 0x4f616a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x8a0]
mov dword [ebp - 0x1c], edx
jmp 0x4f6144
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f617c
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 0x4f6194
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8a4], 0
jmp 0x4f61af
mov edx, dword [ebp - 0x8a4]
add edx, 1
mov dword [ebp - 0x8a4], edx
cmp dword [ebp - 0x8a4], 1
jge 0x4f61c6
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x1c], eax
jmp 0x4f61a0
cmp dword [ebp - 0x1c], 0
jge 0x4f61d4
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 0x4f61ec
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8a8], 0
jmp 0x4f6207
mov edx, dword [ebp - 0x8a8]
add edx, 1
mov dword [ebp - 0x8a8], edx
cmp dword [ebp - 0x8a8], 2
jge 0x4f6254
mov eax, dword [ebp - 0x8a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f6236
mov eax, dword [ebp - 0x8a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f6246
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x8a8]
mov dword [ebp - 0x1c], edx
jmp 0x4f6252
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x1c], eax
jmp 0x4f61f8
mov dword [ebp - 0x8ac], 0
jmp 0x4f626f
mov ecx, dword [ebp - 0x8ac]
add ecx, 1
mov dword [ebp - 0x8ac], ecx
cmp dword [ebp - 0x8ac], 0
jge 0x4f62bc
cmp dword [ebp - 0x1c], 0
jge 0x4f6286
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 0x4f629c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x8b0], 0xfa
lea edx, [ebp - 0x8b0]
push edx
lea eax, [ebp - 0xaa8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f6260
mov dword [ebp - 0xaac], 0
jmp 0x4f62d7
mov ecx, dword [ebp - 0xaac]
add ecx, 1
mov dword [ebp - 0xaac], ecx
cmp dword [ebp - 0xaac], 5
jge 0x4f6324
cmp dword [ebp - 0x1c], 0
jge 0x4f62ee
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 0x4f6304
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 0x4f62c8
mov dword [ebp - 4], 8
mov dword [ebp - 0xcac], 0xffffffff
mov dword [ebp - 0xcb0], 0
jmp 0x4f6350
mov ecx, dword [ebp - 0xcb0]
add ecx, 1
mov dword [ebp - 0xcb0], ecx
cmp dword [ebp - 0xcb0], 6
jge 0x4f6382
mov eax, dword [ebp - 0xcb0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f6377
mov edx, dword [ebp - 0xcac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f6341
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f63a2
mov dword [ebp - 0xcb4], 0
jmp 0x4f63bd
mov edx, dword [ebp - 0xcb4]
add edx, 1
mov dword [ebp - 0xcb4], edx
cmp dword [ebp - 0xcb4], 7
jge 0x4f640a
mov eax, dword [ebp - 0xcb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f63ec
mov eax, dword [ebp - 0xcb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f63fc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcb4]
mov dword [ebp - 0x1c], edx
jmp 0x4f6408
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x1c], eax
jmp 0x4f63ae
mov dword [ebp - 0xcb8], 0
jmp 0x4f6425
mov ecx, dword [ebp - 0xcb8]
add ecx, 1
mov dword [ebp - 0xcb8], ecx
cmp dword [ebp - 0xcb8], 6
jge 0x4f643c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xcb8]
mov dword [ebp - 0x1c], edx
jmp 0x4f6416
cmp dword [ebp - 0x1c], 0
jge 0x4f644a
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 0x4f6462
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcbc], 0
jmp 0x4f647d
mov edx, dword [ebp - 0xcbc]
add edx, 1
mov dword [ebp - 0xcbc], edx
cmp dword [ebp - 0xcbc], 0
jge 0x4f64ca
mov eax, dword [ebp - 0xcbc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f64ac
mov eax, dword [ebp - 0xcbc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f64bc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcbc]
mov dword [ebp - 0x1c], edx
jmp 0x4f64c8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcbc]
mov dword [ebp - 0x1c], eax
jmp 0x4f646e
mov dword [ebp - 0xcc0], 0
jmp 0x4f64e5
mov ecx, dword [ebp - 0xcc0]
add ecx, 1
mov dword [ebp - 0xcc0], ecx
cmp dword [ebp - 0xcc0], 0
jge 0x4f6532
mov eax, dword [ebp - 0xcc0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f6514
mov eax, dword [ebp - 0xcc0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f6524
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcc0]
mov dword [ebp - 0x1c], edx
jmp 0x4f6530
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcc0]
mov dword [ebp - 0x1c], eax
jmp 0x4f64d6
mov dword [ebp - 0xcc4], 0
jmp 0x4f654d
mov ecx, dword [ebp - 0xcc4]
add ecx, 1
mov dword [ebp - 0xcc4], ecx
cmp dword [ebp - 0xcc4], 2
jge 0x4f6564
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcc4]
mov dword [ebp - 0x1c], edx
jmp 0x4f653e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f6576
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 0x4f658e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcc8], 0
jmp 0x4f65a9
mov edx, dword [ebp - 0xcc8]
add edx, 1
mov dword [ebp - 0xcc8], edx
cmp dword [ebp - 0xcc8], 0
jge 0x4f65c0
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xcc8]
mov dword [ebp - 0x1c], eax
jmp 0x4f659a
cmp dword [ebp - 0x1c], 0
jge 0x4f65ce
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 0x4f65e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xccc], 0
jmp 0x4f6601
mov edx, dword [ebp - 0xccc]
add edx, 1
mov dword [ebp - 0xccc], edx
cmp dword [ebp - 0xccc], 4
jge 0x4f664e
cmp dword [ebp - 0x1c], 0
jge 0x4f6618
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 0x4f662e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xcd0], 0xfa
lea edx, [ebp - 0xcd0]
push edx
lea eax, [ebp - 0xec8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f65f2
mov dword [ebp - 0xecc], 0
jmp 0x4f6669
mov ecx, dword [ebp - 0xecc]
add ecx, 1
mov dword [ebp - 0xecc], ecx
cmp dword [ebp - 0xecc], 0
jge 0x4f66b6
mov eax, dword [ebp - 0xecc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f6698
mov eax, dword [ebp - 0xecc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f66a8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xecc]
mov dword [ebp - 0x1c], edx
jmp 0x4f66b4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xecc]
mov dword [ebp - 0x1c], eax
jmp 0x4f665a
mov dword [ebp - 0xed0], 0
jmp 0x4f66d1
mov ecx, dword [ebp - 0xed0]
add ecx, 1
mov dword [ebp - 0xed0], ecx
cmp dword [ebp - 0xed0], 2
jge 0x4f671e
mov eax, dword [ebp - 0xed0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f6700
mov eax, dword [ebp - 0xed0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f6710
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xed0]
mov dword [ebp - 0x1c], edx
jmp 0x4f671c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xed0]
mov dword [ebp - 0x1c], eax
jmp 0x4f66c2
mov dword [ebp - 0xed4], 0
jmp 0x4f6739
mov ecx, dword [ebp - 0xed4]
add ecx, 1
mov dword [ebp - 0xed4], ecx
cmp dword [ebp - 0xed4], 3
jge 0x4f6786
mov eax, dword [ebp - 0xed4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f6768
mov eax, dword [ebp - 0xed4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f6778
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xed4]
mov dword [ebp - 0x1c], edx
jmp 0x4f6784
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xed4]
mov dword [ebp - 0x1c], eax
jmp 0x4f672a
mov dword [ebp - 0xed8], 0
jmp 0x4f67a1
mov ecx, dword [ebp - 0xed8]
add ecx, 1
mov dword [ebp - 0xed8], ecx
cmp dword [ebp - 0xed8], 4
jge 0x4f67b8
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xed8]
mov dword [ebp - 0x1c], edx
jmp 0x4f6792
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f67ca
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 0x4f67e2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xedc], 0
jmp 0x4f67fd
cmp dword [ebp - 0xedc], 0
jge 0x4f684a