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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512a78
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1674
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], 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 0x49c8a9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x34
jge 0x49c8e7
cmp dword [ebp - 0x1c], 0
jge 0x49c8bd
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 0x49c8d3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49c8a0
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x49c913
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 7
jge 0x49c945
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49c93a
mov edx, dword [ebp - 0x224]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49c904
mov dword [ebp - 4], 0xfffffffe
jmp 0x49c965
mov dword [ebp - 0x22c], 0
jmp 0x49c980
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 4
jge 0x49c9c1
cmp dword [ebp - 0x1c], 0
jge 0x49c997
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 0x49c9ad
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49c971
mov dword [ebp - 0x42c], 0
jmp 0x49c9dc
mov eax, dword [ebp - 0x42c]
add eax, 1
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 4
jge 0x49ca1d
cmp dword [ebp - 0x1c], 0
jge 0x49c9f3
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 0x49ca09
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x628]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49c9cd
mov dword [ebp - 0x62c], 0
jmp 0x49ca38
mov eax, dword [ebp - 0x62c]
add eax, 1
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 4
jge 0x49ca85
cmp dword [ebp - 0x1c], 0
jge 0x49ca4f
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 0x49ca65
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x630], 0xfa
lea edx, [ebp - 0x630]
push edx
lea eax, [ebp - 0x828]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49ca29
mov ecx, 1
test ecx, ecx
je 0x49cabf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp - 0x82c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49cab1
jmp 0x49cabf
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x82c]
mov dword [ebp - 0x1c], edx
jmp 0x49ca85
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x830], 0
jmp 0x49cae3
mov ecx, dword [ebp - 0x830]
add ecx, 1
mov dword [ebp - 0x830], ecx
cmp dword [ebp - 0x830], 2
jge 0x49cafa
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x830]
mov dword [ebp - 0x1c], edx
jmp 0x49cad4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49cb0c
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 0x49cb24
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x834], 0
jmp 0x49cb3f
mov edx, dword [ebp - 0x834]
add edx, 1
mov dword [ebp - 0x834], edx
cmp dword [ebp - 0x834], 3
jge 0x49cb56
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x834]
mov dword [ebp - 0x1c], eax
jmp 0x49cb30
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49cb68
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 0x49cb80
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x838], 0xffffffff
mov dword [ebp - 0x83c], 0
jmp 0x49cbac
mov edx, dword [ebp - 0x83c]
add edx, 1
mov dword [ebp - 0x83c], edx
cmp dword [ebp - 0x83c], 1
jge 0x49cbde
mov eax, dword [ebp - 0x83c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49cbd3
mov edx, dword [ebp - 0x838]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49cb9d
mov dword [ebp - 4], 0xfffffffe
jmp 0x49cbfe
mov dword [ebp - 0x840], 0
jmp 0x49cc19
mov edx, dword [ebp - 0x840]
add edx, 1
mov dword [ebp - 0x840], edx
cmp dword [ebp - 0x840], 8
jge 0x49cc30
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x840]
mov dword [ebp - 0x1c], eax
jmp 0x49cc0a
cmp dword [ebp - 0x1c], 0
jge 0x49cc3e
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 0x49cc56
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x844], 0xffffffff
mov dword [ebp - 0x848], 0
jmp 0x49cc82
mov edx, dword [ebp - 0x848]
add edx, 1
mov dword [ebp - 0x848], edx
cmp dword [ebp - 0x848], 1
jge 0x49ccb4
mov eax, dword [ebp - 0x848]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49cca9
mov edx, dword [ebp - 0x844]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49cc73
mov dword [ebp - 4], 0xfffffffe
jmp 0x49ccd4
mov dword [ebp - 0x84c], 0
jmp 0x49ccef
mov edx, dword [ebp - 0x84c]
add edx, 1
mov dword [ebp - 0x84c], edx
cmp dword [ebp - 0x84c], 5
jge 0x49cd06
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x84c]
mov dword [ebp - 0x1c], eax
jmp 0x49cce0
cmp dword [ebp - 0x1c], 0
jge 0x49cd14
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 0x49cd2c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x850], 0
jmp 0x49cd47
mov edx, dword [ebp - 0x850]
add edx, 1
mov dword [ebp - 0x850], edx
cmp dword [ebp - 0x850], 7
jge 0x49cd5e
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x850]
mov dword [ebp - 0x1c], eax
jmp 0x49cd38
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49cd70
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 0x49cd88
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x854], 0
jmp 0x49cda3
mov edx, dword [ebp - 0x854]
add edx, 1
mov dword [ebp - 0x854], edx
cmp dword [ebp - 0x854], 3
jge 0x49cdf0
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49cdd2
mov eax, dword [ebp - 0x854]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49cde2
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x49cdee
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x854]
mov dword [ebp - 0x1c], eax
jmp 0x49cd94
mov dword [ebp - 0x858], 0
jmp 0x49ce0b
mov ecx, dword [ebp - 0x858]
add ecx, 1
mov dword [ebp - 0x858], ecx
cmp dword [ebp - 0x858], 7
jge 0x49ce4c
cmp dword [ebp - 0x1c], 0
jge 0x49ce22
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 0x49ce38
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49cdfc
mov dword [ebp - 4], 3
mov dword [ebp - 0xa54], 0xffffffff
mov dword [ebp - 0xa58], 0
jmp 0x49ce78
mov eax, dword [ebp - 0xa58]
add eax, 1
mov dword [ebp - 0xa58], eax
cmp dword [ebp - 0xa58], 1
jge 0x49ceaa
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49ce9f
mov edx, dword [ebp - 0xa54]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49ce69
mov dword [ebp - 4], 0xfffffffe
jmp 0x49ceca
mov dword [ebp - 4], 4
mov dword [ebp - 0xa5c], 0xffffffff
mov dword [ebp - 0xa60], 0
jmp 0x49cef6
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
cmp dword [ebp - 0xa60], 1
jge 0x49cf28
mov eax, dword [ebp - 0xa60]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49cf1d
mov edx, dword [ebp - 0xa5c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49cee7
mov dword [ebp - 4], 0xfffffffe
jmp 0x49cf48
mov dword [ebp - 0xa64], 0
jmp 0x49cf63
mov edx, dword [ebp - 0xa64]
add edx, 1
mov dword [ebp - 0xa64], edx
cmp dword [ebp - 0xa64], 0
jge 0x49cfb0
cmp dword [ebp - 0x1c], 0
jge 0x49cf7a
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 0x49cf90
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa68], 0xfa
lea edx, [ebp - 0xa68]
push edx
lea eax, [ebp - 0xc60]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49cf54
mov dword [ebp - 0xc64], 0
jmp 0x49cfcb
mov ecx, dword [ebp - 0xc64]
add ecx, 1
mov dword [ebp - 0xc64], ecx
cmp dword [ebp - 0xc64], 2
jge 0x49d00c
cmp dword [ebp - 0x1c], 0
jge 0x49cfe2
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 0x49cff8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe60]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49cfbc
mov dword [ebp - 0xe64], 0
jmp 0x49d027
mov eax, dword [ebp - 0xe64]
add eax, 1
mov dword [ebp - 0xe64], eax
cmp dword [ebp - 0xe64], 0
jge 0x49d068
cmp dword [ebp - 0x1c], 0
jge 0x49d03e
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 0x49d054
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1060]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49d018
mov eax, 1
test eax, eax
je 0x49d0a2
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 0x49d094
jmp 0x49d0a2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1064]
mov dword [ebp - 0x1c], edx
jmp 0x49d068
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1068], 0
jmp 0x49d0c6
mov ecx, dword [ebp - 0x1068]
add ecx, 1
mov dword [ebp - 0x1068], ecx
cmp dword [ebp - 0x1068], 2
jge 0x49d0dd
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1068]
mov dword [ebp - 0x1c], edx
jmp 0x49d0b7
cmp dword [ebp - 0x1c], 0
jge 0x49d0eb
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 0x49d103
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x106c], 0
jmp 0x49d11e
mov edx, dword [ebp - 0x106c]
add edx, 1
mov dword [ebp - 0x106c], edx
cmp dword [ebp - 0x106c], 4
jge 0x49d15f
cmp dword [ebp - 0x1c], 0
jge 0x49d135
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 0x49d14b
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1268]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49d10f
mov eax, 1
test eax, eax
je 0x49d199
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x126c], eax
mov eax, dword [ebp - 0x126c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49d18b
jmp 0x49d199
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x126c]
mov dword [ebp - 0x1c], edx
jmp 0x49d15f
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1270], 0
jmp 0x49d1bd
mov ecx, dword [ebp - 0x1270]
add ecx, 1
mov dword [ebp - 0x1270], ecx
cmp dword [ebp - 0x1270], 4
jge 0x49d1d4
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], edx
jmp 0x49d1ae
cmp dword [ebp - 0x1c], 0
jge 0x49d1e2
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 0x49d1fa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1274], 0
jmp 0x49d215
mov edx, dword [ebp - 0x1274]
add edx, 1
mov dword [ebp - 0x1274], edx
cmp dword [ebp - 0x1274], 2
jge 0x49d22c
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1274]
mov dword [ebp - 0x1c], eax
jmp 0x49d206
cmp dword [ebp - 0x1c], 0
jge 0x49d23a
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 0x49d252
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1278], 0
jmp 0x49d26d
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 4
jge 0x49d284
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1278]
mov dword [ebp - 0x1c], eax
jmp 0x49d25e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49d296
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 0x49d2ae
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x127c], 0
jmp 0x49d2c9
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 1
jge 0x49d316
mov eax, dword [ebp - 0x127c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49d2f8
mov eax, dword [ebp - 0x127c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49d308
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], edx
jmp 0x49d314
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], eax
jmp 0x49d2ba
mov dword [ebp - 0x1280], 0
jmp 0x49d331
mov ecx, dword [ebp - 0x1280]
add ecx, 1
mov dword [ebp - 0x1280], ecx
cmp dword [ebp - 0x1280], 1
jge 0x49d372
cmp dword [ebp - 0x1c], 0
jge 0x49d348
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 0x49d35e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1478]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49d322
mov dword [ebp - 0x147c], 0
jmp 0x49d38d
mov eax, dword [ebp - 0x147c]
add eax, 1
mov dword [ebp - 0x147c], eax
cmp dword [ebp - 0x147c], 3
jge 0x49d3a4
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x147c]
mov dword [ebp - 0x1c], ecx
jmp 0x49d37e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49d3b6
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 0x49d3ce
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1480], 0
jmp 0x49d3e9
mov edx, dword [ebp - 0x1480]
add edx, 1
mov dword [ebp - 0x1480], edx
cmp dword [ebp - 0x1480], 1
jge 0x49d42a
cmp dword [ebp - 0x1c], 0
jge 0x49d400
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 0x49d416
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1678]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49d3da
mov eax, 1
test eax, eax
je 0x49d464
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x167c], eax
mov eax, dword [ebp - 0x167c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49d456
jmp 0x49d464
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x167c]
mov dword [ebp - 0x1c], edx
jmp 0x49d42a
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1680], 0
jmp 0x49d488
mov ecx, dword [ebp - 0x1680]
add ecx, 1
mov dword [ebp - 0x1680], ecx
cmp dword [ebp - 0x1680], 0
jge 0x49d4d5
mov eax, dword [ebp - 0x1680]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49d4b7
mov eax, dword [ebp - 0x1680]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49d4c7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1680]
mov dword [ebp - 0x1c], edx
jmp 0x49d4d3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1680]
mov dword [ebp - 0x1c], eax
jmp 0x49d479
mov dword [ebp - 0x1684], 0
jmp 0x49d4f0
mov ecx, dword [ebp - 0x1684]
add ecx, 1
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 4
jge 0x49d507
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x49d4e1
cmp dword [ebp - 0x1c], 0
jge 0x49d515
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 0x49d52d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1688], 0
jmp 0x49d548
mov edx, dword [ebp - 0x1688]
add edx, 1
mov dword [ebp - 0x1688], edx
cmp dword [ebp - 0x1688], 4
jge 0x49d55f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1688]
mov dword [ebp - 0x1c], eax
jmp 0x49d539
cmp dword [ebp - 0x1c], 0
jge 0x49d56d
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 0x49d585
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x168c], 0
jmp 0x49d5a0
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 1
jge 0x49d5b7
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], eax
jmp 0x49d591
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49d5c9
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 0x49d5e1
call dword [sym.imp.KERNEL32.dll_GetVersion]
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 - 0x24]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret