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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5122a8
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x2b30
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 eax, 1
test eax, eax
je 0x485858
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 0x48584d
jmp 0x485858
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x485827
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x485873
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0
jge 0x485884
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x48586a
cmp dword [ebp - 0x1c], 0
jge 0x485892
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 0x4858aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], 0
jmp 0x4858bc
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0xc
jge 0x4858fa
cmp dword [ebp - 0x1c], 0
jge 0x4858d0
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 0x4858e6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4858b3
mov dword [ebp - 0x22c], 0
jmp 0x485915
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x1a
jge 0x48592c
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], ecx
jmp 0x485906
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x48593e
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 0x485956
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x485971
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 0x14
jge 0x4859be
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4859a0
mov eax, dword [ebp - 0x230]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4859b0
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x4859bc
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x485962
mov ecx, 1
test ecx, ecx
je 0x4859f8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4859ea
jmp 0x4859f8
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x4859be
mov eax, dword [ebp - 0x1c]
add eax, 0xb
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x485a3b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x485a2d
jmp 0x485a3b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x485a01
mov eax, dword [ebp - 0x1c]
add eax, 0x12
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x23c], 0xffffffff
mov dword [ebp - 0x240], 0
jmp 0x485a70
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0x1f
jge 0x485aa2
mov eax, dword [ebp - 0x240]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x485a97
mov edx, dword [ebp - 0x23c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x485a61
mov dword [ebp - 4], 0xfffffffe
jmp 0x485ac2
mov dword [ebp - 0x244], 0
jmp 0x485add
mov edx, dword [ebp - 0x244]
add edx, 1
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0x14
jge 0x485b1e
cmp dword [ebp - 0x1c], 0
jge 0x485af4
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 0x485b0a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x485ace
mov dword [ebp - 0x444], 0
jmp 0x485b39
mov eax, dword [ebp - 0x444]
add eax, 1
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 0x14
jge 0x485b50
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], ecx
jmp 0x485b2a
cmp dword [ebp - 0x1c], 0
jge 0x485b5e
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 0x485b76
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x485b91
mov edx, dword [ebp - 0x448]
add edx, 1
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 8
jge 0x485bde
cmp dword [ebp - 0x1c], 0
jge 0x485ba8
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 0x485bbe
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44c], 0xfa
lea edx, [ebp - 0x44c]
push edx
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x485b82
mov dword [ebp - 4], 1
mov dword [ebp - 0x64c], 0xffffffff
mov dword [ebp - 0x650], 0
jmp 0x485c0a
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
cmp dword [ebp - 0x650], 2
jge 0x485c3c
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x485c31
mov edx, dword [ebp - 0x64c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x485bfb
mov dword [ebp - 4], 0xfffffffe
jmp 0x485c5c
mov dword [ebp - 0x654], 0
jmp 0x485c77
mov edx, dword [ebp - 0x654]
add edx, 1
mov dword [ebp - 0x654], edx
cmp dword [ebp - 0x654], 5
jge 0x485cc4
cmp dword [ebp - 0x1c], 0
jge 0x485c8e
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 0x485ca4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x658], 0xfa
lea edx, [ebp - 0x658]
push edx
lea eax, [ebp - 0x850]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x485c68
mov dword [ebp - 0x854], 0
jmp 0x485cdf
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 0
jge 0x485cf6
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x854]
mov dword [ebp - 0x1c], edx
jmp 0x485cd0
cmp dword [ebp - 0x1c], 0
jge 0x485d04
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 0x485d1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x858], 0
jmp 0x485d37
mov edx, dword [ebp - 0x858]
add edx, 1
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 1
jge 0x485d78
cmp dword [ebp - 0x1c], 0
jge 0x485d4e
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 0x485d64
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa50]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x485d28
mov eax, 1
test eax, eax
je 0x485db2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa54], eax
mov eax, dword [ebp - 0xa54]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x485da4
jmp 0x485db2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa54]
mov dword [ebp - 0x1c], edx
jmp 0x485d78
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa58], 0
jmp 0x485dd6
mov ecx, dword [ebp - 0xa58]
add ecx, 1
mov dword [ebp - 0xa58], ecx
cmp dword [ebp - 0xa58], 7
jge 0x485ded
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1c], edx
jmp 0x485dc7
cmp dword [ebp - 0x1c], 0
jge 0x485dfb
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 0x485e13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa5c], 0
jmp 0x485e2e
mov edx, dword [ebp - 0xa5c]
add edx, 1
mov dword [ebp - 0xa5c], edx
cmp dword [ebp - 0xa5c], 5
jge 0x485e45
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], eax
jmp 0x485e1f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x485e57
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 0x485e6f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x485ea9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa60]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x485e9b
jmp 0x485ea9
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa60]
mov dword [ebp - 0x1c], edx
jmp 0x485e6f
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa64], 0
jmp 0x485eca
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
cmp dword [ebp - 0xa64], 2
jge 0x485f17
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x485ef9
mov eax, dword [ebp - 0xa64]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x485f09
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], edx
jmp 0x485f15
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xa64]
mov dword [ebp - 0x1c], eax
jmp 0x485ebb
mov ecx, 1
test ecx, ecx
je 0x485f51
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa68]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x485f43
jmp 0x485f51
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xa68]
mov dword [ebp - 0x1c], edx
jmp 0x485f17
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa6c], 0
jmp 0x485f75
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 6
jge 0x485fc2
cmp dword [ebp - 0x1c], 0
jge 0x485f8c
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 0x485fa2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa70], 0xfa
lea edx, [ebp - 0xa70]
push edx
lea eax, [ebp - 0xc68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x485f66
mov ecx, 1
test ecx, ecx
je 0x485ffc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc6c], eax
mov eax, dword [ebp - 0xc6c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x485fee
jmp 0x485ffc
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc6c]
mov dword [ebp - 0x1c], edx
jmp 0x485fc2
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0xc70], 0xffffffff
mov dword [ebp - 0xc74], 0
jmp 0x486031
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 1
jge 0x486063
mov eax, dword [ebp - 0xc74]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x486058
mov edx, dword [ebp - 0xc70]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x486022
mov dword [ebp - 4], 0xfffffffe
jmp 0x486083
mov dword [ebp - 0xc78], 0
jmp 0x48609e
mov edx, dword [ebp - 0xc78]
add edx, 1
mov dword [ebp - 0xc78], edx
cmp dword [ebp - 0xc78], 1
jge 0x4860df
cmp dword [ebp - 0x1c], 0
jge 0x4860b5
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 0x4860cb
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48608f
mov dword [ebp - 0xe74], 0
jmp 0x4860fa
mov eax, dword [ebp - 0xe74]
add eax, 1
mov dword [ebp - 0xe74], eax
cmp dword [ebp - 0xe74], 1
jge 0x486111
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0xe74]
mov dword [ebp - 0x1c], ecx
jmp 0x4860eb
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x486123
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 0x48613b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe78], 0
jmp 0x486156
mov edx, dword [ebp - 0xe78]
add edx, 1
mov dword [ebp - 0xe78], edx
cmp dword [ebp - 0xe78], 7
jge 0x48616d
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe78]
mov dword [ebp - 0x1c], eax
jmp 0x486147
cmp dword [ebp - 0x1c], 0
jge 0x48617b
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 0x486193
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe7c], 0
jmp 0x4861ae
mov edx, dword [ebp - 0xe7c]
add edx, 1
mov dword [ebp - 0xe7c], edx
cmp dword [ebp - 0xe7c], 6
jge 0x4861fb
mov eax, dword [ebp - 0xe7c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4861dd
mov eax, dword [ebp - 0xe7c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4861ed
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], edx
jmp 0x4861f9
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe7c]
mov dword [ebp - 0x1c], eax
jmp 0x48619f
mov ecx, 1
test ecx, ecx
je 0x486235
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe80], eax
mov eax, dword [ebp - 0xe80]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x486227
jmp 0x486235
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe80]
mov dword [ebp - 0x1c], edx
jmp 0x4861fb
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe84], 0
jmp 0x486259
mov ecx, dword [ebp - 0xe84]
add ecx, 1
mov dword [ebp - 0xe84], ecx
cmp dword [ebp - 0xe84], 5
jge 0x4862a6
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x486288
mov eax, dword [ebp - 0xe84]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x486298
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], edx
jmp 0x4862a4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xe84]
mov dword [ebp - 0x1c], eax
jmp 0x48624a
mov dword [ebp - 4], 3
mov dword [ebp - 0xe88], 0xffffffff
mov dword [ebp - 0xe8c], 0
jmp 0x4862d2
mov ecx, dword [ebp - 0xe8c]
add ecx, 1
mov dword [ebp - 0xe8c], ecx
cmp dword [ebp - 0xe8c], 1
jge 0x486304
mov eax, dword [ebp - 0xe8c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4862f9
mov edx, dword [ebp - 0xe88]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4862c3
mov dword [ebp - 4], 0xfffffffe
jmp 0x486324
mov edx, 1
test edx, edx
je 0x48635e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xe90], eax
mov eax, dword [ebp - 0xe90]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x486350
jmp 0x48635e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xe90]
mov dword [ebp - 0x1c], edx
jmp 0x486324
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe94], 0
jmp 0x486382
mov ecx, dword [ebp - 0xe94]
add ecx, 1
mov dword [ebp - 0xe94], ecx
cmp dword [ebp - 0xe94], 4
jge 0x486399
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xe94]
mov dword [ebp - 0x1c], edx
jmp 0x486373
cmp dword [ebp - 0x1c], 0
jge 0x4863a7
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 0x4863bf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe98], 0
jmp 0x4863da
mov edx, dword [ebp - 0xe98]
add edx, 1
mov dword [ebp - 0xe98], edx
cmp dword [ebp - 0xe98], 0
jge 0x4863f1
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe98]
mov dword [ebp - 0x1c], eax
jmp 0x4863cb
cmp dword [ebp - 0x1c], 0
jge 0x4863ff
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 0x486417
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe9c], 0
jmp 0x486432
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
cmp dword [ebp - 0xe9c], 4
jge 0x486449
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xe9c]
mov dword [ebp - 0x1c], eax
jmp 0x486423
cmp dword [ebp - 0x1c], 0
jge 0x486457
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 0x48646f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xea0], 0
jmp 0x48648a
mov edx, dword [ebp - 0xea0]
add edx, 1
mov dword [ebp - 0xea0], edx
cmp dword [ebp - 0xea0], 3
jge 0x4864cb
cmp dword [ebp - 0x1c], 0
jge 0x4864a1
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 0x4864b7
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1098]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x48647b
mov dword [ebp - 0x109c], 0
jmp 0x4864e6
mov eax, dword [ebp - 0x109c]
add eax, 1
mov dword [ebp - 0x109c], eax
cmp dword [ebp - 0x109c], 3
jge 0x486533
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x486515
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x486525
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x486531
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], eax
jmp 0x4864d7
mov dword [ebp - 0x10a0], 0
jmp 0x48654e
mov ecx, dword [ebp - 0x10a0]
add ecx, 1
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x10a0], 5
jge 0x486565
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], edx
jmp 0x48653f
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x486577
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 0x48658f
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x10a4], 0xffffffff
mov dword [ebp - 0x10a8], 0
jmp 0x4865bb
mov edx, dword [ebp - 0x10a8]
add edx, 1
mov dword [ebp - 0x10a8], edx
cmp dword [ebp - 0x10a8], 6
jge 0x4865ed
mov eax, dword [ebp - 0x10a8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4865e2
mov edx, dword [ebp - 0x10a4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4865ac
mov dword [ebp - 4], 0xfffffffe
jmp 0x48660d
mov dword [ebp - 4], 5
mov dword [ebp - 0x10ac], 0xffffffff
mov dword [ebp - 0x10b0], 0
jmp 0x486639
mov edx, dword [ebp - 0x10b0]
add edx, 1
mov dword [ebp - 0x10b0], edx
cmp dword [ebp - 0x10b0], 6
jge 0x48666b
mov eax, dword [ebp - 0x10b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x486660
mov edx, dword [ebp - 0x10ac]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48662a
mov dword [ebp - 4], 0xfffffffe
jmp 0x48668b
mov dword [ebp - 4], 6
mov dword [ebp - 0x10b4], 0xffffffff
mov dword [ebp - 0x10b8], 0
jmp 0x4866b7
mov edx, dword [ebp - 0x10b8]
add edx, 1
mov dword [ebp - 0x10b8], edx
cmp dword [ebp - 0x10b8], 8
jge 0x4866e9
mov eax, dword [ebp - 0x10b8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4866de
mov edx, dword [ebp - 0x10b4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4866a8
mov dword [ebp - 4], 0xfffffffe
jmp 0x486709
mov dword [ebp - 0x10bc], 0
jmp 0x486724
mov edx, dword [ebp - 0x10bc]
add edx, 1
mov dword [ebp - 0x10bc], edx
cmp dword [ebp - 0x10bc], 3
jge 0x486771
cmp dword [ebp - 0x1c], 0
jge 0x48673b
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 0x486751
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10c0], 0xfa
lea edx, [ebp - 0x10c0]
push edx
lea eax, [ebp - 0x12b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x486715
mov ecx, 1
test ecx, ecx
je 0x4867ab
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12bc], eax
mov eax, dword [ebp - 0x12bc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x48679d
jmp 0x4867ab
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12bc]
mov dword [ebp - 0x1c], edx
jmp 0x486771
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c0], 0
jmp 0x4867cf
mov ecx, dword [ebp - 0x12c0]
add ecx, 1
mov dword [ebp - 0x12c0], ecx
cmp dword [ebp - 0x12c0], 4
jge 0x48681c
cmp dword [ebp - 0x1c], 0
jge 0x4867e6
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 0x4867fc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12c4], 0xfa
lea edx, [ebp - 0x12c4]
push edx
lea eax, [ebp - 0x14c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4867c0
mov dword [ebp - 4], 7
mov dword [ebp - 0x14c4], 0xffffffff
mov dword [ebp - 0x14c8], 0
jmp 0x486848
mov ecx, dword [ebp - 0x14c8]
add ecx, 1
mov dword [ebp - 0x14c8], ecx
cmp dword [ebp - 0x14c8], 3
jge 0x48687a
mov eax, dword [ebp - 0x14c8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x48686f
mov edx, dword [ebp - 0x14c4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x486839
mov dword [ebp - 4], 0xfffffffe
jmp 0x48689a
mov dword [ebp - 0x14cc], 0
jmp 0x4868b5
mov edx, dword [ebp - 0x14cc]
add edx, 1
mov dword [ebp - 0x14cc], edx
cmp dword [ebp - 0x14cc], 2
jge 0x486902
cmp dword [ebp - 0x1c], 0
jge 0x4868cc
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 0x4868e2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14d0], 0xfa
lea edx, [ebp - 0x14d0]
push edx
lea eax, [ebp - 0x16c8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4868a6
mov dword [ebp - 4], 8
mov dword [ebp - 0x16cc], 0xffffffff
mov dword [ebp - 0x16d0], 0
jmp 0x48692e
mov ecx, dword [ebp - 0x16d0]
add ecx, 1
mov dword [ebp - 0x16d0], ecx
cmp dword [ebp - 0x16d0], 0
jge 0x486960
mov eax, dword [ebp - 0x16d0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x486955
mov edx, dword [ebp - 0x16cc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x48691f
mov dword [ebp - 4], 0xfffffffe
jmp 0x486980
mov edx, 1
test edx, edx
je 0x4869ba
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16d4], eax
mov eax, dword [ebp - 0x16d4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4869ac
jmp 0x4869ba
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16d4]
mov dword [ebp - 0x1c], edx
jmp 0x486980
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16d8], 0
jmp 0x4869de
mov ecx, dword [ebp - 0x16d8]
add ecx, 1
mov dword [ebp - 0x16d8], ecx
cmp dword [ebp - 0x16d8], 2
jge 0x486a2b
mov eax, dword [ebp - 0x16d8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x486a0d
mov eax, dword [ebp - 0x16d8]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x486a1d
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16d8]
mov dword [ebp - 0x1c], edx
jmp 0x486a29
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16d8]
mov dword [ebp - 0x1c], eax
jmp 0x4869cf
mov ecx, 1
test ecx, ecx
je 0x486a65
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16dc], eax
mov eax, dword [ebp - 0x16dc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x486a57
jmp 0x486a65
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16dc]
mov dword [ebp - 0x1c], edx
jmp 0x486a2b
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16e0], 0
jmp 0x486a89
mov ecx, dword [ebp - 0x16e0]
add ecx, 1
mov dword [ebp - 0x16e0], ecx
cmp dword [ebp - 0x16e0], 3
jge 0x486aa0
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16e0]
mov dword [ebp - 0x1c], edx
jmp 0x486a7a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x486ab2
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 0x486aca
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16e4], 0
jmp 0x486ae5
mov edx, dword [ebp - 0x16e4]
add edx, 1
mov dword [ebp - 0x16e4], edx
cmp dword [ebp - 0x16e4], 4
jge 0x486afc
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x16e4]
mov dword [ebp - 0x1c], eax
jmp 0x486ad6
cmp dword [ebp - 0x1c], 0
jge 0x486b0a
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 0x486b22