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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x511408
push 0x40b390
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x1ed0
call fcn.004149d0
mov eax, dword [0x517138]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], 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 0x457549
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xe
jge 0x457587
cmp dword [ebp - 0x1c], 0
jge 0x45755d
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 0x457573
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457540
mov dword [ebp - 4], 0
mov dword [ebp - 0x224], 0xffffffff
mov dword [ebp - 0x228], 0
jmp 0x4575b3
mov eax, dword [ebp - 0x228]
add eax, 1
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0x19
jge 0x4575e5
mov eax, dword [ebp - 0x228]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4575da
mov edx, dword [ebp - 0x224]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4575a4
mov dword [ebp - 4], 0xfffffffe
jmp 0x457605
mov dword [ebp - 0x22c], 0
jmp 0x457620
mov edx, dword [ebp - 0x22c]
add edx, 1
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0x14
jge 0x457637
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1c], eax
jmp 0x457611
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x457649
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 0x457661
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x230], 0
jmp 0x45767c
mov edx, dword [ebp - 0x230]
add edx, 1
mov dword [ebp - 0x230], edx
cmp dword [ebp - 0x230], 2
jge 0x457693
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x230]
mov dword [ebp - 0x1c], eax
jmp 0x45766d
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4576a5
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 0x4576bd
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x234], 0
jmp 0x4576d8
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 7
jge 0x4576ef
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x234]
mov dword [ebp - 0x1c], eax
jmp 0x4576c9
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x457701
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 0x457719
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x457753
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 0x457745
jmp 0x457753
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x238]
mov dword [ebp - 0x1c], edx
jmp 0x457719
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x23c], 0
jmp 0x457777
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
cmp dword [ebp - 0x23c], 1
jge 0x4577b8
cmp dword [ebp - 0x1c], 0
jge 0x45778e
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 0x4577a4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x438]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457768
mov dword [ebp - 0x43c], 0
jmp 0x4577d3
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 5
jge 0x457820
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x457802
mov eax, dword [ebp - 0x43c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x457812
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], edx
jmp 0x45781e
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x43c]
mov dword [ebp - 0x1c], eax
jmp 0x4577c4
mov dword [ebp - 0x440], 0
jmp 0x45783b
mov ecx, dword [ebp - 0x440]
add ecx, 1
mov dword [ebp - 0x440], ecx
cmp dword [ebp - 0x440], 2
jge 0x457852
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x440]
mov dword [ebp - 0x1c], edx
jmp 0x45782c
cmp dword [ebp - 0x1c], 0
jge 0x457860
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 0x457878
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x4578b2
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 0x4578a4
jmp 0x4578b2
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x1c], edx
jmp 0x457878
mov eax, dword [ebp - 0x1c]
add eax, 7
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x448], 0
jmp 0x4578d6
mov ecx, dword [ebp - 0x448]
add ecx, 1
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 3
jge 0x4578ed
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x1c], edx
jmp 0x4578c7
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4578ff
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 0x457917
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x44c], 0
jmp 0x457932
mov edx, dword [ebp - 0x44c]
add edx, 1
mov dword [ebp - 0x44c], edx
cmp dword [ebp - 0x44c], 6
jge 0x457973
cmp dword [ebp - 0x1c], 0
jge 0x457949
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 0x45795f
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x648]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457923
mov dword [ebp - 4], 1
mov dword [ebp - 0x64c], 0xffffffff
mov dword [ebp - 0x650], 0
jmp 0x45799f
mov eax, dword [ebp - 0x650]
add eax, 1
mov dword [ebp - 0x650], eax
cmp dword [ebp - 0x650], 3
jge 0x4579d1
mov eax, dword [ebp - 0x650]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4579c6
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 0x457990
mov dword [ebp - 4], 0xfffffffe
jmp 0x4579f1
mov edx, 1
test edx, edx
je 0x457a2b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x457a1d
jmp 0x457a2b
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x654]
mov dword [ebp - 0x1c], edx
jmp 0x4579f1
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x658], 0
jmp 0x457a4f
mov ecx, dword [ebp - 0x658]
add ecx, 1
mov dword [ebp - 0x658], ecx
cmp dword [ebp - 0x658], 6
jge 0x457a9c
cmp dword [ebp - 0x1c], 0
jge 0x457a66
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 0x457a7c
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 0x457a40
mov dword [ebp - 0x85c], 0
jmp 0x457ab7
mov ecx, dword [ebp - 0x85c]
add ecx, 1
mov dword [ebp - 0x85c], ecx
cmp dword [ebp - 0x85c], 6
jge 0x457af8
cmp dword [ebp - 0x1c], 0
jge 0x457ace
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 0x457ae4
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xa58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457aa8
mov dword [ebp - 0xa5c], 0
jmp 0x457b13
mov eax, dword [ebp - 0xa5c]
add eax, 1
mov dword [ebp - 0xa5c], eax
cmp dword [ebp - 0xa5c], 7
jge 0x457b2a
mov ecx, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0x1c], ecx
jmp 0x457b04
cmp dword [ebp - 0x1c], 0
jge 0x457b38
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 0x457b50
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa60], 0
jmp 0x457b6b
mov edx, dword [ebp - 0xa60]
add edx, 1
mov dword [ebp - 0xa60], edx
cmp dword [ebp - 0xa60], 2
jge 0x457bac
cmp dword [ebp - 0x1c], 0
jge 0x457b82
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 0x457b98
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0xc58]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457b5c
mov dword [ebp - 0xc5c], 0
jmp 0x457bc7
mov eax, dword [ebp - 0xc5c]
add eax, 1
mov dword [ebp - 0xc5c], eax
cmp dword [ebp - 0xc5c], 4
jge 0x457c14
cmp dword [ebp - 0x1c], 0
jge 0x457bde
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 0x457bf4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc60], 0xfa
lea edx, [ebp - 0xc60]
push edx
lea eax, [ebp - 0xe58]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x457bb8
mov dword [ebp - 0xe5c], 0
jmp 0x457c2f
mov ecx, dword [ebp - 0xe5c]
add ecx, 1
mov dword [ebp - 0xe5c], ecx
cmp dword [ebp - 0xe5c], 0
jge 0x457c46
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0xe5c]
mov dword [ebp - 0x1c], edx
jmp 0x457c20
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x457c58
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 0x457c70
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xe60], 0
jmp 0x457c8b
mov edx, dword [ebp - 0xe60]
add edx, 1
mov dword [ebp - 0xe60], edx
cmp dword [ebp - 0xe60], 6
jge 0x457ccc
cmp dword [ebp - 0x1c], 0
jge 0x457ca2
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 0x457cb8
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1058]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457c7c
mov eax, 1
test eax, eax
je 0x457d06
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x105c], eax
mov eax, dword [ebp - 0x105c]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x457cf8
jmp 0x457d06
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x105c]
mov dword [ebp - 0x1c], edx
jmp 0x457ccc
mov eax, dword [ebp - 0x1c]
add eax, 6
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1060], 0
jmp 0x457d2a
mov ecx, dword [ebp - 0x1060]
add ecx, 1
mov dword [ebp - 0x1060], ecx
cmp dword [ebp - 0x1060], 4
jge 0x457d41
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1c], edx
jmp 0x457d1b
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x457d53
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 0x457d6b
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1064], 0
jmp 0x457d86
mov edx, dword [ebp - 0x1064]
add edx, 1
mov dword [ebp - 0x1064], edx
cmp dword [ebp - 0x1064], 0
jge 0x457dc7
cmp dword [ebp - 0x1c], 0
jge 0x457d9d
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 0x457db3
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1260]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x457d77
mov dword [ebp - 0x1264], 0
jmp 0x457de2
mov eax, dword [ebp - 0x1264]
add eax, 1
mov dword [ebp - 0x1264], eax
cmp dword [ebp - 0x1264], 2
jge 0x457df9
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1264]
mov dword [ebp - 0x1c], ecx
jmp 0x457dd3
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x457e0b
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 0x457e23
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 2
mov dword [ebp - 0x1268], 0xffffffff
mov dword [ebp - 0x126c], 0
jmp 0x457e4f
mov edx, dword [ebp - 0x126c]
add edx, 1
mov dword [ebp - 0x126c], edx
cmp dword [ebp - 0x126c], 4
jge 0x457e81
mov eax, dword [ebp - 0x126c]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x457e76
mov edx, dword [ebp - 0x1268]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x457e40
mov dword [ebp - 4], 0xfffffffe
jmp 0x457ea1
mov dword [ebp - 0x1270], 0
jmp 0x457ebc
mov edx, dword [ebp - 0x1270]
add edx, 1
mov dword [ebp - 0x1270], edx
cmp dword [ebp - 0x1270], 3
jge 0x457ed3
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x1270]
mov dword [ebp - 0x1c], eax
jmp 0x457ead
cmp dword [ebp - 0x1c], 0
jge 0x457ee1
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 0x457ef9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 3
mov dword [ebp - 0x1274], 0xffffffff
mov dword [ebp - 0x1278], 0
jmp 0x457f25
mov edx, dword [ebp - 0x1278]
add edx, 1
mov dword [ebp - 0x1278], edx
cmp dword [ebp - 0x1278], 2
jge 0x457f57
mov eax, dword [ebp - 0x1278]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x457f4c
mov edx, dword [ebp - 0x1274]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x457f16
mov dword [ebp - 4], 0xfffffffe
jmp 0x457f77
mov dword [ebp - 0x127c], 0
jmp 0x457f92
mov edx, dword [ebp - 0x127c]
add edx, 1
mov dword [ebp - 0x127c], edx
cmp dword [ebp - 0x127c], 0
jge 0x457fa9
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x127c]
mov dword [ebp - 0x1c], eax
jmp 0x457f83
cmp dword [ebp - 0x1c], 0
jge 0x457fb7
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 0x457fcf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1280], 0
jmp 0x457fea
mov edx, dword [ebp - 0x1280]
add edx, 1
mov dword [ebp - 0x1280], edx
cmp dword [ebp - 0x1280], 2
jge 0x458037
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x458019
mov eax, dword [ebp - 0x1280]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x458029
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], edx
jmp 0x458035
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1280]
mov dword [ebp - 0x1c], eax
jmp 0x457fdb
mov dword [ebp - 0x1284], 0
jmp 0x458052
mov ecx, dword [ebp - 0x1284]
add ecx, 1
mov dword [ebp - 0x1284], ecx
cmp dword [ebp - 0x1284], 1
jge 0x45809f
mov eax, dword [ebp - 0x1284]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x458081
mov eax, dword [ebp - 0x1284]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x458091
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], edx
jmp 0x45809d
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1284]
mov dword [ebp - 0x1c], eax
jmp 0x458043
mov dword [ebp - 0x1288], 0
jmp 0x4580ba
mov ecx, dword [ebp - 0x1288]
add ecx, 1
mov dword [ebp - 0x1288], ecx
cmp dword [ebp - 0x1288], 0
jge 0x458107
mov eax, dword [ebp - 0x1288]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4580e9
mov eax, dword [ebp - 0x1288]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4580f9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x1288]
mov dword [ebp - 0x1c], edx
jmp 0x458105
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x1288]
mov dword [ebp - 0x1c], eax
jmp 0x4580ab
mov dword [ebp - 4], 4
mov dword [ebp - 0x128c], 0xffffffff
mov dword [ebp - 0x1290], 0
jmp 0x458133
mov ecx, dword [ebp - 0x1290]
add ecx, 1
mov dword [ebp - 0x1290], ecx
cmp dword [ebp - 0x1290], 1
jge 0x458165
mov eax, dword [ebp - 0x1290]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x45815a
mov edx, dword [ebp - 0x128c]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x458124
mov dword [ebp - 4], 0xfffffffe
jmp 0x458185
mov dword [ebp - 0x1294], 0
jmp 0x4581a0
mov edx, dword [ebp - 0x1294]
add edx, 1
mov dword [ebp - 0x1294], edx
cmp dword [ebp - 0x1294], 3
jge 0x4581e1
cmp dword [ebp - 0x1c], 0
jge 0x4581b7
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 0x4581cd
mov dword [ebp - 0x1c], 0
push 0xfa
lea edx, [ebp - 0x1490]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
jmp 0x458191
mov dword [ebp - 4], 5
mov dword [ebp - 0x1494], 0xffffffff
mov dword [ebp - 0x1498], 0
jmp 0x45820d
mov eax, dword [ebp - 0x1498]
add eax, 1
mov dword [ebp - 0x1498], eax
cmp dword [ebp - 0x1498], 2
jge 0x45823f
mov eax, dword [ebp - 0x1498]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x458234
mov edx, dword [ebp - 0x1494]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4581fe
mov dword [ebp - 4], 0xfffffffe
jmp 0x45825f
mov dword [ebp - 0x149c], 0
jmp 0x45827a
mov edx, dword [ebp - 0x149c]
add edx, 1
mov dword [ebp - 0x149c], edx
cmp dword [ebp - 0x149c], 0
jge 0x4582c7
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 1
je 0x4582a9
mov eax, dword [ebp - 0x149c]
cdq
mov ecx, 5
idiv ecx
cmp edx, 4
jne 0x4582b9
nop
nop
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], edx
jmp 0x4582c5
mov eax, dword [ebp - 0x1c]
and eax, dword [ebp - 0x149c]
mov dword [ebp - 0x1c], eax
jmp 0x45826b
mov dword [ebp - 0x14a0], 0
jmp 0x4582e2
mov ecx, dword [ebp - 0x14a0]
add ecx, 1
mov dword [ebp - 0x14a0], ecx
cmp dword [ebp - 0x14a0], 3
jge 0x4582f9
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x14a0]
mov dword [ebp - 0x1c], edx
jmp 0x4582d3
cmp dword [ebp - 0x1c], 0
jge 0x458307
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 0x45831f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov edx, 1
test edx, edx
je 0x458359
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x14a4], eax
mov eax, dword [ebp - 0x14a4]
xor edx, edx
mov ecx, 7
div ecx
test edx, edx
jne 0x45834b
jmp 0x458359
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x14a4]
mov dword [ebp - 0x1c], edx
jmp 0x45831f
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14a8], 0
jmp 0x45837d
mov ecx, dword [ebp - 0x14a8]
add ecx, 1
mov dword [ebp - 0x14a8], ecx
cmp dword [ebp - 0x14a8], 0
jge 0x458394
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x14a8]
mov dword [ebp - 0x1c], edx
jmp 0x45836e
cmp dword [ebp - 0x1c], 0
jge 0x4583a2
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 0x4583ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14ac], 0
jmp 0x4583d5
mov edx, dword [ebp - 0x14ac]
add edx, 1
mov dword [ebp - 0x14ac], edx
cmp dword [ebp - 0x14ac], 4
jge 0x458422
cmp dword [ebp - 0x1c], 0
jge 0x4583ec
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 0x458402
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14b0], 0xfa
lea edx, [ebp - 0x14b0]
push edx
lea eax, [ebp - 0x16a8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x4583c6
mov dword [ebp - 0x16ac], 0
jmp 0x45843d
mov ecx, dword [ebp - 0x16ac]
add ecx, 1
mov dword [ebp - 0x16ac], ecx
cmp dword [ebp - 0x16ac], 1
jge 0x458454
mov edx, dword [ebp - 0x1c]
xor edx, dword [ebp - 0x16ac]
mov dword [ebp - 0x1c], edx
jmp 0x45842e
cmp dword [ebp - 0x1c], 0
jge 0x458462
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 0x45847a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b0], 0
jmp 0x458495
mov edx, dword [ebp - 0x16b0]
add edx, 1
mov dword [ebp - 0x16b0], edx
cmp dword [ebp - 0x16b0], 0
jge 0x4584ac
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16b0]
mov dword [ebp - 0x1c], eax
jmp 0x458486
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x4584be
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 0x4584d6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b4], 0
jmp 0x4584f1
mov edx, dword [ebp - 0x16b4]
add edx, 1
mov dword [ebp - 0x16b4], edx
cmp dword [ebp - 0x16b4], 2
jge 0x458508
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16b4]
mov dword [ebp - 0x1c], eax
jmp 0x4584e2
cmp dword [ebp - 0x1c], 0xffff0001
jge 0x45851a
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 0x458532
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x16b8], 0
jmp 0x45854d
mov edx, dword [ebp - 0x16b8]
add edx, 1
mov dword [ebp - 0x16b8], edx
cmp dword [ebp - 0x16b8], 0
jge 0x45859a
cmp dword [ebp - 0x1c], 0
jge 0x458564
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 0x45857a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x16bc], 0xfa
lea edx, [ebp - 0x16bc]
push edx
lea eax, [ebp - 0x18b8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
jmp 0x45853e
mov dword [ebp - 4], 6
mov dword [ebp - 0x18bc], 0xffffffff
mov dword [ebp - 0x18c0], 0
jmp 0x4585c6
mov ecx, dword [ebp - 0x18c0]
add ecx, 1
mov dword [ebp - 0x18c0], ecx
cmp dword [ebp - 0x18c0], 1
jge 0x4585f8
mov eax, dword [ebp - 0x18c0]
cdq
mov ecx, 0x25
idiv ecx
test edx, edx
jne 0x4585ed
mov edx, dword [ebp - 0x18bc]
movsx eax, byte [edx]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x4585b7
mov dword [ebp - 4], 0xfffffffe
jmp 0x458618
mov dword [ebp - 0x18c4], 0
jmp 0x458633
mov edx, dword [ebp - 0x18c4]
add edx, 1
mov dword [ebp - 0x18c4], edx
cmp dword [ebp - 0x18c4], 1
jge 0x45864a
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x18c4]
mov dword [ebp - 0x1c], eax
jmp 0x458624
cmp dword [ebp - 0x1c], 0
jge 0x458658
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 0x458670
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18c8], 0
jmp 0x45868b