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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5125d0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x12a8
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x2c], 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 - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x48f487
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x14
jge 0x48f4b0
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48f4a5
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48f47e
mov dword [ebp - 4], 0xfffffffe
jmp 0x48f4d0
mov dword [ebp - 0x28], 0
jmp 0x48f4e2
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0xc
jge 0x48f520
cmp dword [ebp - 0x1c], 0
jge 0x48f4f6
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 0x48f50c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48f4d9
mov dword [ebp - 0x22c], 0
jmp 0x48f53b
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x1e
jge 0x48f57c
cmp dword [ebp - 0x1c], 0
jge 0x48f552
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 0x48f568
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48f52c
mov eax, 1
test eax, eax
je 0x48f5b6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x42c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48f5a8
jmp 0x48f5b6
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x48f57c
mov eax, dword [ebp - 0x1c]
add eax, 0x12
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x48f5f9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x430]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48f5eb
jmp 0x48f5f9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x430]
mov dword [ebp - 0x1c], edx
jmp 0x48f5bf
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x48f63c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x434]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48f62e
jmp 0x48f63c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x48f602
mov eax, dword [ebp - 0x1c]
add eax, 0xe
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x438], 0
jmp 0x48f660
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 0xd
jge 0x48f6ad
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48f68f
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48f69f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x48f6ab
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x438]
mov dword [ebp - 0x1c], eax
jmp 0x48f651
mov dword [ebp - 0x43c], 0
jmp 0x48f6c8
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 2
jge 0x48f715
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48f6f7
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48f707
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x48f713
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], eax
jmp 0x48f6b9
mov dword [ebp - 0x440], 0
jmp 0x48f730
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 0xa
jge 0x48f747
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x1c], edx
jmp 0x48f721
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48f759
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 0x48f771
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x444], 0
jmp 0x48f78c
mov edx, dword [ebp - 0x444]
add edx, 1
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0x10
jge 0x48f7d9
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48f7bb
mov eax, dword [ebp - 0x444]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48f7cb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x48f7d7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x444]
mov dword [ebp - 0x1c], eax
jmp 0x48f77d
mov dword [ebp - 0x448], 0
jmp 0x48f7f4
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 9
jge 0x48f80b
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x48f7e5
cmp dword [ebp - 0x1c], 0
jge 0x48f819
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 0x48f831
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44c], 0
jmp 0x48f84c
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 0xc
jge 0x48f863
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], eax
jmp 0x48f83d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48f875
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 0x48f88d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x48f8c7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x450]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48f8b9
jmp 0x48f8c7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x450]
mov dword [ebp - 0x1c], edx
jmp 0x48f88d
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x454], 0
jmp 0x48f8eb
mov ecx, dword [ebp - 0x454]
add ecx, 1
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x454], 5
jge 0x48f902
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x454]
mov dword [ebp - 0x1c], edx
jmp 0x48f8dc
cmp dword [ebp - 0x1c], 0
jge 0x48f910
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 0x48f928
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x458], 0xffffffff
mov dword [ebp - 0x45c], 0
jmp 0x48f954
mov edx, dword [ebp - 0x45c]
add edx, 1
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 0xe
jge 0x48f986
mov eax, dword [ebp - 0x45c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48f97b
mov edx, dword [ebp - 0x458]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48f945
mov dword [ebp - 4], 0xfffffffe
jmp 0x48f9a6
mov dword [ebp - 0x460], 0
jmp 0x48f9c1
mov edx, dword [ebp - 0x460]
add edx, 1
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 6
jge 0x48f9d8
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x460]
mov dword [ebp - 0x1c], eax
jmp 0x48f9b2
cmp dword [ebp - 0x1c], 0
jge 0x48f9e6
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 0x48f9fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x464], 0xffffffff
mov dword [ebp - 0x468], 0
jmp 0x48fa2a
mov edx, dword [ebp - 0x468]
add edx, 1
mov dword [ebp - 0x468], edx
cmp dword [ebp - 0x468], 3
jge 0x48fa5c
mov eax, dword [ebp - 0x468]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48fa51
mov edx, dword [ebp - 0x464]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48fa1b
mov dword [ebp - 4], 0xfffffffe
jmp 0x48fa7c
mov dword [ebp - 0x46c], 0
jmp 0x48fa97
mov edx, dword [ebp - 0x46c]
add edx, 1
mov dword [ebp - 0x46c], edx
cmp dword [ebp - 0x46c], 5
jge 0x48fae4
cmp dword [ebp - 0x1c], 0
jge 0x48faae
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 0x48fac4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x470], 0xfa
lea edx, [ebp - 0x470]
push edx
lea eax, [ebp - 0x668]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48fa88
mov dword [ebp - 0x66c], 0
jmp 0x48faff
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 2
jge 0x48fb16
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x66c]
mov dword [ebp - 0x1c], edx
jmp 0x48faf0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48fb28
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 0x48fb40
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x48fb7a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x670]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48fb6c
jmp 0x48fb7a
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x670]
mov dword [ebp - 0x1c], edx
jmp 0x48fb40
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x48fbba
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x674], eax
mov eax, dword [ebp - 0x674]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48fbac
jmp 0x48fbba
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x674]
mov dword [ebp - 0x1c], edx
jmp 0x48fb80
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x678], 0xffffffff
mov dword [ebp - 0x67c], 0
jmp 0x48fbef
mov ecx, dword [ebp - 0x67c]
add ecx, 1
mov dword [ebp - 0x67c], ecx
cmp dword [ebp - 0x67c], 1
jge 0x48fc21
mov eax, dword [ebp - 0x67c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48fc16
mov edx, dword [ebp - 0x678]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48fbe0
mov dword [ebp - 4], 0xfffffffe
jmp 0x48fc41
mov dword [ebp - 4], 4
mov dword [ebp - 0x680], 0xffffffff
mov dword [ebp - 0x684], 0
jmp 0x48fc6d
mov edx, dword [ebp - 0x684]
add edx, 1
mov dword [ebp - 0x684], edx
cmp dword [ebp - 0x684], 0
jge 0x48fc9f
mov eax, dword [ebp - 0x684]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48fc94
mov edx, dword [ebp - 0x680]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48fc5e
mov dword [ebp - 4], 0xfffffffe
jmp 0x48fcbf
mov dword [ebp - 0x688], 0
jmp 0x48fcda
mov edx, dword [ebp - 0x688]
add edx, 1
mov dword [ebp - 0x688], edx
cmp dword [ebp - 0x688], 2
jge 0x48fd27
cmp dword [ebp - 0x1c], 0
jge 0x48fcf1
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 0x48fd07
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x68c], 0xfa
lea edx, [ebp - 0x68c]
push edx
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48fccb
mov dword [ebp - 0x88c], 0
jmp 0x48fd42
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
cmp dword [ebp - 0x88c], 0
jge 0x48fd8f
mov eax, dword [ebp - 0x88c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48fd71
mov eax, dword [ebp - 0x88c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48fd81
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x88c]
mov dword [ebp - 0x1c], edx
jmp 0x48fd8d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x88c]
mov dword [ebp - 0x1c], eax
jmp 0x48fd33
mov dword [ebp - 0x890], 0
jmp 0x48fdaa
mov ecx, dword [ebp - 0x890]
add ecx, 1
mov dword [ebp - 0x890], ecx
cmp dword [ebp - 0x890], 2
jge 0x48fdc1
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x890]
mov dword [ebp - 0x1c], edx
jmp 0x48fd9b
cmp dword [ebp - 0x1c], 0
jge 0x48fdcf
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 0x48fde7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x48fe21
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x894]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48fe13
jmp 0x48fe21
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x894]
mov dword [ebp - 0x1c], edx
jmp 0x48fde7
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x48fe64
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x898]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48fe56
jmp 0x48fe64
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x898]
mov dword [ebp - 0x1c], edx
jmp 0x48fe2a
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x89c], 0
jmp 0x48fe88
mov ecx, dword [ebp - 0x89c]
add ecx, 1
mov dword [ebp - 0x89c], ecx
cmp dword [ebp - 0x89c], 1
jge 0x48fec9
cmp dword [ebp - 0x1c], 0
jge 0x48fe9f
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 0x48feb5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa98]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48fe79
mov eax, 1
test eax, eax
je 0x48ff03
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa9c], eax
mov eax, dword [ebp - 0xa9c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48fef5
jmp 0x48ff03
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa9c]
mov dword [ebp - 0x1c], edx
jmp 0x48fec9
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x48ff46
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xaa0], eax
mov eax, dword [ebp - 0xaa0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48ff38
jmp 0x48ff46
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xaa0]
mov dword [ebp - 0x1c], edx
jmp 0x48ff0c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0xaa4], 0xffffffff
mov dword [ebp - 0xaa8], 0
jmp 0x48ff7b
mov ecx, dword [ebp - 0xaa8]
add ecx, 1
mov dword [ebp - 0xaa8], ecx
cmp dword [ebp - 0xaa8], 0
jge 0x48ffad
mov eax, dword [ebp - 0xaa8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48ffa2
mov edx, dword [ebp - 0xaa4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48ff6c
mov dword [ebp - 4], 0xfffffffe
jmp 0x48ffcd
mov dword [ebp - 0xaac], 0
jmp 0x48ffe8
mov edx, dword [ebp - 0xaac]
add edx, 1
mov dword [ebp - 0xaac], edx
cmp dword [ebp - 0xaac], 4
jge 0x48ffff
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xaac]
mov dword [ebp - 0x1c], eax
jmp 0x48ffd9
cmp dword [ebp - 0x1c], 0
jge 0x49000d
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 0x490025
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xab0], 0
jmp 0x490040
mov edx, dword [ebp - 0xab0]
add edx, 1
mov dword [ebp - 0xab0], edx
cmp dword [ebp - 0xab0], 3
jge 0x49008d
mov eax, dword [ebp - 0xab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49006f
mov eax, dword [ebp - 0xab0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49007f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xab0]
mov dword [ebp - 0x1c], edx
jmp 0x49008b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xab0]
mov dword [ebp - 0x1c], eax
jmp 0x490031
mov dword [ebp - 0xab4], 0
jmp 0x4900a8
mov ecx, dword [ebp - 0xab4]
add ecx, 1
mov dword [ebp - 0xab4], ecx
cmp dword [ebp - 0xab4], 1
jge 0x4900f5
mov eax, dword [ebp - 0xab4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4900d7
mov eax, dword [ebp - 0xab4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4900e7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xab4]
mov dword [ebp - 0x1c], edx
jmp 0x4900f3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xab4]
mov dword [ebp - 0x1c], eax
jmp 0x490099
mov dword [ebp - 0xab8], 0
jmp 0x490110
mov ecx, dword [ebp - 0xab8]
add ecx, 1
mov dword [ebp - 0xab8], ecx
cmp dword [ebp - 0xab8], 4
jge 0x490127
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xab8]
mov dword [ebp - 0x1c], edx
jmp 0x490101
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x490139
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 0x490151
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xabc], 0
jmp 0x49016c
mov edx, dword [ebp - 0xabc]
add edx, 1
mov dword [ebp - 0xabc], edx
cmp dword [ebp - 0xabc], 0
jge 0x4901b9
cmp dword [ebp - 0x1c], 0
jge 0x490183
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 0x490199
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xac0], 0xfa
lea edx, [ebp - 0xac0]
push edx
lea eax, [ebp - 0xcb8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49015d
mov dword [ebp - 0xcbc], 0
jmp 0x4901d4
mov ecx, dword [ebp - 0xcbc]
add ecx, 1
mov dword [ebp - 0xcbc], ecx
cmp dword [ebp - 0xcbc], 0
jge 0x490221
mov eax, dword [ebp - 0xcbc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x490203
mov eax, dword [ebp - 0xcbc]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x490213
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcbc]
mov dword [ebp - 0x1c], edx
jmp 0x49021f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcbc]
mov dword [ebp - 0x1c], eax
jmp 0x4901c5
mov dword [ebp - 0xcc0], 0
jmp 0x49023c
mov ecx, dword [ebp - 0xcc0]
add ecx, 1
mov dword [ebp - 0xcc0], ecx
cmp dword [ebp - 0xcc0], 4
jge 0x49027d
cmp dword [ebp - 0x1c], 0
jge 0x490253
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 0x490269
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xeb8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49022d
mov dword [ebp - 0xebc], 0
jmp 0x490298
mov eax, dword [ebp - 0xebc]
add eax, 1
mov dword [ebp - 0xebc], eax
cmp dword [ebp - 0xebc], 2
jge 0x4902d9
cmp dword [ebp - 0x1c], 0
jge 0x4902af
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 0x4902c5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x490289
mov dword [ebp - 0x10bc], 0
jmp 0x4902f4
mov eax, dword [ebp - 0x10bc]
add eax, 1
mov dword [ebp - 0x10bc], eax
cmp dword [ebp - 0x10bc], 3
jge 0x49030b
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x10bc]
mov dword [ebp - 0x1c], ecx
jmp 0x4902e5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49031d
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 0x490335
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10c0], 0
jmp 0x490350
mov edx, dword [ebp - 0x10c0]
add edx, 1
mov dword [ebp - 0x10c0], edx
cmp dword [ebp - 0x10c0], 1
jge 0x490391
cmp dword [ebp - 0x1c], 0
jge 0x490367
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 0x49037d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x490341
mov dword [ebp - 0x12bc], 0
jmp 0x4903ac
mov eax, dword [ebp - 0x12bc]
add eax, 1
mov dword [ebp - 0x12bc], eax
cmp dword [ebp - 0x12bc], 1
jge 0x4903c3
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x12bc]
mov dword [ebp - 0x1c], ecx
jmp 0x49039d
cmp dword [ebp - 0x1c], 0
jge 0x4903d1
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 0x4903e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x490423
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12c0], eax
mov eax, dword [ebp - 0x12c0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x490415
jmp 0x490423
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12c0]
mov dword [ebp - 0x1c], edx
jmp 0x4903e9
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret