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

Disassembly:
push 0x1a8
mov eax, 0x42205d
call fcn.0040f5c1
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 0x40d69e
sub eax, 1
je 0x40d623
sub eax, 1
je 0x40d5a6
sub eax, 1
jne 0x40d86c
mov eax, dword [0x431d74]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
jmp 0x40d567
push ebx
push ebx
push 0x10
push dword [eax + 0x10]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x18]
call fcn.0040dbf4
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xd], 0
je 0x40d54f
push ecx
lea ecx, [ebp - 0x18]
call fcn.0040c8c9
mov esi, dword [0x431d74]
mov ecx, 0x431d74
push dword [esi + 4]
push ecx
call fcn.0040dcd1
push dword [ebp - 0x18]
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [0x431d78], ebx
call fcn.0040e7e6
pop ecx
jmp 0x40d86a
cmp word [0x429f32], 0
lea edi, [ebp - 0xb0]
mov esi, 0x429f24
push 0x39
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 0x40d5db
mov ecx, ebx
xor edx, edx
mov eax, ecx
div esi
add edx, 0x38
xor word [ebp + ecx*2 - 0xb0], dx
inc ecx
cmp ecx, 8
jl 0x40d5c4
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040754d
push 0xe
pop ecx
mov esi, 0x42a624
lea edi, [ebp - 0xf4]
rep movsd dword es:[edi], dword [esi]
push 0x39
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x38
xor word [ebp + ecx*2 - 0xf4], dx
inc ecx
cmp ecx, 0x1d
jl 0x40d601
lea eax, [ebp - 0xf4]
jmp 0x40d70f
cmp word [0x42a692], 0
lea edi, [ebp - 0xb8]
push 6
pop ecx
mov esi, str.PHZRF
rep movsd dword es:[edi], dword [esi]
push 0x39
pop esi
je 0x40d659
mov ecx, ebx
xor edx, edx
mov eax, ecx
div esi
add edx, 0x38
xor word [ebp + ecx*2 - 0xb8], dx
inc ecx
cmp ecx, 0xc
jl 0x40d642
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040754d
push 0xc
pop ecx
mov esi, 0x42a5d4
lea edi, [ebp - 0xec]
rep movsd dword es:[edi], dword [esi]
push 0x39
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x38
xor word [ebp + ecx*2 - 0xec], dx
inc ecx
cmp ecx, 0x19
jl 0x40d67f
lea eax, [ebp - 0xec]
jmp 0x40d70f
push 5
pop ecx
mov esi, str._QHTQX
lea edi, [ebp - 0xb8]
rep movsd dword es:[edi], dword [esi]
push 0x39
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x38
xor word [ebp + ecx*2 - 0xb8], dx
inc ecx
cmp ecx, 0xb
jl 0x40d6b5
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040754d
push 0x2f
pop ecx
mov esi, 0x42a480
lea edi, [ebp - 0x1b4]
rep movsd dword es:[edi], dword [esi]
push 0x39
mov ecx, ebx
movsw word es:[edi], word [esi]
pop esi
xor edx, edx
mov eax, ecx
div esi
add edx, 0x38
xor word [ebp + ecx*2 - 0x1b4], dx
inc ecx
cmp ecx, 0x5f
jl 0x40d6f2
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x30]
call fcn.0040754d
push 2
push ebx
push ebx
push 0x40cf30
push ebx
push 0x800e
push 0x8005
call dword [sym.imp.USER32.dll_SetWinEventHook]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40d86c
mov esi, str.WI_U_
mov dword [ebp - 0xa0], 0x3c
lea edi, [ebp - 0xac]
mov dword [ebp - 0x9c], 0x40
push 0x39
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, 0x38
xor word [ebp + esi*2 - 0xac], dx
inc esi
cmp esi, edi
jl 0x40d780
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 0x40d86c
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp dword [ebp - 0x68], 0
je 0x40d86c
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 0x40d85b
cmp dword [ebp - 0x60], 0x113
jne 0x40d845
cmp dword [ebp - 0x64], 0
jne 0x40d845
cmp dword [ebp - 0x5c], esi
je 0x40d85b
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 0x40d808
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.00401751
lea ecx, [ebp - 0x48]
call fcn.00401751
mov al, bl
call fcn.0040f57f
ret 4