Function at 0x401000
Capabilities:
Encode data using xor
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
lea edi, [ebp - 0x18]
lea esi, [ebp - 0x50]
mov dword [edi - 4], esp
mov dword [edi + 8], 0xffffffff
mov dword [edi + 4], 0x406a90
mov ecx, esi
mov eax, dword fs:[0]
mov dword [edi], eax
mov dword fs:[0], edi
push 0x3f
push 0x4401e0
call fcn.0040141e
mov dword [edi + 8], 0
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.00409392
add esp, 8
lea ecx, [ebp - 0x70]
call fcn.004014c8
lea ecx, [ebp - 0x50]
call fcn.004014c8
push 0x4401e1
push str.q2jweHHA.Spb
call fcn.004215b8
add esp, 8
mov esi, eax
test esi, esi
je 0x4013a8
lea edi, [ebp - 0x30]
push esi
push 1
push 8
push edi
call fcn.0042179b
add esp, 0x10
push esi
call fcn.004218c1
add esp, 4
cmp byte [edi], 0x67
jne 0x40137f
cmp byte [ebp - 0x2f], 0x36
jne 0x40137f
cmp byte [ebp - 0x2e], 0x5a
jne 0x40137f
cmp byte [ebp - 0x2d], 0x37
jne 0x40137f
cmp byte [ebp - 0x2c], 0x61
jne 0x40137f
cmp byte [ebp - 0x2b], 0x65
jne 0x40137f
cmp byte [ebp - 0x2a], 0x68
jne 0x40137f
cmp byte [ebp - 0x29], 0x72
jne 0x40137f
mov dword [ebp - 0x10], 0xffffffff
sub esp, 8
mov edi, 0x453be0
mov dword [esp], edi
mov dword [esp + 4], str.License_is_accepted_:__
call fcn.00401530
add esp, 8
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
push 0xa
call fcn.00402f68
movsx eax, al
mov ecx, esi
push eax
call fcn.00402e6e
mov ecx, esi
call fcn.004025b8
mov dword [ebp - 0x3c], 0xf
mov dword [ebp - 0x40], 0
mov byte [ebp - 0x50], 0
mov dword [ebp - 0x10], 1
push str.Enter_your_name:
push edi
call fcn.00401530
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
push 0xa
call fcn.00402f68
sub esp, 4
mov ecx, dword [ebp - 0x20]
movsx eax, al
mov dword [esp], eax
call fcn.00402e6e
mov ecx, dword [ebp - 0x20]
call fcn.004025b8
lea eax, [ebp - 0x50]
push eax
push 0x453cf0
call fcn.004035ba
add esp, 8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x58], eax
push eax
call fcn.00406e80
add esp, 4
mov esi, 0xf
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x3c], esi
cmova ecx, dword [ebp - 0x50]
push ecx
push eax
call fcn.00421950
add esp, 8
xor eax, eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x88], 0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
push str.Enter_your_serial_number:
push 0x453be0
call fcn.00401530
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
push 0xa
call fcn.00402f68
sub esp, 4
mov ecx, dword [ebp - 0x20]
movsx eax, al
mov dword [esp], eax
call fcn.00402e6e
mov ecx, dword [ebp - 0x20]
call fcn.004025b8
lea ecx, [ebp - 0x28]
push 0x3f
push 0x440258
call fcn.0040141e
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], 4
lea eax, [ebp - 0x68]
push ecx
push eax
call fcn.00409392
add esp, 8
lea ecx, [ebp - 0x68]
call fcn.004014c8
lea ecx, [ebp - 0x28]
call fcn.004014c8
lea eax, [ebp - 0x34]
mov dword [ebp - 0x10], 2
mov ecx, 0x453cf0
push eax
call fcn.004017c8
lea ecx, [ebp - 0x28]
push 0x3f
push 0x4401e0
call fcn.0040141e
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], 3
lea eax, [ebp - 0x60]
push ecx
push eax
call fcn.00409392
add esp, 8
lea ecx, [ebp - 0x60]
call fcn.004014c8
lea ecx, [ebp - 0x28]
call fcn.004014c8
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov al, 0x57
mov ebx, 8
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov ah, byte [edx]
add ah, cl
xor al, ah
inc edx
loop 0x4012ab
not eax
rol eax, 0x1e
not eax
rol eax, 0xec
or eax, ebx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x38]
jne 0x401313
mov dword [ebp - 0x10], 2
push 0x44025a
push 0x453be0
call fcn.00401530
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
push 0xa
call fcn.00402f68
sub esp, 4
mov ecx, dword [ebp - 0x20]
movsx eax, al
mov dword [esp], eax
call fcn.00402e6e
mov ecx, dword [ebp - 0x20]
call fcn.004025b8
jmp 0x401359
mov dword [ebp - 0x10], 2
push 0x44025e
push 0x453be0
call fcn.00401530
add esp, 8
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
push 0xa
call fcn.00402f68
sub esp, 4
mov ecx, dword [ebp - 0x20]
movsx eax, al
mov dword [esp], eax
call fcn.00402e6e
mov ecx, dword [ebp - 0x20]
call fcn.004025b8
lea ecx, [ebp - 0x88]
call fcn.004019cc
lea ecx, [ebp - 0x50]
call fcn.004019cc
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
xor eax, eax
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], 0xffffffff
push str.License_not_accepted_:__
push 0x453be0
call fcn.00401530
add esp, 8
push eax
call fcn.0040179b
add esp, 4
push 0
call fcn.00421cde
mov dword [ebp - 0x10], 0xffffffff
push str.No_license
jmp 0x40138b