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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512de8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x377c
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
jmp 0x4a69e9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x4a6a2d
cmp dword [ebp - 0x1c], 0
jge 0x4a69fd
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 0x4a6a13
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a69e0
mov dword [ebp - 0x224], 0
jmp 0x4a6a48
mov ecx, dword [ebp - 0x224]
add ecx, 1
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0x32
jge 0x4a6a89
cmp dword [ebp - 0x1c], 0
jge 0x4a6a5f
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 0x4a6a75
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a6a39
mov dword [ebp - 0x424], 0
jmp 0x4a6aa4
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xd
jge 0x4a6af1
mov eax, dword [ebp - 0x424]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a6ad3
mov eax, dword [ebp - 0x424]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a6ae3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x424]
mov dword [ebp - 0x1c], edx
jmp 0x4a6aef
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x424]
mov dword [ebp - 0x1c], eax
jmp 0x4a6a95
mov dword [ebp - 0x428], 0
jmp 0x4a6b0c
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 8
jge 0x4a6b4d
cmp dword [ebp - 0x1c], 0
jge 0x4a6b23
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 0x4a6b39
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x620]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a6afd
mov dword [ebp - 0x624], 0
jmp 0x4a6b68
mov eax, dword [ebp - 0x624]
add eax, 1
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 4
jge 0x4a6bb5
mov eax, dword [ebp - 0x624]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a6b97
mov eax, dword [ebp - 0x624]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a6ba7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x624]
mov dword [ebp - 0x1c], edx
jmp 0x4a6bb3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x624]
mov dword [ebp - 0x1c], eax
jmp 0x4a6b59
mov ecx, 1
test ecx, ecx
je 0x4a6bef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x628]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a6be1
jmp 0x4a6bef
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x628]
mov dword [ebp - 0x1c], edx
jmp 0x4a6bb5
mov eax, dword [ebp - 0x1c]
add eax, 0x19
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x62c], 0
jmp 0x4a6c13
mov ecx, dword [ebp - 0x62c]
add ecx, 1
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 0x10
jge 0x4a6c2a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], edx
jmp 0x4a6c04
cmp dword [ebp - 0x1c], 0
jge 0x4a6c38
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 0x4a6c50
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x630], 0
jmp 0x4a6c6b
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 0xa
jge 0x4a6cb8
mov eax, dword [ebp - 0x630]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a6c9a
mov eax, dword [ebp - 0x630]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a6caa
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x630]
mov dword [ebp - 0x1c], edx
jmp 0x4a6cb6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x630]
mov dword [ebp - 0x1c], eax
jmp 0x4a6c5c
mov dword [ebp - 4], 0
mov dword [ebp - 0x634], 0xffffffff
mov dword [ebp - 0x638], 0
jmp 0x4a6ce4
mov ecx, dword [ebp - 0x638]
add ecx, 1
mov dword [ebp - 0x638], ecx
cmp dword [ebp - 0x638], 0xb
jge 0x4a6d16
mov eax, dword [ebp - 0x638]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a6d0b
mov edx, dword [ebp - 0x634]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a6cd5
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a6d36
mov dword [ebp - 0x63c], 0
jmp 0x4a6d51
mov edx, dword [ebp - 0x63c]
add edx, 1
mov dword [ebp - 0x63c], edx
cmp dword [ebp - 0x63c], 0xc
jge 0x4a6d9e
mov eax, dword [ebp - 0x63c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a6d80
mov eax, dword [ebp - 0x63c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a6d90
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], edx
jmp 0x4a6d9c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], eax
jmp 0x4a6d42
mov ecx, 1
test ecx, ecx
je 0x4a6dd8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x640]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a6dca
jmp 0x4a6dd8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x640]
mov dword [ebp - 0x1c], edx
jmp 0x4a6d9e
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x644], 0
jmp 0x4a6dfc
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
cmp dword [ebp - 0x644], 1
jge 0x4a6e49
cmp dword [ebp - 0x1c], 0
jge 0x4a6e13
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 0x4a6e29
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x648], 0xfa
lea edx, [ebp - 0x648]
push edx
lea eax, [ebp - 0x840]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a6ded
mov ecx, 1
test ecx, ecx
je 0x4a6e83
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x844], eax
mov eax, dword [ebp - 0x844]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a6e75
jmp 0x4a6e83
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x844]
mov dword [ebp - 0x1c], edx
jmp 0x4a6e49
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x848], 0
jmp 0x4a6ea7
mov ecx, dword [ebp - 0x848]
add ecx, 1
mov dword [ebp - 0x848], ecx
cmp dword [ebp - 0x848], 0
jge 0x4a6ef4
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a6ed6
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a6ee6
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x848]
mov dword [ebp - 0x1c], edx
jmp 0x4a6ef2
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x848]
mov dword [ebp - 0x1c], eax
jmp 0x4a6e98
mov dword [ebp - 0x84c], 0
jmp 0x4a6f0f
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
cmp dword [ebp - 0x84c], 7
jge 0x4a6f5c
cmp dword [ebp - 0x1c], 0
jge 0x4a6f26
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 0x4a6f3c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x850], 0xfa
lea edx, [ebp - 0x850]
push edx
lea eax, [ebp - 0xa48]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a6f00
mov dword [ebp - 0xa4c], 0
jmp 0x4a6f77
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 8
jge 0x4a6f8e
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x4a6f68
cmp dword [ebp - 0x1c], 0
jge 0x4a6f9c
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 0x4a6fb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0xa50], 0xffffffff
mov dword [ebp - 0xa54], 0
jmp 0x4a6fe0
mov edx, dword [ebp - 0xa54]
add edx, 1
mov dword [ebp - 0xa54], edx
cmp dword [ebp - 0xa54], 2
jge 0x4a7012
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a7007
mov edx, dword [ebp - 0xa50]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a6fd1
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a7032
mov dword [ebp - 4], 2
mov dword [ebp - 0xa58], 0xffffffff
mov dword [ebp - 0xa5c], 0
jmp 0x4a705e
mov edx, dword [ebp - 0xa5c]
add edx, 1
mov dword [ebp - 0xa5c], edx
cmp dword [ebp - 0xa5c], 4
jge 0x4a7090
mov eax, dword [ebp - 0xa5c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a7085
mov edx, dword [ebp - 0xa58]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a704f
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a70b0
mov edx, 1
test edx, edx
je 0x4a70ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a70dc
jmp 0x4a70ea
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa60]
mov dword [ebp - 0x1c], edx
jmp 0x4a70b0
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa64], 0
jmp 0x4a710e
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
cmp dword [ebp - 0xa64], 5
jge 0x4a715b
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a713d
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a714d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], edx
jmp 0x4a7159
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], eax
jmp 0x4a70ff
mov dword [ebp - 0xa68], 0
jmp 0x4a7176
mov ecx, dword [ebp - 0xa68]
add ecx, 1
mov dword [ebp - 0xa68], ecx
cmp dword [ebp - 0xa68], 4
jge 0x4a71b7
cmp dword [ebp - 0x1c], 0
jge 0x4a718d
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 0x4a71a3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a7167
mov dword [ebp - 0xc64], 0
jmp 0x4a71d2
mov eax, dword [ebp - 0xc64]
add eax, 1
mov dword [ebp - 0xc64], eax
cmp dword [ebp - 0xc64], 4
jge 0x4a7213
cmp dword [ebp - 0x1c], 0
jge 0x4a71e9
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 0x4a71ff
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a71c3
mov dword [ebp - 0xe64], 0
jmp 0x4a722e
mov eax, dword [ebp - 0xe64]
add eax, 1
mov dword [ebp - 0xe64], eax
cmp dword [ebp - 0xe64], 0
jge 0x4a726f
cmp dword [ebp - 0x1c], 0
jge 0x4a7245
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 0x4a725b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1060]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a721f
mov eax, 1
test eax, eax
je 0x4a72a9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1064], eax
mov eax, dword [ebp - 0x1064]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a729b
jmp 0x4a72a9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], edx
jmp 0x4a726f
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1068], 0
jmp 0x4a72cd
mov ecx, dword [ebp - 0x1068]
add ecx, 1
mov dword [ebp - 0x1068], ecx
cmp dword [ebp - 0x1068], 2
jge 0x4a731a
cmp dword [ebp - 0x1c], 0
jge 0x4a72e4
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 0x4a72fa
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x106c], 0xfa
lea edx, [ebp - 0x106c]
push edx
lea eax, [ebp - 0x1268]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a72be
mov dword [ebp - 0x126c], 0
jmp 0x4a7335
mov ecx, dword [ebp - 0x126c]
add ecx, 1
mov dword [ebp - 0x126c], ecx
cmp dword [ebp - 0x126c], 7
jge 0x4a734c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], edx
jmp 0x4a7326
cmp dword [ebp - 0x1c], 0
jge 0x4a735a
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 0x4a7372
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1270], 0
jmp 0x4a738d
mov edx, dword [ebp - 0x1270]
add edx, 1
mov dword [ebp - 0x1270], edx
cmp dword [ebp - 0x1270], 4
jge 0x4a73a4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], eax
jmp 0x4a737e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a73b6
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 0x4a73ce
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1274], 0
jmp 0x4a73e9
mov edx, dword [ebp - 0x1274]
add edx, 1
mov dword [ebp - 0x1274], edx
cmp dword [ebp - 0x1274], 3
jge 0x4a7400
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], eax
jmp 0x4a73da
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a7412
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 0x4a742a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x4a7445
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 2
jge 0x4a7492
cmp dword [ebp - 0x1c], 0
jge 0x4a745c
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 0x4a7472
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x127c], 0xfa
lea edx, [ebp - 0x127c]
push edx
lea eax, [ebp - 0x1478]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4a7436
mov dword [ebp - 4], 3
mov dword [ebp - 0x147c], 0xffffffff
mov dword [ebp - 0x1480], 0
jmp 0x4a74be
mov ecx, dword [ebp - 0x1480]
add ecx, 1
mov dword [ebp - 0x1480], ecx
cmp dword [ebp - 0x1480], 0
jge 0x4a74f0
mov eax, dword [ebp - 0x1480]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a74e5
mov edx, dword [ebp - 0x147c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a74af
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a7510
mov dword [ebp - 0x1484], 0
jmp 0x4a752b
mov edx, dword [ebp - 0x1484]
add edx, 1
mov dword [ebp - 0x1484], edx
cmp dword [ebp - 0x1484], 5
jge 0x4a7542
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], eax
jmp 0x4a751c
cmp dword [ebp - 0x1c], 0
jge 0x4a7550
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 0x4a7568
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x4a7583
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 0
jge 0x4a75d0
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a75b2
mov eax, dword [ebp - 0x1488]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a75c2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], edx
jmp 0x4a75ce
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], eax
jmp 0x4a7574
mov dword [ebp - 4], 4
mov dword [ebp - 0x148c], 0xffffffff
mov dword [ebp - 0x1490], 0
jmp 0x4a75fc
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 6
jge 0x4a762e
mov eax, dword [ebp - 0x1490]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4a7623
mov edx, dword [ebp - 0x148c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4a75ed
mov dword [ebp - 4], 0xfffffffe
jmp 0x4a764e
mov dword [ebp - 0x1494], 0
jmp 0x4a7669
mov edx, dword [ebp - 0x1494]
add edx, 1
mov dword [ebp - 0x1494], edx
cmp dword [ebp - 0x1494], 2
jge 0x4a7680
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1494]
mov dword [ebp - 0x1c], eax
jmp 0x4a765a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a7692
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 0x4a76aa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1498], 0
jmp 0x4a76c5
mov edx, dword [ebp - 0x1498]
add edx, 1
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 1
jge 0x4a76dc
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1498]
mov dword [ebp - 0x1c], eax
jmp 0x4a76b6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a76ee
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 0x4a7706
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x149c], 0
jmp 0x4a7721
mov edx, dword [ebp - 0x149c]
add edx, 1
mov dword [ebp - 0x149c], edx
cmp dword [ebp - 0x149c], 5
jge 0x4a776e
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a7750
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a7760
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x4a776c
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], eax
jmp 0x4a7712
mov dword [ebp - 0x14a0], 0
jmp 0x4a7789
mov ecx, dword [ebp - 0x14a0]
add ecx, 1
mov dword [ebp - 0x14a0], ecx
cmp dword [ebp - 0x14a0], 6
jge 0x4a77ca
cmp dword [ebp - 0x1c], 0
jge 0x4a77a0
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 0x4a77b6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1698]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a777a
mov dword [ebp - 0x169c], 0
jmp 0x4a77e5
mov eax, dword [ebp - 0x169c]
add eax, 1
mov dword [ebp - 0x169c], eax
cmp dword [ebp - 0x169c], 7
jge 0x4a7832
cmp dword [ebp - 0x1c], 0
jge 0x4a77fc
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 0x4a7812
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 0x4a77d6
mov dword [ebp - 0x189c], 0
jmp 0x4a784d
mov ecx, dword [ebp - 0x189c]
add ecx, 1
mov dword [ebp - 0x189c], ecx
cmp dword [ebp - 0x189c], 1
jge 0x4a788e
cmp dword [ebp - 0x1c], 0
jge 0x4a7864
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 0x4a787a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1a98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a783e
mov dword [ebp - 0x1a9c], 0
jmp 0x4a78a9
mov eax, dword [ebp - 0x1a9c]
add eax, 1
mov dword [ebp - 0x1a9c], eax
cmp dword [ebp - 0x1a9c], 4
jge 0x4a78c0
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], ecx
jmp 0x4a789a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a78d2
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 0x4a78ea
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4a7924
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aa0], eax
mov eax, dword [ebp - 0x1aa0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a7916
jmp 0x4a7924
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aa0]
mov dword [ebp - 0x1c], edx
jmp 0x4a78ea
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4a7967
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aa4], eax
mov eax, dword [ebp - 0x1aa4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a7959
jmp 0x4a7967
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1c], edx
jmp 0x4a792d
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aa8], 0
jmp 0x4a7988
mov ecx, dword [ebp - 0x1aa8]
add ecx, 1
mov dword [ebp - 0x1aa8], ecx
cmp dword [ebp - 0x1aa8], 1
jge 0x4a79d5
mov eax, dword [ebp - 0x1aa8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a79b7
mov eax, dword [ebp - 0x1aa8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a79c7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1c], edx
jmp 0x4a79d3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1aa8]
mov dword [ebp - 0x1c], eax
jmp 0x4a7979
mov ecx, 1
test ecx, ecx
je 0x4a7a0f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1aac], eax
mov eax, dword [ebp - 0x1aac]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a7a01
jmp 0x4a7a0f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1aac]
mov dword [ebp - 0x1c], edx
jmp 0x4a79d5
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ab0], 0
jmp 0x4a7a33
mov ecx, dword [ebp - 0x1ab0]
add ecx, 1
mov dword [ebp - 0x1ab0], ecx
cmp dword [ebp - 0x1ab0], 4
jge 0x4a7a74
cmp dword [ebp - 0x1c], 0
jge 0x4a7a4a
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 0x4a7a60
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ca8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a7a24
mov dword [ebp - 0x1cac], 0
jmp 0x4a7a8f
mov eax, dword [ebp - 0x1cac]
add eax, 1
mov dword [ebp - 0x1cac], eax
cmp dword [ebp - 0x1cac], 2
jge 0x4a7adc
mov eax, dword [ebp - 0x1cac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a7abe
mov eax, dword [ebp - 0x1cac]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a7ace
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], edx
jmp 0x4a7ada
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], eax
jmp 0x4a7a80
mov ecx, 1
test ecx, ecx
je 0x4a7b16
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1cb0], eax
mov eax, dword [ebp - 0x1cb0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4a7b08
jmp 0x4a7b16
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1cb0]
mov dword [ebp - 0x1c], edx
jmp 0x4a7adc
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cb4], 0
jmp 0x4a7b3a
mov ecx, dword [ebp - 0x1cb4]
add ecx, 1
mov dword [ebp - 0x1cb4], ecx
cmp dword [ebp - 0x1cb4], 1
jge 0x4a7b87
mov eax, dword [ebp - 0x1cb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a7b69
mov eax, dword [ebp - 0x1cb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4a7b79
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1c], edx
jmp 0x4a7b85
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1cb4]
mov dword [ebp - 0x1c], eax
jmp 0x4a7b2b
mov dword [ebp - 0x1cb8], 0
jmp 0x4a7ba2
mov ecx, dword [ebp - 0x1cb8]
add ecx, 1
mov dword [ebp - 0x1cb8], ecx
cmp dword [ebp - 0x1cb8], 3
jge 0x4a7be3
cmp dword [ebp - 0x1c], 0
jge 0x4a7bb9
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 0x4a7bcf
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1eb0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a7b93
mov dword [ebp - 0x1eb4], 0
jmp 0x4a7bfe
mov eax, dword [ebp - 0x1eb4]
add eax, 1
mov dword [ebp - 0x1eb4], eax
cmp dword [ebp - 0x1eb4], 2
jge 0x4a7c3f
cmp dword [ebp - 0x1c], 0
jge 0x4a7c15
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 0x4a7c2b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4a7bef
mov dword [ebp - 0x20b4], 0
jmp 0x4a7c5a
mov eax, dword [ebp - 0x20b4]
add eax, 1
mov dword [ebp - 0x20b4], eax
cmp dword [ebp - 0x20b4], 2
jge 0x4a7c71
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x20b4]
mov dword [ebp - 0x1c], ecx
jmp 0x4a7c4b
cmp dword [ebp - 0x1c], 0
jge 0x4a7c7f
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 0x4a7c97
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20b8], 0
jmp 0x4a7cb2
mov edx, dword [ebp - 0x20b8]
add edx, 1
mov dword [ebp - 0x20b8], edx
cmp dword [ebp - 0x20b8], 1
jge 0x4a7cc9
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20b8]
mov dword [ebp - 0x1c], eax
jmp 0x4a7ca3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a7cdb
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 0x4a7cf3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20bc], 0
jmp 0x4a7d0e
mov edx, dword [ebp - 0x20bc]
add edx, 1
mov dword [ebp - 0x20bc], edx
cmp dword [ebp - 0x20bc], 1
jge 0x4a7d25
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20bc]
mov dword [ebp - 0x1c], eax
jmp 0x4a7cff
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4a7d37
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 0x4a7d4f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c0], 0
jmp 0x4a7d6a
cmp dword [ebp - 0x20c0], 3
jge 0x4a7db7
mov eax, dword [ebp - 0x20c0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4a7d99
mov dword [ebp - 0x20c4], 0
jmp 0x4a7dd2