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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511c20
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ac8
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 - 0x20], 0
jmp 0x46fef9
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2b
jge 0x46ff37
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x46ff1f
mov eax, dword [ebp - 0x20]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x46ff2c
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
jmp 0x46ff35
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x46fef0
mov dword [ebp - 0x24], 0
jmp 0x46ff49
mov ecx, dword [ebp - 0x24]
add ecx, 1
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0x12
jge 0x46ff8d
cmp dword [ebp - 0x1c], 0
jge 0x46ff5d
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 0x46ff73
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0xfa
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x46ff40
mov ecx, 1
test ecx, ecx
je 0x46ffc7
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 0x46ffb9
jmp 0x46ffc7
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], edx
jmp 0x46ff8d
mov eax, dword [ebp - 0x1c]
add eax, 0xa
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x46ffeb
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0xb
jge 0x470002
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x230]
mov dword [ebp - 0x1c], edx
jmp 0x46ffdc
cmp dword [ebp - 0x1c], 0
jge 0x470010
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 0x470028
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x470062
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 0x470054
jmp 0x470062
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x1c], edx
jmp 0x470028
mov eax, dword [ebp - 0x1c]
add eax, 0x18
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x238], 0
jmp 0x470086
mov ecx, dword [ebp - 0x238]
add ecx, 1
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0
jge 0x4700c7
cmp dword [ebp - 0x1c], 0
jge 0x47009d
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 0x4700b3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x430]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x470077
mov dword [ebp - 0x434], 0
jmp 0x4700e2
mov eax, dword [ebp - 0x434]
add eax, 1
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 7
jge 0x47012f
mov eax, dword [ebp - 0x434]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x470111
mov eax, dword [ebp - 0x434]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x470121
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x434]
mov dword [ebp - 0x1c], edx
jmp 0x47012d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x434]
mov dword [ebp - 0x1c], eax
jmp 0x4700d3
mov ecx, 1
test ecx, ecx
je 0x470169
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x438]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47015b
jmp 0x470169
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x438]
mov dword [ebp - 0x1c], edx
jmp 0x47012f
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x43c], 0
jmp 0x47018d
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0x1b
jge 0x4701a4
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x47017e
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4701b6
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 0x4701ce
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x470208
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x440]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4701fa
jmp 0x470208
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x440]
mov dword [ebp - 0x1c], edx
jmp 0x4701ce
mov eax, dword [ebp - 0x1c]
add eax, 0xf
mov dword [ebp - 0x1c], eax
mov ecx, 1
test ecx, ecx
je 0x47024b
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 0x47023d
jmp 0x47024b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x470211
mov eax, dword [ebp - 0x1c]
add eax, 0xd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x47026f
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0xc
jge 0x4702bc
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x47029e
mov eax, dword [ebp - 0x448]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4702ae
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x4702ba
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x448]
mov dword [ebp - 0x1c], eax
jmp 0x470260
mov dword [ebp - 0x44c], 0
jmp 0x4702d7
mov ecx, dword [ebp - 0x44c]
add ecx, 1
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 6
jge 0x4702ee
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x44c]
mov dword [ebp - 0x1c], edx
jmp 0x4702c8
cmp dword [ebp - 0x1c], 0
jge 0x4702fc
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 0x470314
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47034e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x450]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x470340
jmp 0x47034e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x450]
mov dword [ebp - 0x1c], edx
jmp 0x470314
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x454], 0
jmp 0x470372
mov ecx, dword [ebp - 0x454]
add ecx, 1
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x454], 8
jge 0x4703bf
cmp dword [ebp - 0x1c], 0
jge 0x470389
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 0x47039f
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x458], 0xfa
lea edx, [ebp - 0x458]
push edx
lea eax, [ebp - 0x650]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x470363
mov dword [ebp - 4], 0
mov dword [ebp - 0x654], 0xffffffff
mov dword [ebp - 0x658], 0
jmp 0x4703eb
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 0
jge 0x47041d
mov eax, dword [ebp - 0x658]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x470412
mov edx, dword [ebp - 0x654]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4703dc
mov dword [ebp - 4], 0xfffffffe
jmp 0x47043d
mov dword [ebp - 4], 1
mov dword [ebp - 0x65c], 0xffffffff
mov dword [ebp - 0x660], 0
jmp 0x470469
mov edx, dword [ebp - 0x660]
add edx, 1
mov dword [ebp - 0x660], edx
cmp dword [ebp - 0x660], 7
jge 0x47049b
mov eax, dword [ebp - 0x660]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x470490
mov edx, dword [ebp - 0x65c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47045a
mov dword [ebp - 4], 0xfffffffe
jmp 0x4704bb
mov edx, 1
test edx, edx
je 0x4704f5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x664]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x4704e7
jmp 0x4704f5
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x664]
mov dword [ebp - 0x1c], edx
jmp 0x4704bb
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x668], 0xffffffff
mov dword [ebp - 0x66c], 0
jmp 0x47052a
mov ecx, dword [ebp - 0x66c]
add ecx, 1
mov dword [ebp - 0x66c], ecx
cmp dword [ebp - 0x66c], 4
jge 0x47055c
mov eax, dword [ebp - 0x66c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x470551
mov edx, dword [ebp - 0x668]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47051b
mov dword [ebp - 4], 0xfffffffe
jmp 0x47057c
mov dword [ebp - 0x670], 0
jmp 0x470597
mov edx, dword [ebp - 0x670]
add edx, 1
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 0xe
jge 0x4705e4
cmp dword [ebp - 0x1c], 0
jge 0x4705ae
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 0x4705c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x674], 0xfa
lea edx, [ebp - 0x674]
push edx
lea eax, [ebp - 0x870]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x470588
mov dword [ebp - 0x874], 0
jmp 0x4705ff
mov ecx, dword [ebp - 0x874]
add ecx, 1
mov dword [ebp - 0x874], ecx
cmp dword [ebp - 0x874], 6
jge 0x470640
cmp dword [ebp - 0x1c], 0
jge 0x470616
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 0x47062c
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa70]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4705f0
mov dword [ebp - 4], 3
mov dword [ebp - 0xa74], 0xffffffff
mov dword [ebp - 0xa78], 0
jmp 0x47066c
mov eax, dword [ebp - 0xa78]
add eax, 1
mov dword [ebp - 0xa78], eax
cmp dword [ebp - 0xa78], 2
jge 0x47069e
mov eax, dword [ebp - 0xa78]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x470693
mov edx, dword [ebp - 0xa74]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x47065d
mov dword [ebp - 4], 0xfffffffe
jmp 0x4706be
mov dword [ebp - 0xa7c], 0
jmp 0x4706d9
mov edx, dword [ebp - 0xa7c]
add edx, 1
mov dword [ebp - 0xa7c], edx
cmp dword [ebp - 0xa7c], 7
jge 0x470726
cmp dword [ebp - 0x1c], 0
jge 0x4706f0
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 0x470706
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa80], 0xfa
lea edx, [ebp - 0xa80]
push edx
lea eax, [ebp - 0xc78]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4706ca
mov dword [ebp - 0xc7c], 0
jmp 0x470741
mov ecx, dword [ebp - 0xc7c]
add ecx, 1
mov dword [ebp - 0xc7c], ecx
cmp dword [ebp - 0xc7c], 1
jge 0x470758
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc7c]
mov dword [ebp - 0x1c], edx
jmp 0x470732
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47076a
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 0x470782
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc80], 0
jmp 0x47079d
mov edx, dword [ebp - 0xc80]
add edx, 1
mov dword [ebp - 0xc80], edx
cmp dword [ebp - 0xc80], 4
jge 0x4707ea
mov eax, dword [ebp - 0xc80]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4707cc
mov eax, dword [ebp - 0xc80]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4707dc
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], edx
jmp 0x4707e8
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0xc80]
mov dword [ebp - 0x1c], eax
jmp 0x47078e
mov dword [ebp - 0xc84], 0
jmp 0x470805
mov ecx, dword [ebp - 0xc84]
add ecx, 1
mov dword [ebp - 0xc84], ecx
cmp dword [ebp - 0xc84], 2
jge 0x47081c
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0xc84]
mov dword [ebp - 0x1c], edx
jmp 0x4707f6
cmp dword [ebp - 0x1c], 0
jge 0x47082a
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 0x470842
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47087c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xc88], eax
mov eax, dword [ebp - 0xc88]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x47086e
jmp 0x47087c
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0xc88]
mov dword [ebp - 0x1c], edx
jmp 0x470842
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xc8c], 0
jmp 0x4708a0
mov ecx, dword [ebp - 0xc8c]
add ecx, 1
mov dword [ebp - 0xc8c], ecx
cmp dword [ebp - 0xc8c], 4
jge 0x4708ed
cmp dword [ebp - 0x1c], 0
jge 0x4708b7
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 0x4708cd
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc90], 0xfa
lea edx, [ebp - 0xc90]
push edx
lea eax, [ebp - 0xe88]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x470891
mov dword [ebp - 0xe8c], 0
jmp 0x470908
mov ecx, dword [ebp - 0xe8c]
add ecx, 1
mov dword [ebp - 0xe8c], ecx
cmp dword [ebp - 0xe8c], 5
jge 0x470949
cmp dword [ebp - 0x1c], 0
jge 0x47091f
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 0x470935
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1088]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4708f9
mov dword [ebp - 0x108c], 0
jmp 0x470964
mov eax, dword [ebp - 0x108c]
add eax, 1
mov dword [ebp - 0x108c], eax
cmp dword [ebp - 0x108c], 0
jge 0x4709b1
mov eax, dword [ebp - 0x108c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x470993
mov eax, dword [ebp - 0x108c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4709a3
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x108c]
mov dword [ebp - 0x1c], edx
jmp 0x4709af
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x108c]
mov dword [ebp - 0x1c], eax
jmp 0x470955
mov dword [ebp - 0x1090], 0
jmp 0x4709cc
mov ecx, dword [ebp - 0x1090]
add ecx, 1
mov dword [ebp - 0x1090], ecx
cmp dword [ebp - 0x1090], 3
jge 0x4709e3
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x1090]
mov dword [ebp - 0x1c], edx
jmp 0x4709bd
cmp dword [ebp - 0x1c], 0
jge 0x4709f1
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 0x470a09
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1094], 0
jmp 0x470a24
mov edx, dword [ebp - 0x1094]
add edx, 1
mov dword [ebp - 0x1094], edx
cmp dword [ebp - 0x1094], 0
jge 0x470a71
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x470a53
mov eax, dword [ebp - 0x1094]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x470a63
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], edx
jmp 0x470a6f
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1094]
mov dword [ebp - 0x1c], eax
jmp 0x470a15
mov dword [ebp - 0x1098], 0
jmp 0x470a8c
mov ecx, dword [ebp - 0x1098]
add ecx, 1
mov dword [ebp - 0x1098], ecx
cmp dword [ebp - 0x1098], 4
jge 0x470ad9
mov eax, dword [ebp - 0x1098]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x470abb
mov eax, dword [ebp - 0x1098]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x470acb
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], edx
jmp 0x470ad7
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1098]
mov dword [ebp - 0x1c], eax
jmp 0x470a7d
mov dword [ebp - 0x109c], 0
jmp 0x470af4
mov ecx, dword [ebp - 0x109c]
add ecx, 1
mov dword [ebp - 0x109c], ecx
cmp dword [ebp - 0x109c], 0
jge 0x470b0b
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x109c]
mov dword [ebp - 0x1c], edx
jmp 0x470ae5
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x470b1d
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 0x470b35
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10a0], 0
jmp 0x470b50
mov edx, dword [ebp - 0x10a0]
add edx, 1
mov dword [ebp - 0x10a0], edx
cmp dword [ebp - 0x10a0], 3
jge 0x470b9d
mov eax, dword [ebp - 0x10a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x470b7f
mov eax, dword [ebp - 0x10a0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x470b8f
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], edx
jmp 0x470b9b
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10a0]
mov dword [ebp - 0x1c], eax
jmp 0x470b41
mov dword [ebp - 0x10a4], 0
jmp 0x470bb8
mov ecx, dword [ebp - 0x10a4]
add ecx, 1
mov dword [ebp - 0x10a4], ecx
cmp dword [ebp - 0x10a4], 3
jge 0x470c05
mov eax, dword [ebp - 0x10a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x470be7
mov eax, dword [ebp - 0x10a4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x470bf7
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], edx
jmp 0x470c03
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x10a4]
mov dword [ebp - 0x1c], eax
jmp 0x470ba9
mov dword [ebp - 0x10a8], 0
jmp 0x470c20
mov ecx, dword [ebp - 0x10a8]
add ecx, 1
mov dword [ebp - 0x10a8], ecx
cmp dword [ebp - 0x10a8], 0
jge 0x470c37
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x10a8]
mov dword [ebp - 0x1c], edx
jmp 0x470c11
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x470c49
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 0x470c61
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10ac], 0
jmp 0x470c7c
mov edx, dword [ebp - 0x10ac]
add edx, 1
mov dword [ebp - 0x10ac], edx
cmp dword [ebp - 0x10ac], 3
jge 0x470cbd
cmp dword [ebp - 0x1c], 0
jge 0x470c93
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 0x470ca9
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x12a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x470c6d
mov dword [ebp - 0x12ac], 0
jmp 0x470cd8
mov eax, dword [ebp - 0x12ac]
add eax, 1
mov dword [ebp - 0x12ac], eax
cmp dword [ebp - 0x12ac], 3
jge 0x470d25
cmp dword [ebp - 0x1c], 0
jge 0x470cef
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 0x470d05
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x12b0], 0xfa
lea edx, [ebp - 0x12b0]
push edx
lea eax, [ebp - 0x14a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x470cc9
mov dword [ebp - 0x14ac], 0
jmp 0x470d40
mov ecx, dword [ebp - 0x14ac]
add ecx, 1
mov dword [ebp - 0x14ac], ecx
cmp dword [ebp - 0x14ac], 3
jge 0x470d57
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x14ac]
mov dword [ebp - 0x1c], edx
jmp 0x470d31
cmp dword [ebp - 0x1c], 0
jge 0x470d65
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 0x470d7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x14b0], 0xffffffff
mov dword [ebp - 0x14b4], 0
jmp 0x470da9
mov edx, dword [ebp - 0x14b4]
add edx, 1
mov dword [ebp - 0x14b4], edx
cmp dword [ebp - 0x14b4], 3
jge 0x470ddb
mov eax, dword [ebp - 0x14b4]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x470dd0
mov edx, dword [ebp - 0x14b0]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x470d9a
mov dword [ebp - 4], 0xfffffffe
jmp 0x470dfb
mov dword [ebp - 4], 5
mov dword [ebp - 0x14b8], 0xffffffff
mov dword [ebp - 0x14bc], 0
jmp 0x470e27
mov edx, dword [ebp - 0x14bc]
add edx, 1
mov dword [ebp - 0x14bc], edx
cmp dword [ebp - 0x14bc], 1
jge 0x470e59
mov eax, dword [ebp - 0x14bc]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x470e4e
mov edx, dword [ebp - 0x14b8]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x470e18
mov dword [ebp - 4], 0xfffffffe
jmp 0x470e79
mov dword [ebp - 0x14c0], 0
jmp 0x470e94
mov edx, dword [ebp - 0x14c0]
add edx, 1
mov dword [ebp - 0x14c0], edx
cmp dword [ebp - 0x14c0], 3
jge 0x470eab
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14c0]
mov dword [ebp - 0x1c], eax
jmp 0x470e85
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x470ebd
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 0x470ed5
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14c4], 0
jmp 0x470ef0
mov edx, dword [ebp - 0x14c4]
add edx, 1
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 3
jge 0x470f31
cmp dword [ebp - 0x1c], 0
jge 0x470f07
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 0x470f1d
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x16c0]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x470ee1
mov dword [ebp - 0x16c4], 0
jmp 0x470f4c
mov eax, dword [ebp - 0x16c4]
add eax, 1
mov dword [ebp - 0x16c4], eax
cmp dword [ebp - 0x16c4], 4
jge 0x470f63
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x16c4]
mov dword [ebp - 0x1c], ecx
jmp 0x470f3d
cmp dword [ebp - 0x1c], 0
jge 0x470f71
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 0x470f89
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x470fc3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x16c8], eax
mov eax, dword [ebp - 0x16c8]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x470fb5
jmp 0x470fc3
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16c8]
mov dword [ebp - 0x1c], edx
jmp 0x470f89
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16cc], 0
jmp 0x470fe7
mov ecx, dword [ebp - 0x16cc]
add ecx, 1
mov dword [ebp - 0x16cc], ecx
cmp dword [ebp - 0x16cc], 4
jge 0x470ffe
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16cc]
mov dword [ebp - 0x1c], edx
jmp 0x470fd8
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x471010
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 0x471028
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16d0], 0
jmp 0x471043
mov edx, dword [ebp - 0x16d0]
add edx, 1
mov dword [ebp - 0x16d0], edx
cmp dword [ebp - 0x16d0], 0
jge 0x471090
mov eax, dword [ebp - 0x16d0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x471072
mov eax, dword [ebp - 0x16d0]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x471082
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16d0]
mov dword [ebp - 0x1c], edx
jmp 0x47108e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16d0]
mov dword [ebp - 0x1c], eax
jmp 0x471034
mov dword [ebp - 0x16d4], 0
jmp 0x4710ab
mov ecx, dword [ebp - 0x16d4]
add ecx, 1
mov dword [ebp - 0x16d4], ecx
cmp dword [ebp - 0x16d4], 2
jge 0x4710f8
mov eax, dword [ebp - 0x16d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4710da
mov eax, dword [ebp - 0x16d4]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4710ea
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16d4]
mov dword [ebp - 0x1c], edx
jmp 0x4710f6
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x16d4]
mov dword [ebp - 0x1c], eax
jmp 0x47109c
mov dword [ebp - 0x16d8], 0
jmp 0x471113
mov ecx, dword [ebp - 0x16d8]
add ecx, 1
mov dword [ebp - 0x16d8], ecx
cmp dword [ebp - 0x16d8], 3
jge 0x47112a
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x16d8]
mov dword [ebp - 0x1c], edx
jmp 0x471104
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x47113c
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 0x471154
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x47118e
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 0x471180
jmp 0x47118e
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x16dc]
mov dword [ebp - 0x1c], edx
jmp 0x471154
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16e0], 0
jmp 0x4711b2
cmp dword [ebp - 0x16e0], 1
jge 0x4711f3
cmp dword [ebp - 0x1c], 0
jge 0x4711c9
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 0x4711df
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x18d8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x4711a3
mov dword [ebp - 0x18dc], 0
jmp 0x47120e
cmp dword [ebp - 0x18dc], 3
jge 0x47125b
cmp dword [ebp - 0x1c], 0
jge 0x471225
mov dword [ebp - 0x1adc], 0
jmp 0x471276