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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5117f0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x3130
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x64], 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 0x464a19
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x464a2a
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
jmp 0x464a10
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x464a3c
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 0x464a54
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
jmp 0x464a66
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x38
jge 0x464a77
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x464a5d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x464a89
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 0x464aa1
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x464ad2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x464ac7
jmp 0x464ad2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], edx
jmp 0x464aa1
mov eax, dword [ebp - 0x1c]
add eax, 0x20
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0
jmp 0x464aed
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x12
jge 0x464b2b
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464b13
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464b20
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], edx
jmp 0x464b29
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x464ae4
mov dword [ebp - 0x30], 0
jmp 0x464b3d
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0xd
jge 0x464b7b
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464b63
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464b70
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], edx
jmp 0x464b79
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
jmp 0x464b34
mov dword [ebp - 4], 0
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x38], 0
jmp 0x464b9b
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x38], 0xe
jge 0x464bc4
mov eax, dword [ebp - 0x38]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x464bb9
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 0x464b92
mov dword [ebp - 4], 0xfffffffe
jmp 0x464be4
mov dword [ebp - 0x3c], 0
jmp 0x464bf6
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 5
jge 0x464c07
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x464bed
cmp dword [ebp - 0x1c], 0
jge 0x464c15
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 0x464c2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x44], 0
jmp 0x464c4d
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 6
jge 0x464c76
mov eax, dword [ebp - 0x44]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x464c6b
mov edx, dword [ebp - 0x40]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x464c44
mov dword [ebp - 4], 0xfffffffe
jmp 0x464c96
mov dword [ebp - 0x48], 0
jmp 0x464ca8
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
jge 0x464ce6
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464cce
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464cdb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], edx
jmp 0x464ce4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x464c9f
mov dword [ebp - 0x4c], 0
jmp 0x464cf8
mov ecx, dword [ebp - 0x4c]
add ecx, 1
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 6
jge 0x464d36
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464d1e
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464d2b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], edx
jmp 0x464d34
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
jmp 0x464cef
mov dword [ebp - 4], 2
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x54], 0
jmp 0x464d56
mov ecx, dword [ebp - 0x54]
add ecx, 1
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 2
jge 0x464d7f
mov eax, dword [ebp - 0x54]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x464d74
mov edx, dword [ebp - 0x50]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x464d4d
mov dword [ebp - 4], 0xfffffffe
jmp 0x464d9f
mov dword [ebp - 0x58], 0
jmp 0x464db1
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
cmp dword [ebp - 0x58], 0xd
jge 0x464def
mov eax, dword [ebp - 0x58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464dd7
mov eax, dword [ebp - 0x58]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464de4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x58]
mov dword [ebp - 0x1c], edx
jmp 0x464ded
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c], eax
jmp 0x464da8
mov dword [ebp - 0x5c], 0
jmp 0x464e01
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x5c], 0xb
jge 0x464e45
cmp dword [ebp - 0x1c], 0
jge 0x464e15
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 0x464e2b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x60], 0xfa
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x464df8
mov dword [ebp - 0x264], 0
jmp 0x464e60
mov ecx, dword [ebp - 0x264]
add ecx, 1
mov dword [ebp - 0x264], ecx
cmp dword [ebp - 0x264], 2
jge 0x464ead
mov eax, dword [ebp - 0x264]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464e8f
mov eax, dword [ebp - 0x264]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464e9f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x264]
mov dword [ebp - 0x1c], edx
jmp 0x464eab
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x264]
mov dword [ebp - 0x1c], eax
jmp 0x464e51
mov dword [ebp - 0x268], 0
jmp 0x464ec8
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x268], ecx
cmp dword [ebp - 0x268], 6
jge 0x464edf
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x268]
mov dword [ebp - 0x1c], edx
jmp 0x464eb9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x464ef1
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 0x464f09
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x26c], 0
jmp 0x464f24
mov edx, dword [ebp - 0x26c]
add edx, 1
mov dword [ebp - 0x26c], edx
cmp dword [ebp - 0x26c], 6
jge 0x464f71
mov eax, dword [ebp - 0x26c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x464f53
mov eax, dword [ebp - 0x26c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x464f63
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x26c]
mov dword [ebp - 0x1c], edx
jmp 0x464f6f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x26c]
mov dword [ebp - 0x1c], eax
jmp 0x464f15
mov dword [ebp - 0x270], 0
jmp 0x464f8c
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x270], ecx
cmp dword [ebp - 0x270], 5
jge 0x464fa3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x270]
mov dword [ebp - 0x1c], edx
jmp 0x464f7d
cmp dword [ebp - 0x1c], 0
jge 0x464fb1
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 0x464fc9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x274], 0
jmp 0x464fe4
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 1
jge 0x464ffb
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x274]
mov dword [ebp - 0x1c], eax
jmp 0x464fd5
cmp dword [ebp - 0x1c], 0
jge 0x465009
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 0x465021
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x278], 0
jmp 0x46503c
mov edx, dword [ebp - 0x278]
add edx, 1
mov dword [ebp - 0x278], edx
cmp dword [ebp - 0x278], 2
jge 0x465053
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x278]
mov dword [ebp - 0x1c], eax
jmp 0x46502d
cmp dword [ebp - 0x1c], 0
jge 0x465061
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 0x465079
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x27c], 0
jmp 0x465094
mov edx, dword [ebp - 0x27c]
add edx, 1
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 6
jge 0x4650d5
cmp dword [ebp - 0x1c], 0
jge 0x4650ab
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 0x4650c1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x478]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x465085
mov dword [ebp - 0x47c], 0
jmp 0x4650f0
mov eax, dword [ebp - 0x47c]
add eax, 1
mov dword [ebp - 0x47c], eax
cmp dword [ebp - 0x47c], 3
jge 0x46513d
mov eax, dword [ebp - 0x47c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46511f
mov eax, dword [ebp - 0x47c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46512f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x47c]
mov dword [ebp - 0x1c], edx
jmp 0x46513b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x47c]
mov dword [ebp - 0x1c], eax
jmp 0x4650e1
mov dword [ebp - 0x480], 0
jmp 0x465158
mov ecx, dword [ebp - 0x480]
add ecx, 1
mov dword [ebp - 0x480], ecx
cmp dword [ebp - 0x480], 5
jge 0x465199
cmp dword [ebp - 0x1c], 0
jge 0x46516f
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 0x465185
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x678]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x465149
mov dword [ebp - 0x67c], 0
jmp 0x4651b4
mov eax, dword [ebp - 0x67c]
add eax, 1
mov dword [ebp - 0x67c], eax
cmp dword [ebp - 0x67c], 0
jge 0x465201
cmp dword [ebp - 0x1c], 0
jge 0x4651cb
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 0x4651e1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x680], 0xfa
lea edx, [ebp - 0x680]
push edx
lea eax, [ebp - 0x878]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4651a5
mov dword [ebp - 0x87c], 0
jmp 0x46521c
mov ecx, dword [ebp - 0x87c]
add ecx, 1
mov dword [ebp - 0x87c], ecx
cmp dword [ebp - 0x87c], 1
jge 0x465233
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x87c]
mov dword [ebp - 0x1c], edx
jmp 0x46520d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x465245
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 0x46525d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x465297
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x880], eax
mov eax, dword [ebp - 0x880]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x465289
jmp 0x465297
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x880]
mov dword [ebp - 0x1c], edx
jmp 0x46525d
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x884], 0
jmp 0x4652bb
mov ecx, dword [ebp - 0x884]
add ecx, 1
mov dword [ebp - 0x884], ecx
cmp dword [ebp - 0x884], 4
jge 0x4652fc
cmp dword [ebp - 0x1c], 0
jge 0x4652d2
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 0x4652e8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa80]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4652ac
mov dword [ebp - 0xa84], 0
jmp 0x465317
mov eax, dword [ebp - 0xa84]
add eax, 1
mov dword [ebp - 0xa84], eax
cmp dword [ebp - 0xa84], 2
jge 0x465364
cmp dword [ebp - 0x1c], 0
jge 0x46532e
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 0x465344
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa88], 0xfa
lea edx, [ebp - 0xa88]
push edx
lea eax, [ebp - 0xc80]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x465308
mov dword [ebp - 4], 3
mov dword [ebp - 0xc84], 0xffffffff
mov dword [ebp - 0xc88], 0
jmp 0x465390
mov ecx, dword [ebp - 0xc88]
add ecx, 1
mov dword [ebp - 0xc88], ecx
cmp dword [ebp - 0xc88], 2
jge 0x4653c2
mov eax, dword [ebp - 0xc88]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4653b7
mov edx, dword [ebp - 0xc84]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x465381
mov dword [ebp - 4], 0xfffffffe
jmp 0x4653e2
mov dword [ebp - 4], 4
mov dword [ebp - 0xc8c], 0xffffffff
mov dword [ebp - 0xc90], 0
jmp 0x46540e
mov edx, dword [ebp - 0xc90]
add edx, 1
mov dword [ebp - 0xc90], edx
cmp dword [ebp - 0xc90], 4
jge 0x465440
mov eax, dword [ebp - 0xc90]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x465435
mov edx, dword [ebp - 0xc8c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4653ff
mov dword [ebp - 4], 0xfffffffe
jmp 0x465460
mov dword [ebp - 0xc94], 0
jmp 0x46547b
mov edx, dword [ebp - 0xc94]
add edx, 1
mov dword [ebp - 0xc94], edx
cmp dword [ebp - 0xc94], 2
jge 0x465492
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0xc94]
mov dword [ebp - 0x1c], eax
jmp 0x46546c
cmp dword [ebp - 0x1c], 0
jge 0x4654a0
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 0x4654b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc98], 0
jmp 0x4654d3
mov edx, dword [ebp - 0xc98]
add edx, 1
mov dword [ebp - 0xc98], edx
cmp dword [ebp - 0xc98], 2
jge 0x465514
cmp dword [ebp - 0x1c], 0
jge 0x4654ea
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 0x465500
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xe90]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4654c4
mov dword [ebp - 4], 5
mov dword [ebp - 0xe94], 0xffffffff
mov dword [ebp - 0xe98], 0
jmp 0x465540
mov eax, dword [ebp - 0xe98]
add eax, 1
mov dword [ebp - 0xe98], eax
cmp dword [ebp - 0xe98], 4
jge 0x465572
mov eax, dword [ebp - 0xe98]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x465567
mov edx, dword [ebp - 0xe94]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x465531
mov dword [ebp - 4], 0xfffffffe
jmp 0x465592
mov dword [ebp - 0xe9c], 0
jmp 0x4655ad
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
cmp dword [ebp - 0xe9c], 4
jge 0x4655fa
cmp dword [ebp - 0x1c], 0
jge 0x4655c4
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 0x4655da
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xea0], 0xfa
lea edx, [ebp - 0xea0]
push edx
lea eax, [ebp - 0x1098]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46559e
mov dword [ebp - 0x109c], 0
jmp 0x465615
mov ecx, dword [ebp - 0x109c]
add ecx, 1
mov dword [ebp - 0x109c], ecx
cmp dword [ebp - 0x109c], 3
jge 0x46562c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x465606
cmp dword [ebp - 0x1c], 0
jge 0x46563a
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 0x465652
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x46566d
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 1
jge 0x465684
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], eax
jmp 0x46565e
cmp dword [ebp - 0x1c], 0
jge 0x465692
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 0x4656aa
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4656e4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10a4], eax
mov eax, dword [ebp - 0x10a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4656d6
jmp 0x4656e4
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], edx
jmp 0x4656aa
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a8], 0
jmp 0x465708
mov ecx, dword [ebp - 0x10a8]
add ecx, 1
mov dword [ebp - 0x10a8], ecx
cmp dword [ebp - 0x10a8], 1
jge 0x46571f
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x10a8]
mov dword [ebp - 0x1c], edx
jmp 0x4656f9
cmp dword [ebp - 0x1c], 0
jge 0x46572d
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 0x465745
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x10ac], 0xffffffff
mov dword [ebp - 0x10b0], 0
jmp 0x465771
mov edx, dword [ebp - 0x10b0]
add edx, 1
mov dword [ebp - 0x10b0], edx
cmp dword [ebp - 0x10b0], 3
jge 0x4657a3
mov eax, dword [ebp - 0x10b0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x465798
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 0x465762
mov dword [ebp - 4], 0xfffffffe
jmp 0x4657c3
mov dword [ebp - 0x10b4], 0
jmp 0x4657de
mov edx, dword [ebp - 0x10b4]
add edx, 1
mov dword [ebp - 0x10b4], edx
cmp dword [ebp - 0x10b4], 0
jge 0x46582b
cmp dword [ebp - 0x1c], 0
jge 0x4657f5
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 0x46580b
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x10b8], 0xfa
lea edx, [ebp - 0x10b8]
push edx
lea eax, [ebp - 0x12b0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4657cf
mov dword [ebp - 0x12b4], 0
jmp 0x465846
mov ecx, dword [ebp - 0x12b4]
add ecx, 1
mov dword [ebp - 0x12b4], ecx
cmp dword [ebp - 0x12b4], 2
jge 0x465893
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x465875
mov eax, dword [ebp - 0x12b4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x465885
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], edx
jmp 0x465891
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], eax
jmp 0x465837
mov dword [ebp - 0x12b8], 0
jmp 0x4658ae
mov ecx, dword [ebp - 0x12b8]
add ecx, 1
mov dword [ebp - 0x12b8], ecx
cmp dword [ebp - 0x12b8], 4
jge 0x4658ef
cmp dword [ebp - 0x1c], 0
jge 0x4658c5
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 0x4658db
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x14b0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46589f
mov dword [ebp - 0x14b4], 0
jmp 0x46590a
mov eax, dword [ebp - 0x14b4]
add eax, 1
mov dword [ebp - 0x14b4], eax
cmp dword [ebp - 0x14b4], 1
jge 0x465921
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x14b4]
mov dword [ebp - 0x1c], ecx
jmp 0x4658fb
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x465933
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 0x46594b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x465985
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14b8], eax
mov eax, dword [ebp - 0x14b8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x465977
jmp 0x465985
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14b8]
mov dword [ebp - 0x1c], edx
jmp 0x46594b
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14bc], 0
jmp 0x4659a9
mov ecx, dword [ebp - 0x14bc]
add ecx, 1
mov dword [ebp - 0x14bc], ecx
cmp dword [ebp - 0x14bc], 4
jge 0x4659c0
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x14bc]
mov dword [ebp - 0x1c], edx
jmp 0x46599a
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4659d2
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 0x4659ea
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c0], 0
jmp 0x465a05
mov edx, dword [ebp - 0x14c0]
add edx, 1
mov dword [ebp - 0x14c0], edx
cmp dword [ebp - 0x14c0], 2
jge 0x465a52
cmp dword [ebp - 0x1c], 0
jge 0x465a1c
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 0x465a32
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14c4], 0xfa
lea edx, [ebp - 0x14c4]
push edx
lea eax, [ebp - 0x16c0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4659f6
mov dword [ebp - 0x16c4], 0
jmp 0x465a6d
mov ecx, dword [ebp - 0x16c4]
add ecx, 1
mov dword [ebp - 0x16c4], ecx
cmp dword [ebp - 0x16c4], 2
jge 0x465aae
cmp dword [ebp - 0x1c], 0
jge 0x465a84
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 0x465a9a
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x465a5e
mov dword [ebp - 0x18c4], 0
jmp 0x465ac9
mov eax, dword [ebp - 0x18c4]
add eax, 1
mov dword [ebp - 0x18c4], eax
cmp dword [ebp - 0x18c4], 1
jge 0x465b0a
cmp dword [ebp - 0x1c], 0
jge 0x465ae0
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 0x465af6
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ac0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x465aba
mov dword [ebp - 4], 7
mov dword [ebp - 0x1ac4], 0xffffffff
mov dword [ebp - 0x1ac8], 0
jmp 0x465b36
cmp dword [ebp - 0x1ac8], 2
jge 0x465b68
mov eax, dword [ebp - 0x1ac8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x465b5d
mov edx, dword [ebp - 0x1ac4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x465b27
mov dword [ebp - 4], 0xfffffffe
jmp 0x465b88
mov dword [ebp - 4], 8
mov dword [ebp - 0x1acc], 0xffffffff
mov dword [ebp - 0x1ad0], 0
jmp 0x465bb4