Function at 0x4085c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b0db2
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x576f24]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
lea ecx, [ebx + 0xc]
mov dword [ebp - 4], 0
mov dword [ebx], vtable.CMainWnd.0
call fcn.0040d2f0
lea esi, [ebx + 0x658]
mov byte [ebp - 4], 1
lea ecx, [esi + 0x768]
mov dword [ebp - 0x14], esi
mov dword [esi + 4], 0x4b8ba0
mov dword [esi + 0x128], 0x4b8ba8
call fcn.0040fc40
mov eax, dword [esi + 4]
mov dword [esi], vtable.CExpandDialog.0
mov edi, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [eax + esi + 4], vtable.CExpandDialog.1.0
mov eax, dword [esi + 0x128]
mov eax, dword [eax + 4]
mov dword [esi + eax + fcn.0040fef0], vtable.CMultiLangDialog.0
mov eax, dword [esi + 0x128]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x1b4]
mov dword [ecx + esi + 0x124], eax
mov dword [esi + 0x12c], 0
mov eax, dword [esi + 4]
mov dword [esi], vtable.CKeyDlg.0
mov eax, dword [eax + 4]
mov dword [eax + esi + 4], vtable.CKeyDlg.1.0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x764]
mov dword [ecx + esi], eax
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + 0x418], 0x4b693c
mov dword [esi + 0x468], 0x4b693c
mov dword [esi + 0x4b8], 0x4b693c
mov dword [esi + 0x508], 0x4b693c
mov dword [esi + 0x594], 0x4b694c
mov dword [esi + 0x614], 0x4b6958
mov dword [esi + 0x760], edi
mov dword [esi + 0x12c], 0
lea esi, [ebx + 0xdd8]
mov byte [ebp - 4], 2
lea ecx, [esi + 0x4c0]
mov dword [ebp + 8], esi
mov dword [esi + 4], 0x4b8b30
call fcn.0040fc40
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov dword [esi + eax + 4], vtable.CMultiLangDialog.0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x1b4]
mov dword [ecx + esi], eax
mov dword [esi + 8], 0
mov eax, dword [esi + 4]
mov dword [esi], vtable.CToolkitDlg.0
mov eax, dword [eax + 4]
mov dword [eax + esi + 4], vtable.CToolkitDlg.1.0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x4bc]
mov dword [ecx + esi], eax
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CLinkLabel.virtual_0], vtable.CLinkLabel.0
mov dword [esi + 0x4b8], edi
mov byte [ebp - 4], 3
lea esi, [ebx + 0x12b0]
lea ecx, [esi + 0x5c8]
mov dword [ebp + 8], esi
mov dword [esi], 0x4b8bdc
call fcn.0040fc40
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov dword [esi + eax], vtable.CMultiLangDialog.0
mov eax, dword [esi]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x1b4]
mov dword [ecx + esi - 4], eax
mov eax, dword [esi]
mov dword [esi + 4], 0
mov eax, dword [eax + 4]
mov dword [esi + eax], vtable.CMacroDlg.0
mov eax, dword [esi]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x5c8]
mov dword [ecx + esi - 4], eax
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CCustomButton.virtual_0], vtable.CCustomButton.0
mov dword [esi + method.CMacroEdit.virtual_0], vtable.CMacroEdit.0
mov dword [esi + 0x1b0], edi
invalid
mov dword [esi + 0x3b8], 1
push 1
push edi
lea ecx, [ebx + 0x1890]
mov byte [ebp - 4], 4
call fcn.0040d850
pushal
pushfd
sub ebx, edx
shl esi, 7
dec eax
sub edi, esi
ror eax, 8
test ebx, edx
jo 0x408818
and esi, edi
xor edi, esi
test esp, edi
jo 0x4088cd
not esi
call fcn.0041d6e0
shl edx, 4
rol ebx, 7
shr esi, 0x19
xchg edx, edx
ror ebx, 0x1e
not esi
call fcn.00486ece
mov dword [0x58cbf1], edi
rol esi, 6
inc edi
or dword [0x58cd14], ecx
mov eax, 0x24538c84
mov word [ebx + 0x24], ss
not edx
call fcn.0040c2e6
and esi, edi
mov edx, edi
test esi, edx
jo 0x40886a
mov ecx, 0x6524d7
shr esi, 0xb
dec esi
call fcn.0041d6e0
rol eax, 1
not esi
call fcn.0040c2e6
xor edi, dword [0x576232]
shl eax, 0xa
push edi
add cl, al
loopne 0x40890a
inc edx
neg ebx
inc esi
loop 0x4088e4
add ebx, 0x30c6703e
xor ebx, eax
test eax, eax
jo 0x4088fb
invalid
mov eax, edi
mov ecx, 0x2e4c97
rol eax, 0x1b
xchg eax, eax
inc eax
call fcn.00424afb
shr edx, 0x12
call fcn.00486ece
ror eax, 0x1b
xchg esi, eax
test esp, 0x124f1331
jo 0x40898b
inc edx
dec edx
call fcn.0041d6e0
loop 0x408919
mov esi, eax
add edi, edx
cli
test edx, ebx
jb 0x408945
mov ecx, 0x16abb4
neg eax
xchg eax, eax
xor dword [0x58cc88], esi
rol eax, 0x13
shr ebx, 0xe
call fcn.00401100
inc eax
neg edi
rol eax, 0x12
mov dword [0x58cd1e], esi
inc eax
sub esi, dword [0x572164]
xchg esi, eax
mov edx, dword [0x571c44]
loop 0x40894f
mov esi, 0xa8d7846
or esi, edi
neg esi
xor esi, eax
dec eax
sub dword [0x58cd3c], 0x13187d7b
add ecx, esi
and esi, edi
xor esi, 0x92ecac1
push 0
neg edx
or dword [0x58cbc0], 0x308da3d0
ror ebx, 0xc
xor esi, 0x59686b0
neg eax
xchg ecx, edx
ror eax, 3
call fcn.00410440
add edx, edx
dec edi
xor ebx, eax
not eax
sub edx, ebp
xchg esi, eax
mov dword [0x58cc82], 0x186f0888
push 0x320033
mov dword [0x58cd37], 0x1becc736
xor ebx, ebx
xor dword [0x58cb9f], edx
xor ecx, dword [0x575e72]
dec eax
xor esi, dword [0x57a1fa]
xor esi, eax
call fcn.00486ece
neg esi
rol edx, 2
xor edx, edi
xchg esi, eax
mov dword [0x58cc14], 0xa3ec94a
add ecx, dword [str.File_m]
neg esi
mov dword [0x58cc08], esi
add dword [0x58cca9], ecx
mov dword [0x58cb9e], 0x1728dd5
call fcn.0040296d
xor dword [0x58cb88], edi
push 0x6c0065
sub ecx, dword [0x56fea0]
not esi
xchg eax, eax
inc esi
sub edi, ebx
call fcn.0041d6e0
xchg esi, eax
add ebx, ebp
call fcn.0040c2e6
not eax
call fcn.00403c3d
sub esi, dword [0x572890]
sub ecx, dword [0x571b15]
xor ecx, dword [0x56e9fc]
call fcn.00409afb
push 0x6e0072
xor dword [0x58cc7e], ecx
neg esi
add ecx, dword [0x56f550]
sub eax, eax
xor ecx, dword [0x57988c]
neg esi
mov dword [0x58cd6a], ecx
xor dword [0x58cca0], 0x5049ea
add edx, dword [0x5796de]
sub eax, 0xa31bcbc
sub ebx, dword [0x579c1c]
dec eax
xor esi, eax
sub ebx, ebp
add eax, 0x868aec2
mov dword [0x58cce8], ebx
xor dword [0x58ccca], ecx
push 0x65006b
sub esi, dword [0x56f508]
or dword [0x58cc28], 0x931e806
rol edx, 0x14
xor esi, eax
xor dword [0x58cc24], ebx
ror esi, 7
xor ebx, 0x9f8e4d0
or dword [0x58cc68], 0x6604bd5
call fcn.0040c2e6
ror eax, 1
sub edi, esi
xor edi, dword [0x56f3c5]
neg esi
xor eax, 0x511d6f4
inc esi
call fcn.0040296d
mov dword [0x58cb98], esi
push esp
rol eax, 0x11
xor edx, eax
sub ecx, dword [0x576ac0]
call fcn.00409afb
inc esi
add eax, 0x10ed6dfc
sub ecx, dword [0x56e0a8]
sub ebx, esi
xor dword [0x58cc26], 0x23e9a090
add edi, edx
mov dword [0x58cbf4], esi
call fcn.0041d6e0
not ecx
sub ebx, dword [str..VnTifani_HeavyH]
not esi
sub dword [0x58cc86], 0xd7ecf68
call fcn.0040c2e6
mov dword [0x58cbf2], edi
xor edi, dword [0x56ef90]
rol eax, 5
xor dword [0x58cd58], ecx
sub dword [0x58cc24], ecx
sub dword [0x58cc30], edx
call fcn.00404fe9
call fcn.00409afb
add dword [0x58cd30], 0x2731b213
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
neg ebx
xor ebx, esi
mov dword [0x58cc11], edx
sub eax, 0xac4fbb8
xor edx, eax
dec eax
mov dword [0x58cba2], 0x22d5eb02
ror esi, 4
add edx, dword [0x58cfa6]
adc eax, 0x58cfa6
xor ebx, dword [0x58cfd0]
iretd
pop eax
add byte [ebx], dh
or eax, 0x58cf66
add al, ch
inc ebp
invalid
invalid
push dword [ebx]
invalid
inc esi
invalid