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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x512428
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2500
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x30], 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 0x4899a9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x16
jge 0x4899ba
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x4899a0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4899cc
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 0x4899e4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x28], 0
jmp 0x489a04
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0x29
jge 0x489a2d
mov eax, dword [ebp - 0x28]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x489a22
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 0x4899fb
mov dword [ebp - 4], 0xfffffffe
jmp 0x489a4d
mov dword [ebp - 0x2c], 0
jmp 0x489a5f
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0xb
jge 0x489a9d
cmp dword [ebp - 0x1c], 0
jge 0x489a73
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 0x489a89
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x489a56
mov dword [ebp - 0x22c], 0
jmp 0x489ab8
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x11
jge 0x489af9
cmp dword [ebp - 0x1c], 0
jge 0x489acf
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 0x489ae5
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x489aa9
mov dword [ebp - 0x42c], 0
jmp 0x489b14
mov eax, dword [ebp - 0x42c]
add eax, 1
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0x14
jge 0x489b2b
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], ecx
jmp 0x489b05
cmp dword [ebp - 0x1c], 0
jge 0x489b39
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 0x489b51
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x489b8b
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 0x489b7d
jmp 0x489b8b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x430]
mov dword [ebp - 0x1c], edx
jmp 0x489b51
mov eax, dword [ebp - 0x1c]
add eax, 0x17
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x434], 0xffffffff
mov dword [ebp - 0x438], 0
jmp 0x489bc0
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
cmp dword [ebp - 0x438], 0x1b
jge 0x489bf2
mov eax, dword [ebp - 0x438]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x489be7
mov edx, dword [ebp - 0x434]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x489bb1
mov dword [ebp - 4], 0xfffffffe
jmp 0x489c12
mov dword [ebp - 0x43c], 0
jmp 0x489c2d
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
cmp dword [ebp - 0x43c], 8
jge 0x489c7a
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489c5c
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489c6c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x489c78
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], eax
jmp 0x489c1e
mov dword [ebp - 0x440], 0
jmp 0x489c95
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 0x1a
jge 0x489ce2
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489cc4
mov eax, dword [ebp - 0x440]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489cd4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x1c], edx
jmp 0x489ce0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x440]
mov dword [ebp - 0x1c], eax
jmp 0x489c86
mov dword [ebp - 4], 2
mov dword [ebp - 0x444], 0xffffffff
mov dword [ebp - 0x448], 0
jmp 0x489d0e
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 8
jge 0x489d40
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x489d35
mov edx, dword [ebp - 0x444]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x489cff
mov dword [ebp - 4], 0xfffffffe
jmp 0x489d60
mov dword [ebp - 4], 3
mov dword [ebp - 0x44c], 0xffffffff
mov dword [ebp - 0x450], 0
jmp 0x489d8c
mov edx, dword [ebp - 0x450]
add edx, 1
mov dword [ebp - 0x450], edx
cmp dword [ebp - 0x450], 0x10
jge 0x489dbe
mov eax, dword [ebp - 0x450]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x489db3
mov edx, dword [ebp - 0x44c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x489d7d
mov dword [ebp - 4], 0xfffffffe
jmp 0x489dde
mov dword [ebp - 0x454], 0
jmp 0x489df9
mov edx, dword [ebp - 0x454]
add edx, 1
mov dword [ebp - 0x454], edx
cmp dword [ebp - 0x454], 0xc
jge 0x489e10
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x454]
mov dword [ebp - 0x1c], eax
jmp 0x489dea
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x489e22
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 0x489e3a
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x458], 0
jmp 0x489e55
mov edx, dword [ebp - 0x458]
add edx, 1
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x458], 0xd
jge 0x489ea2
mov eax, dword [ebp - 0x458]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489e84
mov eax, dword [ebp - 0x458]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489e94
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x458]
mov dword [ebp - 0x1c], edx
jmp 0x489ea0
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x458]
mov dword [ebp - 0x1c], eax
jmp 0x489e46
mov dword [ebp - 0x45c], 0
jmp 0x489ebd
mov ecx, dword [ebp - 0x45c]
add ecx, 1
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 0x45c], 0xb
jge 0x489ed4
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x45c]
mov dword [ebp - 0x1c], edx
jmp 0x489eae
cmp dword [ebp - 0x1c], 0
jge 0x489ee2
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 0x489efa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x460], 0
jmp 0x489f15
mov edx, dword [ebp - 0x460]
add edx, 1
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 0xa
jge 0x489f62
cmp dword [ebp - 0x1c], 0
jge 0x489f2c
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 0x489f42
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x464], 0xfa
lea edx, [ebp - 0x464]
push edx
lea eax, [ebp - 0x660]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x489f06
mov dword [ebp - 0x664], 0
jmp 0x489f7d
mov ecx, dword [ebp - 0x664]
add ecx, 1
mov dword [ebp - 0x664], ecx
cmp dword [ebp - 0x664], 3
jge 0x489f94
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], edx
jmp 0x489f6e
cmp dword [ebp - 0x1c], 0
jge 0x489fa2
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 0x489fba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x489ff4
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 0x489fe6
jmp 0x489ff4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x668]
mov dword [ebp - 0x1c], edx
jmp 0x489fba
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x66c], 0
jmp 0x48a018
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 3
jge 0x48a02f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x66c]
mov dword [ebp - 0x1c], edx
jmp 0x48a009
cmp dword [ebp - 0x1c], 0
jge 0x48a03d
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 0x48a055
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x670], 0
jmp 0x48a070
mov edx, dword [ebp - 0x670]
add edx, 1
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 1
jge 0x48a087
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x670]
mov dword [ebp - 0x1c], eax
jmp 0x48a061
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a099
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 0x48a0b1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x674], 0
jmp 0x48a0cc
mov edx, dword [ebp - 0x674]
add edx, 1
mov dword [ebp - 0x674], edx
cmp dword [ebp - 0x674], 4
jge 0x48a0e3
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x674]
mov dword [ebp - 0x1c], eax
jmp 0x48a0bd
cmp dword [ebp - 0x1c], 0
jge 0x48a0f1
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 0x48a109
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x678], 0
jmp 0x48a124
mov edx, dword [ebp - 0x678]
add edx, 1
mov dword [ebp - 0x678], edx
cmp dword [ebp - 0x678], 0
jge 0x48a165
cmp dword [ebp - 0x1c], 0
jge 0x48a13b
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 0x48a151
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x870]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48a115
mov eax, 1
test eax, eax
je 0x48a19f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x874], eax
mov eax, dword [ebp - 0x874]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48a191
jmp 0x48a19f
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x874]
mov dword [ebp - 0x1c], edx
jmp 0x48a165
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x878], 0
jmp 0x48a1c3
mov ecx, dword [ebp - 0x878]
add ecx, 1
mov dword [ebp - 0x878], ecx
cmp dword [ebp - 0x878], 2
jge 0x48a1da
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x878]
mov dword [ebp - 0x1c], edx
jmp 0x48a1b4
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a1ec
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 0x48a204
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x87c], 0xffffffff
mov dword [ebp - 0x880], 0
jmp 0x48a230
mov edx, dword [ebp - 0x880]
add edx, 1
mov dword [ebp - 0x880], edx
cmp dword [ebp - 0x880], 6
jge 0x48a262
mov eax, dword [ebp - 0x880]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48a257
mov edx, dword [ebp - 0x87c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48a221
mov dword [ebp - 4], 0xfffffffe
jmp 0x48a282
mov edx, 1
test edx, edx
je 0x48a2bc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x884]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48a2ae
jmp 0x48a2bc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x884]
mov dword [ebp - 0x1c], edx
jmp 0x48a282
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x888], 0
jmp 0x48a2e0
mov ecx, dword [ebp - 0x888]
add ecx, 1
mov dword [ebp - 0x888], ecx
cmp dword [ebp - 0x888], 7
jge 0x48a2f7
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x888]
mov dword [ebp - 0x1c], edx
jmp 0x48a2d1
cmp dword [ebp - 0x1c], 0
jge 0x48a305
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 0x48a31d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x88c], 0
jmp 0x48a338
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
cmp dword [ebp - 0x88c], 3
jge 0x48a34f
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x88c]
mov dword [ebp - 0x1c], eax
jmp 0x48a329
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a361
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 0x48a379
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x48a3b3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x890], eax
mov eax, dword [ebp - 0x890]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48a3a5
jmp 0x48a3b3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x890]
mov dword [ebp - 0x1c], edx
jmp 0x48a379
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x894], 0xffffffff
mov dword [ebp - 0x898], 0
jmp 0x48a3e8
mov ecx, dword [ebp - 0x898]
add ecx, 1
mov dword [ebp - 0x898], ecx
cmp dword [ebp - 0x898], 2
jge 0x48a41a
mov eax, dword [ebp - 0x898]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48a40f
mov edx, dword [ebp - 0x894]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48a3d9
mov dword [ebp - 4], 0xfffffffe
jmp 0x48a43a
mov edx, 1
test edx, edx
je 0x48a474
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x89c], eax
mov eax, dword [ebp - 0x89c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48a466
jmp 0x48a474
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x89c]
mov dword [ebp - 0x1c], edx
jmp 0x48a43a
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8a0], 0
jmp 0x48a498
mov ecx, dword [ebp - 0x8a0]
add ecx, 1
mov dword [ebp - 0x8a0], ecx
cmp dword [ebp - 0x8a0], 7
jge 0x48a4af
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x8a0]
mov dword [ebp - 0x1c], edx
jmp 0x48a489
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a4c1
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 0x48a4d9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x8a4], 0
jmp 0x48a4f4
mov edx, dword [ebp - 0x8a4]
add edx, 1
mov dword [ebp - 0x8a4], edx
cmp dword [ebp - 0x8a4], 7
jge 0x48a541
cmp dword [ebp - 0x1c], 0
jge 0x48a50b
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 0x48a521
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x8a8], 0xfa
lea edx, [ebp - 0x8a8]
push edx
lea eax, [ebp - 0xaa0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48a4e5
mov dword [ebp - 0xaa4], 0
jmp 0x48a55c
mov ecx, dword [ebp - 0xaa4]
add ecx, 1
mov dword [ebp - 0xaa4], ecx
cmp dword [ebp - 0xaa4], 4
jge 0x48a573
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xaa4]
mov dword [ebp - 0x1c], edx
jmp 0x48a54d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a585
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 0x48a59d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xaa8], 0
jmp 0x48a5b8
mov edx, dword [ebp - 0xaa8]
add edx, 1
mov dword [ebp - 0xaa8], edx
cmp dword [ebp - 0xaa8], 0
jge 0x48a5cf
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xaa8]
mov dword [ebp - 0x1c], eax
jmp 0x48a5a9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a5e1
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 0x48a5f9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xaac], 0
jmp 0x48a614
mov edx, dword [ebp - 0xaac]
add edx, 1
mov dword [ebp - 0xaac], edx
cmp dword [ebp - 0xaac], 1
jge 0x48a62b
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xaac]
mov dword [ebp - 0x1c], eax
jmp 0x48a605
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a63d
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 0x48a655
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xab0], 0
jmp 0x48a670
mov edx, dword [ebp - 0xab0]
add edx, 1
mov dword [ebp - 0xab0], edx
cmp dword [ebp - 0xab0], 2
jge 0x48a687
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xab0]
mov dword [ebp - 0x1c], eax
jmp 0x48a661
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a699
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 0x48a6b1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xab4], 0
jmp 0x48a6cc
mov edx, dword [ebp - 0xab4]
add edx, 1
mov dword [ebp - 0xab4], edx
cmp dword [ebp - 0xab4], 1
jge 0x48a719
cmp dword [ebp - 0x1c], 0
jge 0x48a6e3
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 0x48a6f9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xab8], 0xfa
lea edx, [ebp - 0xab8]
push edx
lea eax, [ebp - 0xcb0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48a6bd
mov dword [ebp - 0xcb4], 0
jmp 0x48a734
mov ecx, dword [ebp - 0xcb4]
add ecx, 1
mov dword [ebp - 0xcb4], ecx
cmp dword [ebp - 0xcb4], 1
jge 0x48a781
mov eax, dword [ebp - 0xcb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48a763
mov eax, dword [ebp - 0xcb4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48a773
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcb4]
mov dword [ebp - 0x1c], edx
jmp 0x48a77f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x1c], eax
jmp 0x48a725
mov dword [ebp - 0xcb8], 0
jmp 0x48a79c
mov ecx, dword [ebp - 0xcb8]
add ecx, 1
mov dword [ebp - 0xcb8], ecx
cmp dword [ebp - 0xcb8], 3
jge 0x48a7e9
mov eax, dword [ebp - 0xcb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48a7cb
mov eax, dword [ebp - 0xcb8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48a7db
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcb8]
mov dword [ebp - 0x1c], edx
jmp 0x48a7e7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcb8]
mov dword [ebp - 0x1c], eax
jmp 0x48a78d
mov dword [ebp - 4], 6
mov dword [ebp - 0xcbc], 0xffffffff
mov dword [ebp - 0xcc0], 0
jmp 0x48a815
mov ecx, dword [ebp - 0xcc0]
add ecx, 1
mov dword [ebp - 0xcc0], ecx
cmp dword [ebp - 0xcc0], 0
jge 0x48a847
mov eax, dword [ebp - 0xcc0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48a83c
mov edx, dword [ebp - 0xcbc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48a806
mov dword [ebp - 4], 0xfffffffe
jmp 0x48a867
mov dword [ebp - 0xcc4], 0
jmp 0x48a882
mov edx, dword [ebp - 0xcc4]
add edx, 1
mov dword [ebp - 0xcc4], edx
cmp dword [ebp - 0xcc4], 1
jge 0x48a8cf
mov eax, dword [ebp - 0xcc4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48a8b1
mov eax, dword [ebp - 0xcc4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48a8c1
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcc4]
mov dword [ebp - 0x1c], edx
jmp 0x48a8cd
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcc4]
mov dword [ebp - 0x1c], eax
jmp 0x48a873
mov dword [ebp - 0xcc8], 0
jmp 0x48a8ea
mov ecx, dword [ebp - 0xcc8]
add ecx, 1
mov dword [ebp - 0xcc8], ecx
cmp dword [ebp - 0xcc8], 4
jge 0x48a937
mov eax, dword [ebp - 0xcc8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x48a919
mov eax, dword [ebp - 0xcc8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x48a929
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xcc8]
mov dword [ebp - 0x1c], edx
jmp 0x48a935
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xcc8]
mov dword [ebp - 0x1c], eax
jmp 0x48a8db
mov dword [ebp - 0xccc], 0
jmp 0x48a952
mov ecx, dword [ebp - 0xccc]
add ecx, 1
mov dword [ebp - 0xccc], ecx
cmp dword [ebp - 0xccc], 0
jge 0x48a99f
cmp dword [ebp - 0x1c], 0
jge 0x48a969
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 0x48a97f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xcd0], 0xfa
lea edx, [ebp - 0xcd0]
push edx
lea eax, [ebp - 0xec8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x48a943
mov dword [ebp - 0xecc], 0
jmp 0x48a9ba
mov ecx, dword [ebp - 0xecc]
add ecx, 1
mov dword [ebp - 0xecc], ecx
cmp dword [ebp - 0xecc], 2
jge 0x48a9d1
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xecc]
mov dword [ebp - 0x1c], edx
jmp 0x48a9ab
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48a9e3
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 0x48a9fb
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xed0], 0
jmp 0x48aa16
mov edx, dword [ebp - 0xed0]
add edx, 1
mov dword [ebp - 0xed0], edx
cmp dword [ebp - 0xed0], 0
jge 0x48aa57
cmp dword [ebp - 0x1c], 0
jge 0x48aa2d
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 0x48aa43
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x10c8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48aa07
mov eax, 1
test eax, eax
je 0x48aa91
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10cc], eax
mov eax, dword [ebp - 0x10cc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48aa83
jmp 0x48aa91
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x10cc]
mov dword [ebp - 0x1c], edx
jmp 0x48aa57
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10d0], 0
jmp 0x48aab2
cmp dword [ebp - 0x10d0], 4
jge 0x48aac9
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10d0]
mov dword [ebp - 0x1c], edx
jmp 0x48aaa3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48aadb