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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5129f8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2d10
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x4c], 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 0x49acc8
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 0x49acbd
jmp 0x49acc8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x49ac97
mov eax, dword [ebp - 0x1c]
add eax, 0x17
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x49ace3
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x1d
jge 0x49acf4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x49acda
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49ad06
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 0x49ad1e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x49ad30
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x16
jge 0x49ad41
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
jmp 0x49ad27
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49ad53
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 0x49ad6b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x49ad7d
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0xf
jge 0x49ad8e
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x49ad74
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49ada0
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 0x49adb8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], 0
jmp 0x49adca
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0x11
jge 0x49addb
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x49adc1
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49aded
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 0x49ae05
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], 0
jmp 0x49ae25
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x38], 0x1d
jge 0x49ae4e
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49ae43
mov edx, dword [ebp - 0x34]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49ae1c
mov dword [ebp - 4], 0xfffffffe
jmp 0x49ae6e
mov dword [ebp - 0x3c], 0
jmp 0x49ae80
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 3
jge 0x49ae91
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x49ae77
cmp dword [ebp - 0x1c], 0
jge 0x49ae9f
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 0x49aeb7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], 0
jmp 0x49aec9
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x40], 0x10
jge 0x49af07
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49aeef
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49aefc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], edx
jmp 0x49af05
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
jmp 0x49aec0
mov dword [ebp - 0x44], 0
jmp 0x49af19
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 7
jge 0x49af2a
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], edx
jmp 0x49af10
cmp dword [ebp - 0x1c], 0
jge 0x49af38
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 0x49af50
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0
jmp 0x49af62
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 9
jge 0x49afa0
cmp dword [ebp - 0x1c], 0
jge 0x49af76
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 0x49af8c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x248]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49af59
mov eax, 1
test eax, eax
je 0x49afda
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49afcc
jmp 0x49afda
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x24c]
mov dword [ebp - 0x1c], edx
jmp 0x49afa0
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x250], 0
jmp 0x49affe
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 8
jge 0x49b04b
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49b02d
mov eax, dword [ebp - 0x250]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49b03d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x250]
mov dword [ebp - 0x1c], edx
jmp 0x49b049
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x250]
mov dword [ebp - 0x1c], eax
jmp 0x49afef
mov dword [ebp - 4], 1
mov dword [ebp - 0x254], 0xffffffff
mov dword [ebp - 0x258], 0
jmp 0x49b077
mov ecx, dword [ebp - 0x258]
add ecx, 1
mov dword [ebp - 0x258], ecx
cmp dword [ebp - 0x258], 7
jge 0x49b0a9
mov eax, dword [ebp - 0x258]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49b09e
mov edx, dword [ebp - 0x254]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49b068
mov dword [ebp - 4], 0xfffffffe
jmp 0x49b0c9
mov edx, 1
test edx, edx
je 0x49b103
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49b0f5
jmp 0x49b103
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
jmp 0x49b0c9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x260], 0
jmp 0x49b124
mov ecx, dword [ebp - 0x260]
add ecx, 1
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x260], 0xe
jge 0x49b171
cmp dword [ebp - 0x1c], 0
jge 0x49b13b
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 0x49b151
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x264], 0xfa
lea edx, [ebp - 0x264]
push edx
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b115
mov dword [ebp - 0x464], 0
jmp 0x49b18c
mov ecx, dword [ebp - 0x464]
add ecx, 1
mov dword [ebp - 0x464], ecx
cmp dword [ebp - 0x464], 0xf
jge 0x49b1cd
cmp dword [ebp - 0x1c], 0
jge 0x49b1a3
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 0x49b1b9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x660]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49b17d
mov dword [ebp - 0x664], 0
jmp 0x49b1e8
mov eax, dword [ebp - 0x664]
add eax, 1
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 0xb
jge 0x49b1ff
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], ecx
jmp 0x49b1d9
cmp dword [ebp - 0x1c], 0
jge 0x49b20d
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 0x49b225
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x49b25f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x668], eax
mov eax, dword [ebp - 0x668]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49b251
jmp 0x49b25f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x668]
mov dword [ebp - 0x1c], edx
jmp 0x49b225
mov eax, dword [ebp - 0x1c]
add eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x66c], 0
jmp 0x49b283
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 5
jge 0x49b29a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x66c]
mov dword [ebp - 0x1c], edx
jmp 0x49b274
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49b2ac
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 0x49b2c4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x670], 0
jmp 0x49b2df
mov edx, dword [ebp - 0x670]
add edx, 1
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 0xa
jge 0x49b2f6
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x670]
mov dword [ebp - 0x1c], eax
jmp 0x49b2d0
cmp dword [ebp - 0x1c], 0
jge 0x49b304
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 0x49b31c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x674], 0
jmp 0x49b337
mov edx, dword [ebp - 0x674]
add edx, 1
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x674], 3
jge 0x49b384
cmp dword [ebp - 0x1c], 0
jge 0x49b34e
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 0x49b364
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x678], 0xfa
lea edx, [ebp - 0x678]
push edx
lea eax, [ebp - 0x870]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b328
mov dword [ebp - 0x874], 0
jmp 0x49b39f
mov ecx, dword [ebp - 0x874]
add ecx, 1
mov dword [ebp - 0x874], ecx
cmp dword [ebp - 0x874], 5
jge 0x49b3ec
cmp dword [ebp - 0x1c], 0
jge 0x49b3b6
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 0x49b3cc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x878], 0xfa
lea edx, [ebp - 0x878]
push edx
lea eax, [ebp - 0xa70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b390
mov dword [ebp - 0xa74], 0
jmp 0x49b407
mov ecx, dword [ebp - 0xa74]
add ecx, 1
mov dword [ebp - 0xa74], ecx
cmp dword [ebp - 0xa74], 4
jge 0x49b454
cmp dword [ebp - 0x1c], 0
jge 0x49b41e
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 0x49b434
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa78], 0xfa
lea edx, [ebp - 0xa78]
push edx
lea eax, [ebp - 0xc70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b3f8
mov ecx, 1
test ecx, ecx
je 0x49b48e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc74], eax
mov eax, dword [ebp - 0xc74]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49b480
jmp 0x49b48e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc74]
mov dword [ebp - 0x1c], edx
jmp 0x49b454
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xc78], 0xffffffff
mov dword [ebp - 0xc7c], 0
jmp 0x49b4c3
mov ecx, dword [ebp - 0xc7c]
add ecx, 1
mov dword [ebp - 0xc7c], ecx
cmp dword [ebp - 0xc7c], 5
jge 0x49b4f5
mov eax, dword [ebp - 0xc7c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49b4ea
mov edx, dword [ebp - 0xc78]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49b4b4
mov dword [ebp - 4], 0xfffffffe
jmp 0x49b515
mov dword [ebp - 0xc80], 0
jmp 0x49b530
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 7
jge 0x49b571
cmp dword [ebp - 0x1c], 0
jge 0x49b547
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 0x49b55d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe78]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49b521
mov dword [ebp - 0xe7c], 0
jmp 0x49b58c
mov eax, dword [ebp - 0xe7c]
add eax, 1
mov dword [ebp - 0xe7c], eax
cmp dword [ebp - 0xe7c], 1
jge 0x49b5cd
cmp dword [ebp - 0x1c], 0
jge 0x49b5a3
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 0x49b5b9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1078]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49b57d
mov dword [ebp - 0x107c], 0
jmp 0x49b5e8
mov eax, dword [ebp - 0x107c]
add eax, 1
mov dword [ebp - 0x107c], eax
cmp dword [ebp - 0x107c], 1
jge 0x49b635
cmp dword [ebp - 0x1c], 0
jge 0x49b5ff
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 0x49b615
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1080], 0xfa
lea edx, [ebp - 0x1080]
push edx
lea eax, [ebp - 0x1278]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b5d9
mov dword [ebp - 4], 3
mov dword [ebp - 0x127c], 0xffffffff
mov dword [ebp - 0x1280], 0
jmp 0x49b661
mov ecx, dword [ebp - 0x1280]
add ecx, 1
mov dword [ebp - 0x1280], ecx
cmp dword [ebp - 0x1280], 5
jge 0x49b693
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49b688
mov edx, dword [ebp - 0x127c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49b652
mov dword [ebp - 4], 0xfffffffe
jmp 0x49b6b3
mov dword [ebp - 0x1284], 0
jmp 0x49b6ce
mov edx, dword [ebp - 0x1284]
add edx, 1
mov dword [ebp - 0x1284], edx
cmp dword [ebp - 0x1284], 4
jge 0x49b70f
cmp dword [ebp - 0x1c], 0
jge 0x49b6e5
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 0x49b6fb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1480]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49b6bf
mov dword [ebp - 0x1484], 0
jmp 0x49b72a
mov eax, dword [ebp - 0x1484]
add eax, 1
mov dword [ebp - 0x1484], eax
cmp dword [ebp - 0x1484], 1
jge 0x49b777
cmp dword [ebp - 0x1c], 0
jge 0x49b741
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 0x49b757
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1488], 0xfa
lea edx, [ebp - 0x1488]
push edx
lea eax, [ebp - 0x1680]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b71b
mov ecx, 1
test ecx, ecx
je 0x49b7b1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1684], eax
mov eax, dword [ebp - 0x1684]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49b7a3
jmp 0x49b7b1
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1684]
mov dword [ebp - 0x1c], edx
jmp 0x49b777
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1688], 0
jmp 0x49b7d5
mov ecx, dword [ebp - 0x1688]
add ecx, 1
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 7
jge 0x49b7ec
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1688]
mov dword [ebp - 0x1c], edx
jmp 0x49b7c6
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49b7fe
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 0x49b816
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x168c], 0
jmp 0x49b831
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 8
jge 0x49b848
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x168c]
mov dword [ebp - 0x1c], eax
jmp 0x49b822
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49b85a
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 0x49b872
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1690], 0
jmp 0x49b88d
mov edx, dword [ebp - 0x1690]
add edx, 1
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 4
jge 0x49b8da
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x49b8bc
mov eax, dword [ebp - 0x1690]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x49b8cc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], edx
jmp 0x49b8d8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1690]
mov dword [ebp - 0x1c], eax
jmp 0x49b87e
mov dword [ebp - 0x1694], 0
jmp 0x49b8f5
mov ecx, dword [ebp - 0x1694]
add ecx, 1
mov dword [ebp - 0x1694], ecx
cmp dword [ebp - 0x1694], 5
jge 0x49b936
cmp dword [ebp - 0x1c], 0
jge 0x49b90c
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 0x49b922
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1890]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49b8e6
mov dword [ebp - 0x1894], 0
jmp 0x49b951
mov eax, dword [ebp - 0x1894]
add eax, 1
mov dword [ebp - 0x1894], eax
cmp dword [ebp - 0x1894], 2
jge 0x49b968
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1894]
mov dword [ebp - 0x1c], ecx
jmp 0x49b942
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49b97a
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 0x49b992
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1898], 0
jmp 0x49b9ad
mov edx, dword [ebp - 0x1898]
add edx, 1
mov dword [ebp - 0x1898], edx
cmp dword [ebp - 0x1898], 3
jge 0x49b9fa
cmp dword [ebp - 0x1c], 0
jge 0x49b9c4
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 0x49b9da
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x189c], 0xfa
lea edx, [ebp - 0x189c]
push edx
lea eax, [ebp - 0x1a98]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49b99e
mov ecx, 1
test ecx, ecx
je 0x49ba34
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1a9c], eax
mov eax, dword [ebp - 0x1a9c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49ba26
jmp 0x49ba34
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1a9c]
mov dword [ebp - 0x1c], edx
jmp 0x49b9fa
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1aa0], 0
jmp 0x49ba58
mov ecx, dword [ebp - 0x1aa0]
add ecx, 1
mov dword [ebp - 0x1aa0], ecx
cmp dword [ebp - 0x1aa0], 2
jge 0x49baa5
cmp dword [ebp - 0x1c], 0
jge 0x49ba6f
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 0x49ba85
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1aa4], 0xfa
lea edx, [ebp - 0x1aa4]
push edx
lea eax, [ebp - 0x1ca0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49ba49
mov dword [ebp - 0x1ca4], 0
jmp 0x49bac0
mov ecx, dword [ebp - 0x1ca4]
add ecx, 1
mov dword [ebp - 0x1ca4], ecx
cmp dword [ebp - 0x1ca4], 0
jge 0x49bad7
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1ca4]
mov dword [ebp - 0x1c], edx
jmp 0x49bab1
cmp dword [ebp - 0x1c], 0
jge 0x49bae5
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 0x49bafd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x49bb37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ca8], eax
mov eax, dword [ebp - 0x1ca8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49bb29
jmp 0x49bb37
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ca8]
mov dword [ebp - 0x1c], edx
jmp 0x49bafd
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cac], 0
jmp 0x49bb5b
mov ecx, dword [ebp - 0x1cac]
add ecx, 1
mov dword [ebp - 0x1cac], ecx
cmp dword [ebp - 0x1cac], 1
jge 0x49bb72
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1cac]
mov dword [ebp - 0x1c], edx
jmp 0x49bb4c
cmp dword [ebp - 0x1c], 0
jge 0x49bb80
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 0x49bb98
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1cb0], 0
jmp 0x49bbb3
mov edx, dword [ebp - 0x1cb0]
add edx, 1
mov dword [ebp - 0x1cb0], edx
cmp dword [ebp - 0x1cb0], 3
jge 0x49bc00
cmp dword [ebp - 0x1c], 0
jge 0x49bbca
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 0x49bbe0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1cb4], 0xfa
lea edx, [ebp - 0x1cb4]
push edx
lea eax, [ebp - 0x1eb0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x49bba4
mov dword [ebp - 0x1eb4], 0
jmp 0x49bc1b
mov ecx, dword [ebp - 0x1eb4]
add ecx, 1
mov dword [ebp - 0x1eb4], ecx
cmp dword [ebp - 0x1eb4], 2
jge 0x49bc32
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1eb4]
mov dword [ebp - 0x1c], edx
jmp 0x49bc0c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49bc44
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 0x49bc5c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1eb8], 0
jmp 0x49bc77
mov edx, dword [ebp - 0x1eb8]
add edx, 1
mov dword [ebp - 0x1eb8], edx
cmp dword [ebp - 0x1eb8], 0
jge 0x49bc8e
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1eb8]
mov dword [ebp - 0x1c], eax
jmp 0x49bc68
cmp dword [ebp - 0x1c], 0
jge 0x49bc9c
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 0x49bcb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ebc], 0
jmp 0x49bccf
mov edx, dword [ebp - 0x1ebc]
add edx, 1
mov dword [ebp - 0x1ebc], edx
cmp dword [ebp - 0x1ebc], 2
jge 0x49bd10
cmp dword [ebp - 0x1c], 0
jge 0x49bce6
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 0x49bcfc
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x20b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x49bcc0
mov dword [ebp - 4], 4
mov dword [ebp - 0x20bc], 0xffffffff
mov dword [ebp - 0x20c0], 0
jmp 0x49bd3c
mov eax, dword [ebp - 0x20c0]
add eax, 1
mov dword [ebp - 0x20c0], eax
cmp dword [ebp - 0x20c0], 2
jge 0x49bd6e
mov eax, dword [ebp - 0x20c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x49bd63
mov edx, dword [ebp - 0x20bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x49bd2d
mov dword [ebp - 4], 0xfffffffe
jmp 0x49bd8e
mov edx, 1
test edx, edx
je 0x49bdc8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x20c4], eax
mov eax, dword [ebp - 0x20c4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x49bdba
jmp 0x49bdc8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20c4]
mov dword [ebp - 0x1c], edx
jmp 0x49bd8e
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20c8], 0
jmp 0x49bdec
cmp dword [ebp - 0x20c8], 2
jge 0x49be03
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20c8]
mov dword [ebp - 0x1c], edx
jmp 0x49bddd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x49be15