Function at 0x412c5b
Capabilities:
Create process on windows
Encode data using xor

Disassembly:
push 0x1a8
mov eax, 0x43c583
call fcn.00416e03
xor ebx, ebx
mov dword [ebp - 0x48], ebx
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ecx
mov word [ebp - 0x48], ax
mov dword [ebp - 4], 1
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ecx
mov word [ebp - 0x30], ax
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 3
sub eax, ebx
je 0x412e13
sub eax, 1
je 0x412d98
sub eax, 1
je 0x412d1b
sub eax, 1
jne 0x412fe1
mov eax, dword [0x453ad4]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
jmp 0x412cdc
push ebx
push ebx
push 0x10
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x18]
call fcn.0041336b
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xd], 0
je 0x412cc4
push ecx
lea ecx, [ebp - 0x18]
call fcn.0041203e
mov esi, dword [0x453ad4]
mov ecx, 0x453ad4
push dword [esi + 4]
push ecx
call fcn.00413448
push dword [ebp - 0x18]
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [0x453ad8], ebx
call fcn.00415e0c
pop ecx
jmp 0x412fdf
cmp word [0x44a5ea], 0
lea edi, [ebp - 0xb0]
mov esi, 0x44a5dc
push 0x32
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
je 0x412d50
mov ecx, ebx
xor edx, edx
mov eax, ecx
div esi
add edx, 0x30
xor word [ebp + ecx*2 - 0xb0], dx
inc ecx
cmp ecx, 8
jl 0x412d39
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x48]
call fcn.00401be1
push 0xe
pop ecx
mov esi, 0x44a574
lea edi, [ebp - 0xf4]
rep movsd dword es:[edi], dword [esi]
push 0x32
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x30
xor word [ebp + ecx*2 - 0xf4], dx
inc ecx
cmp ecx, 0x1d
jl 0x412d76
lea eax, [ebp - 0xf4]
jmp 0x412e84
cmp word [0x44a5da], 0
lea edi, [ebp - 0xb8]
push 6
pop ecx
mov esi, 0x44a5c4
rep movsd dword es:[edi], dword [esi]
push 0x32
pop esi
je 0x412dce
mov ecx, ebx
xor edx, edx
mov eax, ecx
div esi
add edx, 0x30
xor word [ebp + ecx*2 - 0xb8], dx
inc ecx
cmp ecx, 0xc
jl 0x412db7
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00401be1
push 0xc
pop ecx
mov esi, 0x44a5ec
lea edi, [ebp - 0xec]
rep movsd dword es:[edi], dword [esi]
push 0x32
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x30
xor word [ebp + ecx*2 - 0xec], dx
inc ecx
cmp ecx, 0x19
jl 0x412df4
lea eax, [ebp - 0xec]
jmp 0x412e84
push 5
pop ecx
mov esi, str.SY_YP
lea edi, [ebp - 0xb8]
rep movsd dword es:[edi], dword [esi]
push 0x32
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x30
xor word [ebp + ecx*2 - 0xb8], dx
inc ecx
cmp ecx, 0xb
jl 0x412e2a
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x48]
call fcn.00401be1
push 0x2f
pop ecx
mov esi, 0x44a668
lea edi, [ebp - 0x1b4]
rep movsd dword es:[edi], dword [esi]
push 0x32
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x30
xor word [ebp + ecx*2 - 0x1b4], dx
inc ecx
cmp ecx, 0x5f
jl 0x412e67
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x30]
call fcn.00401be1
push 2
push ebx
push ebx
push 0x4126a5
push ebx
push 0x800e
push 0x8005
call dword [sym.imp.USER32.dll_SetWinEventHook]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x412fe1
mov esi, str._AW_4
mov dword [ebp - 0xa0], 0x3c
lea edi, [ebp - 0xac]
mov dword [ebp - 0x9c], 0x40
push 0x32
pop ecx
movsd dword es:[edi], dword [esi]
xorps xmm0, xmm0
push 5
movlpd qword [ebp - 0x7c], xmm0
movlpd qword [ebp - 0x74], xmm0
movsd dword es:[edi], dword [esi]
movlpd qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x98], ebx
movsw word es:[edi], word [esi]
mov esi, ebx
pop edi
xor edx, edx
mov eax, esi
div ecx
add edx, 0x30
xor word [ebp + esi*2 - 0xac], dx
inc esi
cmp esi, edi
jl 0x412ef5
cmp dword [ebp - 0x34], 8
lea eax, [ebp - 0xac]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x48]
cmovae eax, dword [ebp - 0x48]
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x30]
cmovae eax, dword [ebp - 0x30]
push ebx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jne 0x412fe1
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp dword [ebp - 0x68], 0
je 0x412fe1
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x64]
rep stosd dword es:[edi], eax
push ebx
push 0x2710
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push ebx
mov esi, eax
lea eax, [ebp - 0x64]
push ebx
push eax
call dword [sym.imp.USER32.dll_GetMessageW]
push esi
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
test eax, eax
je 0x412fd0
cmp dword [ebp - 0x60], 0x113
jne 0x412fba
cmp dword [ebp - 0x64], 0
jne 0x412fba
cmp dword [ebp - 0x5c], esi
je 0x412fd0
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x412f7d
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_UnhookWinEvent]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov bl, 1
lea ecx, [ebp - 0x30]
call fcn.004018bd
lea ecx, [ebp - 0x48]
call fcn.004018bd
mov al, bl
call fcn.00416db2
ret 4