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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514070
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x34d0
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 0x4e04d9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jge 0x4e051d
cmp dword [ebp - 0x1c], 0
jge 0x4e04ed
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 0x4e0503
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 0x4e04d0
mov ecx, 1
test ecx, ecx
je 0x4e0557
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e0549
jmp 0x4e0557
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x224]
mov dword [ebp - 0x1c], edx
jmp 0x4e051d
mov eax, dword [ebp - 0x1c]
add eax, 0x2e
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x228], 0
jmp 0x4e057b
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0x34
jge 0x4e05bc
cmp dword [ebp - 0x1c], 0
jge 0x4e0592
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 0x4e05a8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e056c
mov eax, 1
test eax, eax
je 0x4e05f6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x424]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e05e8
jmp 0x4e05f6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x424]
mov dword [ebp - 0x1c], edx
jmp 0x4e05bc
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x428], 0
jmp 0x4e061a
mov ecx, dword [ebp - 0x428]
add ecx, 1
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 5
jge 0x4e0667
cmp dword [ebp - 0x1c], 0
jge 0x4e0631
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 0x4e0647
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x42c], 0xfa
lea edx, [ebp - 0x42c]
push edx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e060b
mov dword [ebp - 0x62c], 0
jmp 0x4e0682
mov ecx, dword [ebp - 0x62c]
add ecx, 1
mov dword [ebp - 0x62c], ecx
cmp dword [ebp - 0x62c], 6
jge 0x4e0699
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x62c]
mov dword [ebp - 0x1c], edx
jmp 0x4e0673
cmp dword [ebp - 0x1c], 0
jge 0x4e06a7
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 0x4e06bf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x630], 0
jmp 0x4e06da
mov edx, dword [ebp - 0x630]
add edx, 1
mov dword [ebp - 0x630], edx
cmp dword [ebp - 0x630], 0xa
jge 0x4e06f1
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x630]
mov dword [ebp - 0x1c], eax
jmp 0x4e06cb
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e0703
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 0x4e071b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x634], 0
jmp 0x4e0736
mov edx, dword [ebp - 0x634]
add edx, 1
mov dword [ebp - 0x634], edx
cmp dword [ebp - 0x634], 1
jge 0x4e0777
cmp dword [ebp - 0x1c], 0
jge 0x4e074d
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 0x4e0763
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x830]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e0727
mov dword [ebp - 0x834], 0
jmp 0x4e0792
mov eax, dword [ebp - 0x834]
add eax, 1
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 6
jge 0x4e07a9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x834]
mov dword [ebp - 0x1c], ecx
jmp 0x4e0783
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e07bb
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 0x4e07d3
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x838], 0
jmp 0x4e07ee
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 1
jge 0x4e0805
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x838]
mov dword [ebp - 0x1c], eax
jmp 0x4e07df
cmp dword [ebp - 0x1c], 0
jge 0x4e0813
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 0x4e082b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e0865
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x83c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e0857
jmp 0x4e0865
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], edx
jmp 0x4e082b
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x840], 0
jmp 0x4e0886
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
cmp dword [ebp - 0x840], 2
jge 0x4e08d3
mov eax, dword [ebp - 0x840]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e08b5
mov eax, dword [ebp - 0x840]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e08c5
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x840]
mov dword [ebp - 0x1c], edx
jmp 0x4e08d1
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x840]
mov dword [ebp - 0x1c], eax
jmp 0x4e0877
mov dword [ebp - 0x844], 0
jmp 0x4e08ee
mov ecx, dword [ebp - 0x844]
add ecx, 1
mov dword [ebp - 0x844], ecx
cmp dword [ebp - 0x844], 0
jge 0x4e093b
cmp dword [ebp - 0x1c], 0
jge 0x4e0905
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 0x4e091b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x848], 0xfa
lea edx, [ebp - 0x848]
push edx
lea eax, [ebp - 0xa40]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e08df
mov dword [ebp - 0xa44], 0
jmp 0x4e0956
mov ecx, dword [ebp - 0xa44]
add ecx, 1
mov dword [ebp - 0xa44], ecx
cmp dword [ebp - 0xa44], 2
jge 0x4e096d
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa44]
mov dword [ebp - 0x1c], edx
jmp 0x4e0947
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e097f
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 0x4e0997
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa48], 0
jmp 0x4e09b2
mov edx, dword [ebp - 0xa48]
add edx, 1
mov dword [ebp - 0xa48], edx
cmp dword [ebp - 0xa48], 6
jge 0x4e09c9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], eax
jmp 0x4e09a3
cmp dword [ebp - 0x1c], 0
jge 0x4e09d7
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 0x4e09ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4e0a29
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa4c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e0a1b
jmp 0x4e0a29
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x4e09ef
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa50], 0
jmp 0x4e0a4d
mov ecx, dword [ebp - 0xa50]
add ecx, 1
mov dword [ebp - 0xa50], ecx
cmp dword [ebp - 0xa50], 0
jge 0x4e0a64
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c], edx
jmp 0x4e0a3e
cmp dword [ebp - 0x1c], 0
jge 0x4e0a72
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 0x4e0a8a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa54], 0
jmp 0x4e0aa5
mov edx, dword [ebp - 0xa54]
add edx, 1
mov dword [ebp - 0xa54], edx
cmp dword [ebp - 0xa54], 1
jge 0x4e0af2
cmp dword [ebp - 0x1c], 0
jge 0x4e0abc
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 0x4e0ad2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa58], 0xfa
lea edx, [ebp - 0xa58]
push edx
lea eax, [ebp - 0xc50]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e0a96
mov dword [ebp - 0xc54], 0
jmp 0x4e0b0d
mov ecx, dword [ebp - 0xc54]
add ecx, 1
mov dword [ebp - 0xc54], ecx
cmp dword [ebp - 0xc54], 1
jge 0x4e0b24
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc54]
mov dword [ebp - 0x1c], edx
jmp 0x4e0afe
cmp dword [ebp - 0x1c], 0
jge 0x4e0b32
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 0x4e0b4a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc58], 0
jmp 0x4e0b65
mov edx, dword [ebp - 0xc58]
add edx, 1
mov dword [ebp - 0xc58], edx
cmp dword [ebp - 0xc58], 2
jge 0x4e0bb2
cmp dword [ebp - 0x1c], 0
jge 0x4e0b7c
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 0x4e0b92
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc5c], 0xfa
lea edx, [ebp - 0xc5c]
push edx
lea eax, [ebp - 0xe58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e0b56
mov dword [ebp - 0xe5c], 0
jmp 0x4e0bcd
mov ecx, dword [ebp - 0xe5c]
add ecx, 1
mov dword [ebp - 0xe5c], ecx
cmp dword [ebp - 0xe5c], 4
jge 0x4e0c1a
mov eax, dword [ebp - 0xe5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e0bfc
mov eax, dword [ebp - 0xe5c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e0c0c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], edx
jmp 0x4e0c18
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], eax
jmp 0x4e0bbe
mov ecx, 1
test ecx, ecx
je 0x4e0c54
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe60], eax
mov eax, dword [ebp - 0xe60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4e0c46
jmp 0x4e0c54
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe60]
mov dword [ebp - 0x1c], edx
jmp 0x4e0c1a
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe64], 0
jmp 0x4e0c78
mov ecx, dword [ebp - 0xe64]
add ecx, 1
mov dword [ebp - 0xe64], ecx
cmp dword [ebp - 0xe64], 3
jge 0x4e0c8f
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x4e0c69
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e0ca1
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 0x4e0cb9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe68], 0
jmp 0x4e0cd4
mov edx, dword [ebp - 0xe68]
add edx, 1
mov dword [ebp - 0xe68], edx
cmp dword [ebp - 0xe68], 7
jge 0x4e0ceb
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], eax
jmp 0x4e0cc5
cmp dword [ebp - 0x1c], 0
jge 0x4e0cf9
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 0x4e0d11
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xe6c], 0xffffffff
mov dword [ebp - 0xe70], 0
jmp 0x4e0d3d
mov edx, dword [ebp - 0xe70]
add edx, 1
mov dword [ebp - 0xe70], edx
cmp dword [ebp - 0xe70], 8
jge 0x4e0d6f
mov eax, dword [ebp - 0xe70]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e0d64
mov edx, dword [ebp - 0xe6c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e0d2e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e0d8f
mov dword [ebp - 0xe74], 0
jmp 0x4e0daa
mov edx, dword [ebp - 0xe74]
add edx, 1
mov dword [ebp - 0xe74], edx
cmp dword [ebp - 0xe74], 4
jge 0x4e0dc1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], eax
jmp 0x4e0d9b
cmp dword [ebp - 0x1c], 0
jge 0x4e0dcf
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 0x4e0de7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe78], 0
jmp 0x4e0e02
mov edx, dword [ebp - 0xe78]
add edx, 1
mov dword [ebp - 0xe78], edx
cmp dword [ebp - 0xe78], 8
jge 0x4e0e4f
cmp dword [ebp - 0x1c], 0
jge 0x4e0e19
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 0x4e0e2f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe7c], 0xfa
lea edx, [ebp - 0xe7c]
push edx
lea eax, [ebp - 0x1078]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e0df3
mov dword [ebp - 0x107c], 0
jmp 0x4e0e6a
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 4
jge 0x4e0e81
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], edx
jmp 0x4e0e5b
cmp dword [ebp - 0x1c], 0
jge 0x4e0e8f
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 0x4e0ea7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1080], 0
jmp 0x4e0ec2
mov edx, dword [ebp - 0x1080]
add edx, 1
mov dword [ebp - 0x1080], edx
cmp dword [ebp - 0x1080], 0
jge 0x4e0ed9
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1080]
mov dword [ebp - 0x1c], eax
jmp 0x4e0eb3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e0eeb
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 0x4e0f03
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1084], 0
jmp 0x4e0f1e
mov edx, dword [ebp - 0x1084]
add edx, 1
mov dword [ebp - 0x1084], edx
cmp dword [ebp - 0x1084], 0
jge 0x4e0f5f
cmp dword [ebp - 0x1c], 0
jge 0x4e0f35
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 0x4e0f4b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1280]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e0f0f
mov dword [ebp - 0x1284], 0
jmp 0x4e0f7a
mov eax, dword [ebp - 0x1284]
add eax, 1
mov dword [ebp - 0x1284], eax
cmp dword [ebp - 0x1284], 5
jge 0x4e0f91
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], ecx
jmp 0x4e0f6b
cmp dword [ebp - 0x1c], 0
jge 0x4e0f9f
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 0x4e0fb7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1288], 0
jmp 0x4e0fd2
mov edx, dword [ebp - 0x1288]
add edx, 1
mov dword [ebp - 0x1288], edx
cmp dword [ebp - 0x1288], 8
jge 0x4e1013
cmp dword [ebp - 0x1c], 0
jge 0x4e0fe9
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 0x4e0fff
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e0fc3
mov dword [ebp - 0x1484], 0
jmp 0x4e102e
mov eax, dword [ebp - 0x1484]
add eax, 1
mov dword [ebp - 0x1484], eax
cmp dword [ebp - 0x1484], 3
jge 0x4e1045
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1484]
mov dword [ebp - 0x1c], ecx
jmp 0x4e101f
cmp dword [ebp - 0x1c], 0
jge 0x4e1053
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 0x4e106b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1488], 0
jmp 0x4e1086
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 3
jge 0x4e10d3
cmp dword [ebp - 0x1c], 0
jge 0x4e109d
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 0x4e10b3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x148c], 0xfa
lea edx, [ebp - 0x148c]
push edx
lea eax, [ebp - 0x1688]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e1077
mov dword [ebp - 4], 1
mov dword [ebp - 0x168c], 0xffffffff
mov dword [ebp - 0x1690], 0
jmp 0x4e10ff
mov ecx, dword [ebp - 0x1690]
add ecx, 1
mov dword [ebp - 0x1690], ecx
cmp dword [ebp - 0x1690], 1
jge 0x4e1131
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e1126
mov edx, dword [ebp - 0x168c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e10f0
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e1151
mov dword [ebp - 0x1694], 0
jmp 0x4e116c
mov edx, dword [ebp - 0x1694]
add edx, 1
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 5
jge 0x4e1183
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1694]
mov dword [ebp - 0x1c], eax
jmp 0x4e115d
cmp dword [ebp - 0x1c], 0
jge 0x4e1191
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 0x4e11a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1698], 0
jmp 0x4e11c4
mov edx, dword [ebp - 0x1698]
add edx, 1
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 5
jge 0x4e1211
cmp dword [ebp - 0x1c], 0
jge 0x4e11db
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 0x4e11f1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x169c], 0xfa
lea edx, [ebp - 0x169c]
push edx
lea eax, [ebp - 0x1898]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4e11b5
mov dword [ebp - 4], 2
mov dword [ebp - 0x189c], 0xffffffff
mov dword [ebp - 0x18a0], 0
jmp 0x4e123d
mov ecx, dword [ebp - 0x18a0]
add ecx, 1
mov dword [ebp - 0x18a0], ecx
cmp dword [ebp - 0x18a0], 2
jge 0x4e126f
mov eax, dword [ebp - 0x18a0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e1264
mov edx, dword [ebp - 0x189c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e122e
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e128f
mov dword [ebp - 0x18a4], 0
jmp 0x4e12aa
mov edx, dword [ebp - 0x18a4]
add edx, 1
mov dword [ebp - 0x18a4], edx
cmp dword [ebp - 0x18a4], 4
jge 0x4e12f7
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4e12d9
mov eax, dword [ebp - 0x18a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4e12e9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], edx
jmp 0x4e12f5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x18a4]
mov dword [ebp - 0x1c], eax
jmp 0x4e129b
mov dword [ebp - 0x18a8], 0
jmp 0x4e1312
mov ecx, dword [ebp - 0x18a8]
add ecx, 1
mov dword [ebp - 0x18a8], ecx
cmp dword [ebp - 0x18a8], 4
jge 0x4e1329
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18a8]
mov dword [ebp - 0x1c], edx
jmp 0x4e1303
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e133b
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 0x4e1353
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x18ac], 0xffffffff
mov dword [ebp - 0x18b0], 0
jmp 0x4e137f
mov edx, dword [ebp - 0x18b0]
add edx, 1
mov dword [ebp - 0x18b0], edx
cmp dword [ebp - 0x18b0], 1
jge 0x4e13b1
mov eax, dword [ebp - 0x18b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e13a6
mov edx, dword [ebp - 0x18ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e1370
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e13d1
mov dword [ebp - 0x18b4], 0
jmp 0x4e13ec
mov edx, dword [ebp - 0x18b4]
add edx, 1
mov dword [ebp - 0x18b4], edx
cmp dword [ebp - 0x18b4], 0
jge 0x4e1403
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18b4]
mov dword [ebp - 0x1c], eax
jmp 0x4e13dd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4e1415
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 0x4e142d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18b8], 0
jmp 0x4e1448
mov edx, dword [ebp - 0x18b8]
add edx, 1
mov dword [ebp - 0x18b8], edx
cmp dword [ebp - 0x18b8], 0
jge 0x4e1489
cmp dword [ebp - 0x1c], 0
jge 0x4e145f
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 0x4e1475
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ab0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4e1439
mov dword [ebp - 0x1ab4], 0
jmp 0x4e14a4
mov eax, dword [ebp - 0x1ab4]
add eax, 1
mov dword [ebp - 0x1ab4], eax
cmp dword [ebp - 0x1ab4], 2
jge 0x4e14bb
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1ab4]
mov dword [ebp - 0x1c], ecx
jmp 0x4e1495
cmp dword [ebp - 0x1c], 0
jge 0x4e14c9
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 0x4e14e1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x1ab8], 0xffffffff
mov dword [ebp - 0x1abc], 0
jmp 0x4e150d
cmp dword [ebp - 0x1abc], 3
jge 0x4e153f
mov eax, dword [ebp - 0x1abc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4e1534
mov edx, dword [ebp - 0x1ab8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4e14fe
mov dword [ebp - 4], 0xfffffffe
jmp 0x4e155f
mov dword [ebp - 0x1ac0], 0
jmp 0x4e157a