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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5123c0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ab4
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x28], 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 0x488669
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1d
jge 0x4886ad
cmp dword [ebp - 0x1c], 0
jge 0x48867d
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 0x488693
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0xfa
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x488660
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x4886d9
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0x16
jge 0x48870b
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x488700
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 0x4886ca
mov dword [ebp - 4], 0xfffffffe
jmp 0x48872b
mov dword [ebp - 0x22c], 0
jmp 0x488746
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0xb
jge 0x488793
cmp dword [ebp - 0x1c], 0
jge 0x48875d
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 0x488773
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x230], 0xfa
lea edx, [ebp - 0x230]
push edx
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x488737
mov ecx, 1
test ecx, ecx
je 0x4887cd
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 0x4887bf
jmp 0x4887cd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x42c]
mov dword [ebp - 0x1c], edx
jmp 0x488793
mov eax, dword [ebp - 0x1c]
add eax, 0x14
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x430], 0
jmp 0x4887f1
mov ecx, dword [ebp - 0x430]
add ecx, 1
mov dword [ebp - 0x430], ecx
cmp dword [ebp - 0x430], 7
jge 0x48883e
cmp dword [ebp - 0x1c], 0
jge 0x488808
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 0x48881e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x434], 0xfa
lea edx, [ebp - 0x434]
push edx
lea eax, [ebp - 0x630]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4887e2
mov dword [ebp - 0x634], 0
jmp 0x488859
mov ecx, dword [ebp - 0x634]
add ecx, 1
mov dword [ebp - 0x634], ecx
cmp dword [ebp - 0x634], 0x10
jge 0x488870
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x634]
mov dword [ebp - 0x1c], edx
jmp 0x48884a
cmp dword [ebp - 0x1c], 0
jge 0x48887e
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 0x488896
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x638], 0
jmp 0x4888b1
mov edx, dword [ebp - 0x638]
add edx, 1
mov dword [ebp - 0x638], edx
cmp dword [ebp - 0x638], 2
jge 0x4888fe
mov eax, dword [ebp - 0x638]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4888e0
mov eax, dword [ebp - 0x638]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4888f0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x638]
mov dword [ebp - 0x1c], edx
jmp 0x4888fc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x638]
mov dword [ebp - 0x1c], eax
jmp 0x4888a2
mov dword [ebp - 0x63c], 0
jmp 0x488919
mov ecx, dword [ebp - 0x63c]
add ecx, 1
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x63c], 0x10
jge 0x488966
mov eax, dword [ebp - 0x63c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488948
mov eax, dword [ebp - 0x63c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488958
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], edx
jmp 0x488964
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x63c]
mov dword [ebp - 0x1c], eax
jmp 0x48890a
mov dword [ebp - 0x640], 0
jmp 0x488981
mov ecx, dword [ebp - 0x640]
add ecx, 1
mov dword [ebp - 0x640], ecx
cmp dword [ebp - 0x640], 5
jge 0x488998
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x640]
mov dword [ebp - 0x1c], edx
jmp 0x488972
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4889aa
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 0x4889c2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x644], 0
jmp 0x4889dd
mov edx, dword [ebp - 0x644]
add edx, 1
mov dword [ebp - 0x644], edx
cmp dword [ebp - 0x644], 6
jge 0x488a1e
cmp dword [ebp - 0x1c], 0
jge 0x4889f4
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 0x488a0a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x840]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4889ce
mov dword [ebp - 0x844], 0
jmp 0x488a39
mov eax, dword [ebp - 0x844]
add eax, 1
mov dword [ebp - 0x844], eax
cmp dword [ebp - 0x844], 7
jge 0x488a7a
cmp dword [ebp - 0x1c], 0
jge 0x488a50
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 0x488a66
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa40]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x488a2a
mov dword [ebp - 0xa44], 0
jmp 0x488a95
mov eax, dword [ebp - 0xa44]
add eax, 1
mov dword [ebp - 0xa44], eax
cmp dword [ebp - 0xa44], 0xf
jge 0x488aac
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xa44]
mov dword [ebp - 0x1c], ecx
jmp 0x488a86
cmp dword [ebp - 0x1c], 0
jge 0x488aba
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 0x488ad2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x488b0c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0xa48]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x488afe
jmp 0x488b0c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa48]
mov dword [ebp - 0x1c], edx
jmp 0x488ad2
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa4c], 0
jmp 0x488b30
mov ecx, dword [ebp - 0xa4c]
add ecx, 1
mov dword [ebp - 0xa4c], ecx
cmp dword [ebp - 0xa4c], 0
jge 0x488b7d
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488b5f
mov eax, dword [ebp - 0xa4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488b6f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], edx
jmp 0x488b7b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa4c]
mov dword [ebp - 0x1c], eax
jmp 0x488b21
mov dword [ebp - 0xa50], 0
jmp 0x488b98
mov ecx, dword [ebp - 0xa50]
add ecx, 1
mov dword [ebp - 0xa50], ecx
cmp dword [ebp - 0xa50], 5
jge 0x488be5
mov eax, dword [ebp - 0xa50]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488bc7
mov eax, dword [ebp - 0xa50]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488bd7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa50]
mov dword [ebp - 0x1c], edx
jmp 0x488be3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa50]
mov dword [ebp - 0x1c], eax
jmp 0x488b89
mov dword [ebp - 0xa54], 0
jmp 0x488c00
mov ecx, dword [ebp - 0xa54]
add ecx, 1
mov dword [ebp - 0xa54], ecx
cmp dword [ebp - 0xa54], 0
jge 0x488c4d
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488c2f
mov eax, dword [ebp - 0xa54]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488c3f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x488c4b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], eax
jmp 0x488bf1
mov dword [ebp - 0xa58], 0
jmp 0x488c68
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 4
jge 0x488cb5
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488c97
mov eax, dword [ebp - 0xa58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488ca7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], edx
jmp 0x488cb3
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], eax
jmp 0x488c59
mov dword [ebp - 0xa5c], 0
jmp 0x488cd0
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 3
jge 0x488d11
cmp dword [ebp - 0x1c], 0
jge 0x488ce7
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 0x488cfd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x488cc1
mov dword [ebp - 0xc5c], 0
jmp 0x488d2c
mov eax, dword [ebp - 0xc5c]
add eax, 1
mov dword [ebp - 0xc5c], eax
cmp dword [ebp - 0xc5c], 2
jge 0x488d79
cmp dword [ebp - 0x1c], 0
jge 0x488d43
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 0x488d59
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc60], 0xfa
lea edx, [ebp - 0xc60]
push edx
lea eax, [ebp - 0xe58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x488d1d
mov dword [ebp - 0xe5c], 0
jmp 0x488d94
mov ecx, dword [ebp - 0xe5c]
add ecx, 1
mov dword [ebp - 0xe5c], ecx
cmp dword [ebp - 0xe5c], 6
jge 0x488de1
cmp dword [ebp - 0x1c], 0
jge 0x488dab
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 0x488dc1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe60], 0xfa
lea edx, [ebp - 0xe60]
push edx
lea eax, [ebp - 0x1058]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x488d85
mov dword [ebp - 0x105c], 0
jmp 0x488dfc
mov ecx, dword [ebp - 0x105c]
add ecx, 1
mov dword [ebp - 0x105c], ecx
cmp dword [ebp - 0x105c], 6
jge 0x488e49
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488e2b
mov eax, dword [ebp - 0x105c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488e3b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x488e47
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], eax
jmp 0x488ded
mov dword [ebp - 0x1060], 0
jmp 0x488e64
mov ecx, dword [ebp - 0x1060]
add ecx, 1
mov dword [ebp - 0x1060], ecx
cmp dword [ebp - 0x1060], 1
jge 0x488eb1
mov eax, dword [ebp - 0x1060]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x488e93
mov eax, dword [ebp - 0x1060]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x488ea3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], edx
jmp 0x488eaf
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], eax
jmp 0x488e55
mov dword [ebp - 0x1064], 0
jmp 0x488ecc
mov ecx, dword [ebp - 0x1064]
add ecx, 1
mov dword [ebp - 0x1064], ecx
cmp dword [ebp - 0x1064], 3
jge 0x488f0d
cmp dword [ebp - 0x1c], 0
jge 0x488ee3
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 0x488ef9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1260]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x488ebd
mov dword [ebp - 0x1264], 0
jmp 0x488f28
mov eax, dword [ebp - 0x1264]
add eax, 1
mov dword [ebp - 0x1264], eax
cmp dword [ebp - 0x1264], 1
jge 0x488f3f
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], ecx
jmp 0x488f19
cmp dword [ebp - 0x1c], 0
jge 0x488f4d
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 0x488f65
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1268], 0
jmp 0x488f80
mov edx, dword [ebp - 0x1268]
add edx, 1
mov dword [ebp - 0x1268], edx
cmp dword [ebp - 0x1268], 8
jge 0x488fc1
cmp dword [ebp - 0x1c], 0
jge 0x488f97
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 0x488fad
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1460]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x488f71
mov dword [ebp - 0x1464], 0
jmp 0x488fdc
mov eax, dword [ebp - 0x1464]
add eax, 1
mov dword [ebp - 0x1464], eax
cmp dword [ebp - 0x1464], 3
jge 0x488ff3
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1464]
mov dword [ebp - 0x1c], ecx
jmp 0x488fcd
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x489005
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 0x48901d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1468], 0
jmp 0x489038
mov edx, dword [ebp - 0x1468]
add edx, 1
mov dword [ebp - 0x1468], edx
cmp dword [ebp - 0x1468], 7
jge 0x48904f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1468]
mov dword [ebp - 0x1c], eax
jmp 0x489029
cmp dword [ebp - 0x1c], 0
jge 0x48905d
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 0x489075
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4890af
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x146c], eax
mov eax, dword [ebp - 0x146c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4890a1
jmp 0x4890af
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x146c]
mov dword [ebp - 0x1c], edx
jmp 0x489075
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1470], 0
jmp 0x4890d3
mov ecx, dword [ebp - 0x1470]
add ecx, 1
mov dword [ebp - 0x1470], ecx
cmp dword [ebp - 0x1470], 8
jge 0x489120
mov eax, dword [ebp - 0x1470]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489102
mov eax, dword [ebp - 0x1470]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489112
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1470]
mov dword [ebp - 0x1c], edx
jmp 0x48911e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1470]
mov dword [ebp - 0x1c], eax
jmp 0x4890c4
mov dword [ebp - 0x1474], 0
jmp 0x48913b
mov ecx, dword [ebp - 0x1474]
add ecx, 1
mov dword [ebp - 0x1474], ecx
cmp dword [ebp - 0x1474], 4
jge 0x489152
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1474]
mov dword [ebp - 0x1c], edx
jmp 0x48912c
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x489164
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 0x48917c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x1478], 0xffffffff
mov dword [ebp - 0x147c], 0
jmp 0x4891a8
mov edx, dword [ebp - 0x147c]
add edx, 1
mov dword [ebp - 0x147c], edx
cmp dword [ebp - 0x147c], 2
jge 0x4891da
mov eax, dword [ebp - 0x147c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4891cf
mov edx, dword [ebp - 0x1478]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x489199
mov dword [ebp - 4], 0xfffffffe
jmp 0x4891fa
mov dword [ebp - 4], 2
mov dword [ebp - 0x1480], 0xffffffff
mov dword [ebp - 0x1484], 0
jmp 0x489226
mov edx, dword [ebp - 0x1484]
add edx, 1
mov dword [ebp - 0x1484], edx
cmp dword [ebp - 0x1484], 2
jge 0x489258
mov eax, dword [ebp - 0x1484]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48924d
mov edx, dword [ebp - 0x1480]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x489217
mov dword [ebp - 4], 0xfffffffe
jmp 0x489278
mov dword [ebp - 0x1488], 0
jmp 0x489293
mov edx, dword [ebp - 0x1488]
add edx, 1
mov dword [ebp - 0x1488], edx
cmp dword [ebp - 0x1488], 3
jge 0x4892aa
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1488]
mov dword [ebp - 0x1c], eax
jmp 0x489284
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4892bc
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 0x4892d4
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x48930e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x148c], eax
mov eax, dword [ebp - 0x148c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x489300
jmp 0x48930e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x148c]
mov dword [ebp - 0x1c], edx
jmp 0x4892d4
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1490], 0
jmp 0x489332
mov ecx, dword [ebp - 0x1490]
add ecx, 1
mov dword [ebp - 0x1490], ecx
cmp dword [ebp - 0x1490], 4
jge 0x48937f
mov eax, dword [ebp - 0x1490]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489361
mov eax, dword [ebp - 0x1490]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489371
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], edx
jmp 0x48937d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1490]
mov dword [ebp - 0x1c], eax
jmp 0x489323
mov dword [ebp - 4], 3
mov dword [ebp - 0x1494], 0xffffffff
mov dword [ebp - 0x1498], 0
jmp 0x4893ab
mov ecx, dword [ebp - 0x1498]
add ecx, 1
mov dword [ebp - 0x1498], ecx
cmp dword [ebp - 0x1498], 1
jge 0x4893dd
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4893d2
mov edx, dword [ebp - 0x1494]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48939c
mov dword [ebp - 4], 0xfffffffe
jmp 0x4893fd
mov dword [ebp - 0x149c], 0
jmp 0x489418
mov edx, dword [ebp - 0x149c]
add edx, 1
mov dword [ebp - 0x149c], edx
cmp dword [ebp - 0x149c], 4
jge 0x489465
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489447
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489457
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x489463
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], eax
jmp 0x489409
mov dword [ebp - 0x14a0], 0
jmp 0x489480
mov ecx, dword [ebp - 0x14a0]
add ecx, 1
mov dword [ebp - 0x14a0], ecx
cmp dword [ebp - 0x14a0], 2
jge 0x4894cd
mov eax, dword [ebp - 0x14a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4894af
mov eax, dword [ebp - 0x14a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4894bf
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14a0]
mov dword [ebp - 0x1c], edx
jmp 0x4894cb
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14a0]
mov dword [ebp - 0x1c], eax
jmp 0x489471
mov dword [ebp - 0x14a4], 0
jmp 0x4894e8
mov ecx, dword [ebp - 0x14a4]
add ecx, 1
mov dword [ebp - 0x14a4], ecx
cmp dword [ebp - 0x14a4], 0
jge 0x4894ff
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14a4]
mov dword [ebp - 0x1c], edx
jmp 0x4894d9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x489511
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 0x489529
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a8], 0
jmp 0x489544
mov edx, dword [ebp - 0x14a8]
add edx, 1
mov dword [ebp - 0x14a8], edx
cmp dword [ebp - 0x14a8], 3
jge 0x489591
mov eax, dword [ebp - 0x14a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x489573
mov eax, dword [ebp - 0x14a8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x489583
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14a8]
mov dword [ebp - 0x1c], edx
jmp 0x48958f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x14a8]
mov dword [ebp - 0x1c], eax
jmp 0x489535
mov dword [ebp - 4], 4
mov dword [ebp - 0x14ac], 0xffffffff
mov dword [ebp - 0x14b0], 0
jmp 0x4895bd
mov ecx, dword [ebp - 0x14b0]
add ecx, 1
mov dword [ebp - 0x14b0], ecx
cmp dword [ebp - 0x14b0], 2
jge 0x4895ef
mov eax, dword [ebp - 0x14b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4895e4
mov edx, dword [ebp - 0x14ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4895ae
mov dword [ebp - 4], 0xfffffffe
jmp 0x48960f
mov dword [ebp - 4], 5
mov dword [ebp - 0x14b4], 0xffffffff
mov dword [ebp - 0x14b8], 0
jmp 0x48963b
mov edx, dword [ebp - 0x14b8]
add edx, 1
mov dword [ebp - 0x14b8], edx
cmp dword [ebp - 0x14b8], 0
jge 0x48966d
mov eax, dword [ebp - 0x14b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x489662
mov edx, dword [ebp - 0x14b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48962c
mov dword [ebp - 4], 0xfffffffe
jmp 0x48968d
mov dword [ebp - 0x14bc], 0
jmp 0x4896a8
mov edx, dword [ebp - 0x14bc]
add edx, 1
mov dword [ebp - 0x14bc], edx
cmp dword [ebp - 0x14bc], 0
jge 0x4896f5
cmp dword [ebp - 0x1c], 0
jge 0x4896bf
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 0x4896d5
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14c0], 0xfa
lea edx, [ebp - 0x14c0]
push edx
lea eax, [ebp - 0x16b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x489699
mov dword [ebp - 0x16bc], 0
jmp 0x489710
mov ecx, dword [ebp - 0x16bc]
add ecx, 1
mov dword [ebp - 0x16bc], ecx
cmp dword [ebp - 0x16bc], 1
jge 0x48975d
cmp dword [ebp - 0x1c], 0
jge 0x489727
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 0x48973d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16c0], 0xfa
lea edx, [ebp - 0x16c0]
push edx
lea eax, [ebp - 0x18b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x489701
mov ecx, 1
test ecx, ecx
je 0x489797
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x18bc], eax
mov eax, dword [ebp - 0x18bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x489789
jmp 0x489797
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18bc]
mov dword [ebp - 0x1c], edx
jmp 0x48975d
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18c0], 0
jmp 0x4897bb
mov ecx, dword [ebp - 0x18c0]
add ecx, 1
mov dword [ebp - 0x18c0], ecx
cmp dword [ebp - 0x18c0], 2
jge 0x4897d2
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x18c0]
mov dword [ebp - 0x1c], edx
jmp 0x4897ac
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4897e4
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 0x4897fc
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18c4], 0
jmp 0x489817
mov edx, dword [ebp - 0x18c4]
add edx, 1
mov dword [ebp - 0x18c4], edx
cmp dword [ebp - 0x18c4], 0
jge 0x489864
cmp dword [ebp - 0x1c], 0
jge 0x48982e
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 0x489844
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18c8], 0xfa
lea edx, [ebp - 0x18c8]
push edx
lea eax, [ebp - 0x1ac0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x489808
mov ecx, 1
test ecx, ecx
je 0x48989e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1ac4], eax
mov eax, dword [ebp - 0x1ac4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x489890
jmp 0x48989e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1ac4]
mov dword [ebp - 0x1c], edx
jmp 0x489864
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x1ac8], 0xffffffff
mov dword [ebp - 0x1acc], 0
jmp 0x4898d0
mov ecx, dword [ebp - 0x1acc]
add ecx, 1
mov dword [ebp - 0x1acc], ecx
cmp dword [ebp - 0x1acc], 4
jge 0x489902
mov eax, dword [ebp - 0x1acc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4898f7
mov edx, dword [ebp - 0x1ac8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4898c1
mov dword [ebp - 4], 0xfffffffe
jmp 0x489922
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 - 0x28]
xor ecx, ebp
call fcn.004079a5
mov esp, ebp
pop ebp
ret