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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511ad0
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1f0c
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 dword [ebp - 4], 0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0
jmp 0x46cd07
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0xd
jge 0x46cd30
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46cd25
mov edx, dword [ebp - 0x20]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46ccfe
mov dword [ebp - 4], 0xfffffffe
jmp 0x46cd50
mov dword [ebp - 0x28], 0
jmp 0x46cd62
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x28], 0xc
jge 0x46cda0
cmp dword [ebp - 0x1c], 0
jge 0x46cd76
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 0x46cd8c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46cd59
mov eax, 1
test eax, eax
je 0x46cdda
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46cdcc
jmp 0x46cdda
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x46cda0
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x46ce1d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46ce0f
jmp 0x46ce1d
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x46cde3
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x46ce60
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 0x46ce52
jmp 0x46ce60
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x46ce26
mov eax, dword [ebp - 0x1c]
add eax, 0x1a
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x46ce84
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 9
jge 0x46ce9b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x46ce75
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46cead
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 0x46cec5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x23c], 0
jmp 0x46cee0
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0x16
jge 0x46cef7
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1c], eax
jmp 0x46ced1
cmp dword [ebp - 0x1c], 0
jge 0x46cf05
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 0x46cf1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x240], 0
jmp 0x46cf38
mov edx, dword [ebp - 0x240]
add edx, 1
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 0x13
jge 0x46cf85
mov eax, dword [ebp - 0x240]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46cf67
mov eax, dword [ebp - 0x240]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46cf77
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x240]
mov dword [ebp - 0x1c], edx
jmp 0x46cf83
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x240]
mov dword [ebp - 0x1c], eax
jmp 0x46cf29
mov dword [ebp - 0x244], 0
jmp 0x46cfa0
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0xa
jge 0x46cfe1
cmp dword [ebp - 0x1c], 0
jge 0x46cfb7
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 0x46cfcd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46cf91
mov eax, 1
test eax, eax
je 0x46d01b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46d00d
jmp 0x46d01b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x46cfe1
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x46d03c
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 4
jge 0x46d089
cmp dword [ebp - 0x1c], 0
jge 0x46d053
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 0x46d069
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 0x46d02d
mov dword [ebp - 4], 1
mov dword [ebp - 0x64c], 0xffffffff
mov dword [ebp - 0x650], 0
jmp 0x46d0b5
mov ecx, dword [ebp - 0x650]
add ecx, 1
mov dword [ebp - 0x650], ecx
cmp dword [ebp - 0x650], 1
jge 0x46d0e7
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46d0dc
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 0x46d0a6
mov dword [ebp - 4], 0xfffffffe
jmp 0x46d107
mov dword [ebp - 0x654], 0
jmp 0x46d122
mov edx, dword [ebp - 0x654]
add edx, 1
mov dword [ebp - 0x654], edx
cmp dword [ebp - 0x654], 6
jge 0x46d16f
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46d151
mov eax, dword [ebp - 0x654]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46d161
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x46d16d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x654]
mov dword [ebp - 0x1c], eax
jmp 0x46d113
mov dword [ebp - 0x658], 0
jmp 0x46d18a
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 3
jge 0x46d1d7
cmp dword [ebp - 0x1c], 0
jge 0x46d1a1
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 0x46d1b7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x65c], 0xfa
lea edx, [ebp - 0x65c]
push edx
lea eax, [ebp - 0x858]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46d17b
mov dword [ebp - 0x85c], 0
jmp 0x46d1f2
mov ecx, dword [ebp - 0x85c]
add ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 1
jge 0x46d209
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x1c], edx
jmp 0x46d1e3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46d21b
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 0x46d233
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x860], 0xffffffff
mov dword [ebp - 0x864], 0
jmp 0x46d25f
mov edx, dword [ebp - 0x864]
add edx, 1
mov dword [ebp - 0x864], edx
cmp dword [ebp - 0x864], 3
jge 0x46d291
mov eax, dword [ebp - 0x864]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46d286
mov edx, dword [ebp - 0x860]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46d250
mov dword [ebp - 4], 0xfffffffe
jmp 0x46d2b1
mov dword [ebp - 0x868], 0
jmp 0x46d2cc
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x868], edx
cmp dword [ebp - 0x868], 8
jge 0x46d319
cmp dword [ebp - 0x1c], 0
jge 0x46d2e3
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 0x46d2f9
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x86c], 0xfa
lea edx, [ebp - 0x86c]
push edx
lea eax, [ebp - 0xa68]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46d2bd
mov dword [ebp - 0xa6c], 0
jmp 0x46d334
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
cmp dword [ebp - 0xa6c], 5
jge 0x46d34b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x1c], edx
jmp 0x46d325
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46d35d
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 0x46d375
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa70], 0
jmp 0x46d390
mov edx, dword [ebp - 0xa70]
add edx, 1
mov dword [ebp - 0xa70], edx
cmp dword [ebp - 0xa70], 8
jge 0x46d3dd
cmp dword [ebp - 0x1c], 0
jge 0x46d3a7
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 0x46d3bd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa74], 0xfa
lea edx, [ebp - 0xa74]
push edx
lea eax, [ebp - 0xc70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46d381
mov dword [ebp - 0xc74], 0
jmp 0x46d3f8
mov ecx, dword [ebp - 0xc74]
add ecx, 1
mov dword [ebp - 0xc74], ecx
cmp dword [ebp - 0xc74], 3
jge 0x46d445
cmp dword [ebp - 0x1c], 0
jge 0x46d40f
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 0x46d425
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc78], 0xfa
lea edx, [ebp - 0xc78]
push edx
lea eax, [ebp - 0xe70]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46d3e9
mov dword [ebp - 0xe74], 0
jmp 0x46d460
mov ecx, dword [ebp - 0xe74]
add ecx, 1
mov dword [ebp - 0xe74], ecx
cmp dword [ebp - 0xe74], 0
jge 0x46d4ad
cmp dword [ebp - 0x1c], 0
jge 0x46d477
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 0x46d48d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xe78], 0xfa
lea edx, [ebp - 0xe78]
push edx
lea eax, [ebp - 0x1070]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46d451
mov dword [ebp - 0x1074], 0
jmp 0x46d4c8
mov ecx, dword [ebp - 0x1074]
add ecx, 1
mov dword [ebp - 0x1074], ecx
cmp dword [ebp - 0x1074], 4
jge 0x46d4df
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1074]
mov dword [ebp - 0x1c], edx
jmp 0x46d4b9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46d4f1
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 0x46d509
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x46d543
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1078], eax
mov eax, dword [ebp - 0x1078]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46d535
jmp 0x46d543
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1078]
mov dword [ebp - 0x1c], edx
jmp 0x46d509
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x107c], 0
jmp 0x46d567
mov ecx, dword [ebp - 0x107c]
add ecx, 1
mov dword [ebp - 0x107c], ecx
cmp dword [ebp - 0x107c], 2
jge 0x46d57e
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x107c]
mov dword [ebp - 0x1c], edx
jmp 0x46d558
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46d590
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 0x46d5a8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x1080], 0xffffffff
mov dword [ebp - 0x1084], 0
jmp 0x46d5d4
mov edx, dword [ebp - 0x1084]
add edx, 1
mov dword [ebp - 0x1084], edx
cmp dword [ebp - 0x1084], 1
jge 0x46d606
mov eax, dword [ebp - 0x1084]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46d5fb
mov edx, dword [ebp - 0x1080]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46d5c5
mov dword [ebp - 4], 0xfffffffe
jmp 0x46d626
mov dword [ebp - 4], 4
mov dword [ebp - 0x1088], 0xffffffff
mov dword [ebp - 0x108c], 0
jmp 0x46d652
mov edx, dword [ebp - 0x108c]
add edx, 1
mov dword [ebp - 0x108c], edx
cmp dword [ebp - 0x108c], 3
jge 0x46d684
mov eax, dword [ebp - 0x108c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46d679
mov edx, dword [ebp - 0x1088]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46d643
mov dword [ebp - 4], 0xfffffffe
jmp 0x46d6a4
mov dword [ebp - 0x1090], 0
jmp 0x46d6bf
mov edx, dword [ebp - 0x1090]
add edx, 1
mov dword [ebp - 0x1090], edx
cmp dword [ebp - 0x1090], 2
jge 0x46d6d6
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1090]
mov dword [ebp - 0x1c], eax
jmp 0x46d6b0
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46d6e8
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 0x46d700
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x1094], 0xffffffff
mov dword [ebp - 0x1098], 0
jmp 0x46d72c
mov edx, dword [ebp - 0x1098]
add edx, 1
mov dword [ebp - 0x1098], edx
cmp dword [ebp - 0x1098], 0
jge 0x46d75e
mov eax, dword [ebp - 0x1098]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46d753
mov edx, dword [ebp - 0x1094]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46d71d
mov dword [ebp - 4], 0xfffffffe
jmp 0x46d77e
mov dword [ebp - 0x109c], 0
jmp 0x46d799
mov edx, dword [ebp - 0x109c]
add edx, 1
mov dword [ebp - 0x109c], edx
cmp dword [ebp - 0x109c], 2
jge 0x46d7e6
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46d7c8
mov eax, dword [ebp - 0x109c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46d7d8
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x46d7e4
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], eax
jmp 0x46d78a
mov dword [ebp - 0x10a0], 0
jmp 0x46d801
mov ecx, dword [ebp - 0x10a0]
add ecx, 1
mov dword [ebp - 0x10a0], ecx
cmp dword [ebp - 0x10a0], 0
jge 0x46d842
cmp dword [ebp - 0x1c], 0
jge 0x46d818
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 0x46d82e
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1298]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46d7f2
mov dword [ebp - 0x129c], 0
jmp 0x46d85d
mov eax, dword [ebp - 0x129c]
add eax, 1
mov dword [ebp - 0x129c], eax
cmp dword [ebp - 0x129c], 0
jge 0x46d874
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x129c]
mov dword [ebp - 0x1c], ecx
jmp 0x46d84e
cmp dword [ebp - 0x1c], 0
jge 0x46d882
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 0x46d89a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12a0], 0
jmp 0x46d8b5
mov edx, dword [ebp - 0x12a0]
add edx, 1
mov dword [ebp - 0x12a0], edx
cmp dword [ebp - 0x12a0], 2
jge 0x46d902
mov eax, dword [ebp - 0x12a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46d8e4
mov eax, dword [ebp - 0x12a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46d8f4
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a0]
mov dword [ebp - 0x1c], edx
jmp 0x46d900
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12a0]
mov dword [ebp - 0x1c], eax
jmp 0x46d8a6
mov dword [ebp - 0x12a4], 0
jmp 0x46d91d
mov ecx, dword [ebp - 0x12a4]
add ecx, 1
mov dword [ebp - 0x12a4], ecx
cmp dword [ebp - 0x12a4], 0
jge 0x46d96a
mov eax, dword [ebp - 0x12a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46d94c
mov eax, dword [ebp - 0x12a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46d95c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], edx
jmp 0x46d968
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x12a4]
mov dword [ebp - 0x1c], eax
jmp 0x46d90e
mov dword [ebp - 4], 6
mov dword [ebp - 0x12a8], 0xffffffff
mov dword [ebp - 0x12ac], 0
jmp 0x46d996
mov ecx, dword [ebp - 0x12ac]
add ecx, 1
mov dword [ebp - 0x12ac], ecx
cmp dword [ebp - 0x12ac], 3
jge 0x46d9c8
mov eax, dword [ebp - 0x12ac]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46d9bd
mov edx, dword [ebp - 0x12a8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46d987
mov dword [ebp - 4], 0xfffffffe
jmp 0x46d9e8
mov edx, 1
test edx, edx
je 0x46da22
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12b0], eax
mov eax, dword [ebp - 0x12b0]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46da14
jmp 0x46da22
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12b0]
mov dword [ebp - 0x1c], edx
jmp 0x46d9e8
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12b4], 0
jmp 0x46da46
mov ecx, dword [ebp - 0x12b4]
add ecx, 1
mov dword [ebp - 0x12b4], ecx
cmp dword [ebp - 0x12b4], 1
jge 0x46da5d
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x12b4]
mov dword [ebp - 0x1c], edx
jmp 0x46da37
cmp dword [ebp - 0x1c], 0
jge 0x46da6b
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 0x46da83
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x46dabd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x12b8], eax
mov eax, dword [ebp - 0x12b8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46daaf
jmp 0x46dabd
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x12b8]
mov dword [ebp - 0x1c], edx
jmp 0x46da83
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12bc], 0
jmp 0x46dae1
mov ecx, dword [ebp - 0x12bc]
add ecx, 1
mov dword [ebp - 0x12bc], ecx
cmp dword [ebp - 0x12bc], 1
jge 0x46db2e
cmp dword [ebp - 0x1c], 0
jge 0x46daf8
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 0x46db0e
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12c0], 0xfa
lea edx, [ebp - 0x12c0]
push edx
lea eax, [ebp - 0x14b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46dad2
mov dword [ebp - 4], 7
mov dword [ebp - 0x14bc], 0xffffffff
mov dword [ebp - 0x14c0], 0
jmp 0x46db5a
mov ecx, dword [ebp - 0x14c0]
add ecx, 1
mov dword [ebp - 0x14c0], ecx
cmp dword [ebp - 0x14c0], 1
jge 0x46db8c
mov eax, dword [ebp - 0x14c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46db81
mov edx, dword [ebp - 0x14bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46db4b
mov dword [ebp - 4], 0xfffffffe
jmp 0x46dbac
mov dword [ebp - 0x14c4], 0
jmp 0x46dbc7
mov edx, dword [ebp - 0x14c4]
add edx, 1
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 2
jge 0x46dbde
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14c4]
mov dword [ebp - 0x1c], eax
jmp 0x46dbb8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x46dbf0
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 0x46dc08
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c8], 0
jmp 0x46dc23
mov edx, dword [ebp - 0x14c8]
add edx, 1
mov dword [ebp - 0x14c8], edx
cmp dword [ebp - 0x14c8], 1
jge 0x46dc64
cmp dword [ebp - 0x1c], 0
jge 0x46dc3a
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 0x46dc50
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46dc14
mov dword [ebp - 4], 8
mov dword [ebp - 0x16c4], 0xffffffff
mov dword [ebp - 0x16c8], 0
jmp 0x46dc90
mov eax, dword [ebp - 0x16c8]
add eax, 1
mov dword [ebp - 0x16c8], eax
cmp dword [ebp - 0x16c8], 2
jge 0x46dcc2
mov eax, dword [ebp - 0x16c8]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46dcb7
mov edx, dword [ebp - 0x16c4]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46dc81
mov dword [ebp - 4], 0xfffffffe
jmp 0x46dce2
mov edx, 1
test edx, edx
je 0x46dd1c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16cc], eax
mov eax, dword [ebp - 0x16cc]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x46dd0e
jmp 0x46dd1c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16cc]
mov dword [ebp - 0x1c], edx
jmp 0x46dce2
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 9
mov dword [ebp - 0x16d0], 0xffffffff
mov dword [ebp - 0x16d4], 0
jmp 0x46dd51
mov ecx, dword [ebp - 0x16d4]
add ecx, 1
mov dword [ebp - 0x16d4], ecx
cmp dword [ebp - 0x16d4], 3
jge 0x46dd83
mov eax, dword [ebp - 0x16d4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46dd78
mov edx, dword [ebp - 0x16d0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46dd42
mov dword [ebp - 4], 0xfffffffe
jmp 0x46dda3
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x16d8], 0xffffffff
mov dword [ebp - 0x16dc], 0
jmp 0x46ddcf
mov edx, dword [ebp - 0x16dc]
add edx, 1
mov dword [ebp - 0x16dc], edx
cmp dword [ebp - 0x16dc], 0
jge 0x46de01
mov eax, dword [ebp - 0x16dc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x46ddf6
mov edx, dword [ebp - 0x16d8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x46ddc0
mov dword [ebp - 4], 0xfffffffe
jmp 0x46de21
mov dword [ebp - 0x16e0], 0
jmp 0x46de3c
mov edx, dword [ebp - 0x16e0]
add edx, 1
mov dword [ebp - 0x16e0], edx
cmp dword [ebp - 0x16e0], 0
jge 0x46de89
mov eax, dword [ebp - 0x16e0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46de6b
mov eax, dword [ebp - 0x16e0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46de7b
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16e0]
mov dword [ebp - 0x1c], edx
jmp 0x46de87
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16e0]
mov dword [ebp - 0x1c], eax
jmp 0x46de2d
mov dword [ebp - 0x16e4], 0
jmp 0x46dea4
mov ecx, dword [ebp - 0x16e4]
add ecx, 1
mov dword [ebp - 0x16e4], ecx
cmp dword [ebp - 0x16e4], 1
jge 0x46def1
cmp dword [ebp - 0x1c], 0
jge 0x46debb
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 0x46ded1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16e8], 0xfa
lea edx, [ebp - 0x16e8]
push edx
lea eax, [ebp - 0x18e0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46de95
mov dword [ebp - 0x18e4], 0
jmp 0x46df0c
mov ecx, dword [ebp - 0x18e4]
add ecx, 1
mov dword [ebp - 0x18e4], ecx
cmp dword [ebp - 0x18e4], 4
jge 0x46df59
cmp dword [ebp - 0x1c], 0
jge 0x46df23
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 0x46df39
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18e8], 0xfa
lea edx, [ebp - 0x18e8]
push edx
lea eax, [ebp - 0x1ae0]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46defd
mov dword [ebp - 0x1ae4], 0
jmp 0x46df74
mov ecx, dword [ebp - 0x1ae4]
add ecx, 1
mov dword [ebp - 0x1ae4], ecx
cmp dword [ebp - 0x1ae4], 1
jge 0x46dfb5
cmp dword [ebp - 0x1c], 0
jge 0x46df8b
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 0x46dfa1
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1ce0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x46df65
mov dword [ebp - 0x1ce4], 0
jmp 0x46dfd0
mov eax, dword [ebp - 0x1ce4]
add eax, 1
mov dword [ebp - 0x1ce4], eax
cmp dword [ebp - 0x1ce4], 2
jge 0x46dfe7
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x1ce4]
mov dword [ebp - 0x1c], ecx
jmp 0x46dfc1
cmp dword [ebp - 0x1c], 0
jge 0x46dff5
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 0x46e00d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1ce8], 0
jmp 0x46e028
mov edx, dword [ebp - 0x1ce8]
add edx, 1
mov dword [ebp - 0x1ce8], edx
cmp dword [ebp - 0x1ce8], 4
jge 0x46e03f
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1ce8]
mov dword [ebp - 0x1c], eax
jmp 0x46e019
cmp dword [ebp - 0x1c], 0
jge 0x46e04d
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 0x46e065