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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x514618
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3f68
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x34], 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 eax, 1
test eax, eax
je 0x4f1578
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f156d
jmp 0x4f1578
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x4f1547
mov eax, dword [ebp - 0x1c]
add eax, 0x1b
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x4f15a1
mov ecx, dword [ebp - 0x28]
add ecx, 1
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], 0x1e
jge 0x4f15ca
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f15bf
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 0x4f1598
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f15ea
mov dword [ebp - 0x2c], 0
jmp 0x4f15fc
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0x20
jge 0x4f1640
cmp dword [ebp - 0x1c], 0
jge 0x4f1610
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 0x4f1626
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0xfa
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f15f3
mov dword [ebp - 0x234], 0
jmp 0x4f165b
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0xd
jge 0x4f169c
cmp dword [ebp - 0x1c], 0
jge 0x4f1672
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 0x4f1688
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f164c
mov dword [ebp - 0x434], 0
jmp 0x4f16b7
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0xc
jge 0x4f16f8
cmp dword [ebp - 0x1c], 0
jge 0x4f16ce
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 0x4f16e4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x630]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f16a8
mov dword [ebp - 0x634], 0
jmp 0x4f1713
mov eax, dword [ebp - 0x634]
add eax, 1
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0xa
jge 0x4f1754
cmp dword [ebp - 0x1c], 0
jge 0x4f172a
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 0x4f1740
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x830]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f1704
mov dword [ebp - 0x834], 0
jmp 0x4f176f
mov eax, dword [ebp - 0x834]
add eax, 1
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 9
jge 0x4f17bc
mov eax, dword [ebp - 0x834]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f179e
mov eax, dword [ebp - 0x834]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f17ae
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x834]
mov dword [ebp - 0x1c], edx
jmp 0x4f17ba
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x834]
mov dword [ebp - 0x1c], eax
jmp 0x4f1760
mov dword [ebp - 0x838], 0
jmp 0x4f17d7
mov ecx, dword [ebp - 0x838]
add ecx, 1
mov dword [ebp - 0x838], ecx
cmp dword [ebp - 0x838], 0xc
jge 0x4f1824
mov eax, dword [ebp - 0x838]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f1806
mov eax, dword [ebp - 0x838]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f1816
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x838]
mov dword [ebp - 0x1c], edx
jmp 0x4f1822
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x838]
mov dword [ebp - 0x1c], eax
jmp 0x4f17c8
mov dword [ebp - 0x83c], 0
jmp 0x4f183f
mov ecx, dword [ebp - 0x83c]
add ecx, 1
mov dword [ebp - 0x83c], ecx
cmp dword [ebp - 0x83c], 0xe
jge 0x4f188c
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f186e
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f187e
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], edx
jmp 0x4f188a
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x83c]
mov dword [ebp - 0x1c], eax
jmp 0x4f1830
mov dword [ebp - 0x840], 0
jmp 0x4f18a7
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
cmp dword [ebp - 0x840], 2
jge 0x4f18f4
cmp dword [ebp - 0x1c], 0
jge 0x4f18be
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 0x4f18d4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x844], 0xfa
lea edx, [ebp - 0x844]
push edx
lea eax, [ebp - 0xa40]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f1898
mov dword [ebp - 4], 1
mov dword [ebp - 0xa44], 0xffffffff
mov dword [ebp - 0xa48], 0
jmp 0x4f1920
mov ecx, dword [ebp - 0xa48]
add ecx, 1
mov dword [ebp - 0xa48], ecx
cmp dword [ebp - 0xa48], 1
jge 0x4f1952
mov eax, dword [ebp - 0xa48]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f1947
mov edx, dword [ebp - 0xa44]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f1911
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f1972
mov dword [ebp - 0xa4c], 0
jmp 0x4f198d
mov edx, dword [ebp - 0xa4c]
add edx, 1
mov dword [ebp - 0xa4c], edx
cmp dword [ebp - 0xa4c], 9
jge 0x4f19ce
cmp dword [ebp - 0x1c], 0
jge 0x4f19a4
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 0x4f19ba
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc48]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f197e
mov dword [ebp - 0xc4c], 0
jmp 0x4f19e9
mov eax, dword [ebp - 0xc4c]
add eax, 1
mov dword [ebp - 0xc4c], eax
cmp dword [ebp - 0xc4c], 1
jge 0x4f1a36
mov eax, dword [ebp - 0xc4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f1a18
mov eax, dword [ebp - 0xc4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f1a28
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], edx
jmp 0x4f1a34
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc4c]
mov dword [ebp - 0x1c], eax
jmp 0x4f19da
mov ecx, 1
test ecx, ecx
je 0x4f1a70
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc50], eax
mov eax, dword [ebp - 0xc50]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f1a62
jmp 0x4f1a70
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc50]
mov dword [ebp - 0x1c], edx
jmp 0x4f1a36
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xc54], 0xffffffff
mov dword [ebp - 0xc58], 0
jmp 0x4f1aa5
mov ecx, dword [ebp - 0xc58]
add ecx, 1
mov dword [ebp - 0xc58], ecx
cmp dword [ebp - 0xc58], 6
jge 0x4f1ad7
mov eax, dword [ebp - 0xc58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f1acc
mov edx, dword [ebp - 0xc54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f1a96
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f1af7
mov dword [ebp - 0xc5c], 0
jmp 0x4f1b12
mov edx, dword [ebp - 0xc5c]
add edx, 1
mov dword [ebp - 0xc5c], edx
cmp dword [ebp - 0xc5c], 7
jge 0x4f1b53
cmp dword [ebp - 0x1c], 0
jge 0x4f1b29
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 0x4f1b3f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f1b03
mov dword [ebp - 0xe5c], 0
jmp 0x4f1b6e
mov eax, dword [ebp - 0xe5c]
add eax, 1
mov dword [ebp - 0xe5c], eax
cmp dword [ebp - 0xe5c], 7
jge 0x4f1b85
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], ecx
jmp 0x4f1b5f
cmp dword [ebp - 0x1c], 0
jge 0x4f1b93
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 0x4f1bab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f1be5
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 0x4f1bd7
jmp 0x4f1be5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe60]
mov dword [ebp - 0x1c], edx
jmp 0x4f1bab
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x4f1c28
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe64], eax
mov eax, dword [ebp - 0xe64]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f1c1a
jmp 0x4f1c28
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe64]
mov dword [ebp - 0x1c], edx
jmp 0x4f1bee
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe68], 0
jmp 0x4f1c49
mov ecx, dword [ebp - 0xe68]
add ecx, 1
mov dword [ebp - 0xe68], ecx
cmp dword [ebp - 0xe68], 5
jge 0x4f1c96
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f1c78
mov eax, dword [ebp - 0xe68]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f1c88
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], edx
jmp 0x4f1c94
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe68]
mov dword [ebp - 0x1c], eax
jmp 0x4f1c3a
mov dword [ebp - 0xe6c], 0
jmp 0x4f1cb1
mov ecx, dword [ebp - 0xe6c]
add ecx, 1
mov dword [ebp - 0xe6c], ecx
cmp dword [ebp - 0xe6c], 8
jge 0x4f1cfe
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f1ce0
mov eax, dword [ebp - 0xe6c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f1cf0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], edx
jmp 0x4f1cfc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe6c]
mov dword [ebp - 0x1c], eax
jmp 0x4f1ca2
mov dword [ebp - 0xe70], 0
jmp 0x4f1d19
mov ecx, dword [ebp - 0xe70]
add ecx, 1
mov dword [ebp - 0xe70], ecx
cmp dword [ebp - 0xe70], 0
jge 0x4f1d66
mov eax, dword [ebp - 0xe70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f1d48
mov eax, dword [ebp - 0xe70]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f1d58
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe70]
mov dword [ebp - 0x1c], edx
jmp 0x4f1d64
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe70]
mov dword [ebp - 0x1c], eax
jmp 0x4f1d0a
mov dword [ebp - 0xe74], 0
jmp 0x4f1d81
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 8
jge 0x4f1d98
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], edx
jmp 0x4f1d72
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f1daa
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 0x4f1dc2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe78], 0
jmp 0x4f1ddd
mov edx, dword [ebp - 0xe78]
add edx, 1
mov dword [ebp - 0xe78], edx
cmp dword [ebp - 0xe78], 2
jge 0x4f1df4
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe78]
mov dword [ebp - 0x1c], eax
jmp 0x4f1dce
cmp dword [ebp - 0x1c], 0
jge 0x4f1e02
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 0x4f1e1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe7c], 0
jmp 0x4f1e35
mov edx, dword [ebp - 0xe7c]
add edx, 1
mov dword [ebp - 0xe7c], edx
cmp dword [ebp - 0xe7c], 2
jge 0x4f1e4c
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], eax
jmp 0x4f1e26
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f1e5e
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 0x4f1e76
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe80], 0
jmp 0x4f1e91
mov edx, dword [ebp - 0xe80]
add edx, 1
mov dword [ebp - 0xe80], edx
cmp dword [ebp - 0xe80], 6
jge 0x4f1ea8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe80]
mov dword [ebp - 0x1c], eax
jmp 0x4f1e82
cmp dword [ebp - 0x1c], 0
jge 0x4f1eb6
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 0x4f1ece
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0xe84], 0xffffffff
mov dword [ebp - 0xe88], 0
jmp 0x4f1efa
mov edx, dword [ebp - 0xe88]
add edx, 1
mov dword [ebp - 0xe88], edx
cmp dword [ebp - 0xe88], 7
jge 0x4f1f2c
mov eax, dword [ebp - 0xe88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f1f21
mov edx, dword [ebp - 0xe84]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f1eeb
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f1f4c
mov dword [ebp - 0xe8c], 0
jmp 0x4f1f67
mov edx, dword [ebp - 0xe8c]
add edx, 1
mov dword [ebp - 0xe8c], edx
cmp dword [ebp - 0xe8c], 0
jge 0x4f1f7e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe8c]
mov dword [ebp - 0x1c], eax
jmp 0x4f1f58
cmp dword [ebp - 0x1c], 0
jge 0x4f1f8c
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 0x4f1fa4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4f1fde
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe90], eax
mov eax, dword [ebp - 0xe90]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f1fd0
jmp 0x4f1fde
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe90]
mov dword [ebp - 0x1c], edx
jmp 0x4f1fa4
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe94], 0
jmp 0x4f2002
mov ecx, dword [ebp - 0xe94]
add ecx, 1
mov dword [ebp - 0xe94], ecx
cmp dword [ebp - 0xe94], 2
jge 0x4f204f
cmp dword [ebp - 0x1c], 0
jge 0x4f2019
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 0x4f202f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe98], 0xfa
lea edx, [ebp - 0xe98]
push edx
lea eax, [ebp - 0x1090]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f1ff3
mov dword [ebp - 0x1094], 0
jmp 0x4f206a
mov ecx, dword [ebp - 0x1094]
add ecx, 1
mov dword [ebp - 0x1094], ecx
cmp dword [ebp - 0x1094], 8
jge 0x4f20b7
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f2099
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f20a9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x4f20b5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], eax
jmp 0x4f205b
mov dword [ebp - 4], 4
mov dword [ebp - 0x1098], 0xffffffff
mov dword [ebp - 0x109c], 0
jmp 0x4f20e3
mov ecx, dword [ebp - 0x109c]
add ecx, 1
mov dword [ebp - 0x109c], ecx
cmp dword [ebp - 0x109c], 1
jge 0x4f2115
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f210a
mov edx, dword [ebp - 0x1098]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f20d4
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f2135
mov dword [ebp - 4], 5
mov dword [ebp - 0x10a0], 0xffffffff
mov dword [ebp - 0x10a4], 0
jmp 0x4f2161
mov edx, dword [ebp - 0x10a4]
add edx, 1
mov dword [ebp - 0x10a4], edx
cmp dword [ebp - 0x10a4], 8
jge 0x4f2193
mov eax, dword [ebp - 0x10a4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4f2188
mov edx, dword [ebp - 0x10a0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4f2152
mov dword [ebp - 4], 0xfffffffe
jmp 0x4f21b3
mov edx, 1
test edx, edx
je 0x4f21ed
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10a8], eax
mov eax, dword [ebp - 0x10a8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4f21df
jmp 0x4f21ed
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x10a8]
mov dword [ebp - 0x1c], edx
jmp 0x4f21b3
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10ac], 0
jmp 0x4f2211
mov ecx, dword [ebp - 0x10ac]
add ecx, 1
mov dword [ebp - 0x10ac], ecx
cmp dword [ebp - 0x10ac], 2
jge 0x4f2228
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x1c], edx
jmp 0x4f2202
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f223a
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 0x4f2252
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10b0], 0
jmp 0x4f226d
mov edx, dword [ebp - 0x10b0]
add edx, 1
mov dword [ebp - 0x10b0], edx
cmp dword [ebp - 0x10b0], 0
jge 0x4f22ba
mov eax, dword [ebp - 0x10b0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f229c
mov eax, dword [ebp - 0x10b0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f22ac
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10b0]
mov dword [ebp - 0x1c], edx
jmp 0x4f22b8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10b0]
mov dword [ebp - 0x1c], eax
jmp 0x4f225e
mov dword [ebp - 0x10b4], 0
jmp 0x4f22d5
mov ecx, dword [ebp - 0x10b4]
add ecx, 1
mov dword [ebp - 0x10b4], ecx
cmp dword [ebp - 0x10b4], 8
jge 0x4f2316
cmp dword [ebp - 0x1c], 0
jge 0x4f22ec
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 0x4f2302
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f22c6
mov dword [ebp - 0x12b4], 0
jmp 0x4f2331
mov eax, dword [ebp - 0x12b4]
add eax, 1
mov dword [ebp - 0x12b4], eax
cmp dword [ebp - 0x12b4], 6
jge 0x4f2348
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], ecx
jmp 0x4f2322
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f235a
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 0x4f2372
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b8], 0
jmp 0x4f238d
mov edx, dword [ebp - 0x12b8]
add edx, 1
mov dword [ebp - 0x12b8], edx
cmp dword [ebp - 0x12b8], 8
jge 0x4f23a4
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x12b8]
mov dword [ebp - 0x1c], eax
jmp 0x4f237e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f23b6
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 0x4f23ce
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12bc], 0
jmp 0x4f23e9
mov edx, dword [ebp - 0x12bc]
add edx, 1
mov dword [ebp - 0x12bc], edx
cmp dword [ebp - 0x12bc], 3
jge 0x4f2400
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12bc]
mov dword [ebp - 0x1c], eax
jmp 0x4f23da
cmp dword [ebp - 0x1c], 0
jge 0x4f240e
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 0x4f2426
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c0], 0
jmp 0x4f2441
mov edx, dword [ebp - 0x12c0]
add edx, 1
mov dword [ebp - 0x12c0], edx
cmp dword [ebp - 0x12c0], 2
jge 0x4f2458
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12c0]
mov dword [ebp - 0x1c], eax
jmp 0x4f2432
cmp dword [ebp - 0x1c], 0
jge 0x4f2466
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 0x4f247e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c4], 0
jmp 0x4f2499
mov edx, dword [ebp - 0x12c4]
add edx, 1
mov dword [ebp - 0x12c4], edx
cmp dword [ebp - 0x12c4], 4
jge 0x4f24b0
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x12c4]
mov dword [ebp - 0x1c], eax
jmp 0x4f248a
cmp dword [ebp - 0x1c], 0
jge 0x4f24be
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 0x4f24d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c8], 0
jmp 0x4f24f1
mov edx, dword [ebp - 0x12c8]
add edx, 1
mov dword [ebp - 0x12c8], edx
cmp dword [ebp - 0x12c8], 1
jge 0x4f253e
cmp dword [ebp - 0x1c], 0
jge 0x4f2508
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 0x4f251e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12cc], 0xfa
lea edx, [ebp - 0x12cc]
push edx
lea eax, [ebp - 0x14c8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4f24e2
mov dword [ebp - 0x14cc], 0
jmp 0x4f2559
mov ecx, dword [ebp - 0x14cc]
add ecx, 1
mov dword [ebp - 0x14cc], ecx
cmp dword [ebp - 0x14cc], 1
jge 0x4f2570
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x14cc]
mov dword [ebp - 0x1c], edx
jmp 0x4f254a
cmp dword [ebp - 0x1c], 0
jge 0x4f257e
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 0x4f2596
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14d0], 0
jmp 0x4f25b1
mov edx, dword [ebp - 0x14d0]
add edx, 1
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 2
jge 0x4f25fe
mov eax, dword [ebp - 0x14d0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f25e0
mov eax, dword [ebp - 0x14d0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4f25f0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14d0]
mov dword [ebp - 0x1c], edx
jmp 0x4f25fc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14d0]
mov dword [ebp - 0x1c], eax
jmp 0x4f25a2
mov dword [ebp - 0x14d4], 0
jmp 0x4f2619
mov ecx, dword [ebp - 0x14d4]
add ecx, 1
mov dword [ebp - 0x14d4], ecx
cmp dword [ebp - 0x14d4], 0
jge 0x4f265a
cmp dword [ebp - 0x1c], 0
jge 0x4f2630
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 0x4f2646
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f260a
mov dword [ebp - 0x16d4], 0
jmp 0x4f2675
mov eax, dword [ebp - 0x16d4]
add eax, 1
mov dword [ebp - 0x16d4], eax
cmp dword [ebp - 0x16d4], 4
jge 0x4f26b6
cmp dword [ebp - 0x1c], 0
jge 0x4f268c
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 0x4f26a2
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f2666
mov dword [ebp - 0x18d4], 0
jmp 0x4f26d1
mov eax, dword [ebp - 0x18d4]
add eax, 1
mov dword [ebp - 0x18d4], eax
cmp dword [ebp - 0x18d4], 3
jge 0x4f26e8
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x18d4]
mov dword [ebp - 0x1c], ecx
jmp 0x4f26c2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4f26fa
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 0x4f2712
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18d8], 0
jmp 0x4f272d
cmp dword [ebp - 0x18d8], 0
jge 0x4f276e
cmp dword [ebp - 0x1c], 0
jge 0x4f2744
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 0x4f275a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ad0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4f271e
mov dword [ebp - 0x1ad4], 0
jmp 0x4f2789
cmp dword [ebp - 0x1ad4], 0
jge 0x4f27d6
mov eax, dword [ebp - 0x1ad4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4f27b8
mov dword [ebp - 0x1ad8], 0
jmp 0x4f27f1