Function at 0x405a2d
Capabilities:
Encode data using xor

Disassembly:
xchg edi, edx
xor esi, ecx
not ebx
add ebx, 0x8eb1257f
rol eax, 0x15
xor dword [0x40b703], ecx
mov dword [0x40b3ed], edx
xor ebx, 0x3e8232cd
dec ecx
sub edx, 0x73d54e0b
xor dword [0x40b215], edx
add eax, 0x594532cd
sub edx, dword [0x40bae0]
rol edx, 0x13
or esi, dword [0x40be6f]
xor ebx, eax
add dword [0x40b2bb], edx
xor dword [0x40b4d9], esi
xor ebx, eax
ror edx, 0x13
sub eax, 0x594532cd
add edx, 0x73d54e0b
inc ecx
xor ebx, 0x3e8232cd
or dword [0x40b6ee], ecx
or dword [0x40b4b7], edi
ror eax, 0x15
add ebx, 0xac563fea
ror ebx, 0xc
not edi
inc edx
and dword [0x40b8a4], esi
mov dword [0x40b71a], ebx
xor esi, 0xc1233024
xor esi, ebp
xor eax, 0x4a2310b9
xor dword [0x40b770], 0x25afc7c
xchg ebx, edx
xor edi, dword [0x40bc5a]
ror edx, 7
xor edx, dword [0x40bcfd]
neg edx
dec esi
add esi, ecx
mov dword [0x40b4d8], edx
call fcn.0040724b
dec ebx
and dword [0x40b263], ecx
call fcn.00403dae
call fcn.0040372c
inc ebx
call fcn.00406608
sub dword [0x40b703], edx
sub esi, ecx
inc esi
neg edx
rol edx, 7
xchg ebx, edx
or dword [0x40b706], 0xe4f833e0
xor eax, 0x4a2310b9
xor esi, ebp
xor esi, 0xc1233024
and dword [0x40b5db], edx
or dword [0x40b3c6], ecx
dec edx
not edi
rol ebx, 0xc
push ebx
rol ebx, 2
or dword [0x40b215], 0x9cc3f414
xor ebx, 0x3b12e1a6
and dword [0x40b885], edx
xor esi, dword [0x40bcb8]
neg ecx
and dword [0x40b603], ecx
rol esi, 0x1f
or esi, dword [0x40bdcb]
and dword [0x40b6e0], eax
dec edi
sub edx, 0x87acf45f
add dword [0x40b7d5], esi
dec edx
and dword [0x40b29c], eax
call fcn.00408420
mov dword [0x40b820], ecx
not ecx
add ecx, dword [0x40ba51]
call fcn.00406ff9
not ecx
call fcn.00406608
inc edx
xor dword [0x40b4d3], ebx
add edx, 0x87acf45f
inc edi
ror esi, 0x1f
sub dword [0x40b4b9], ebx
neg ecx
and dword [0x40b351], edx
xor ebx, 0x3b12e1a6
or dword [0x40b6ad], 0xe21b9860
ror ebx, 2
push 0x57c16
xor eax, esi
sub ebx, ecx
call fcn.00408420
xor ebx, edx
add edi, dword [0x40be4a]
xor dword [0x40b4d2], edx
dec eax
add esi, 0x2ac67a71
add dword [0x40b473], edx
call fcn.00408420
sub ebx, 0x73eb4876
call fcn.00401da5
neg edx
xchg esi, edx
sub ecx, 0x8eaef5c1
sub dword [0x40b25e], esi
add ecx, 0x8eaef5c1
xchg esi, edx
neg edx
call fcn.00409071
add ebx, 0x73eb4876
and dword [0x40b3d4], ecx
sub esi, 0x2ac67a71
inc eax
and dword [0x40b782], ebx
xor ebx, edx
call fcn.004029aa
add ebx, ecx
xor eax, esi
mov edx, 0x50461bdb
add esi, eax
inc ecx
call fcn.004032c9
add edx, ebp
and dword [0x40b684], 0x1816de03
not eax
rol edi, 0x13
dec edx
sub dword [0x40b48f], eax
add esi, esp
sub dword [0x40b6ac], ebx
rol edi, 9
xchg esi, edx
ror edi, 0x1a
sub edx, dword [0x40bf2c]
not ebx
dec edx
or esi, dword [0x40bc6e]
and dword [0x40b492], edx
ror ecx, 9
rol ecx, 9
inc edx
not ebx
rol edi, 0x1a
xchg esi, edx
ror edi, 9
and dword [0x40b76e], eax
sub esi, esp
inc edx
ror edi, 0x13
not eax
xor dword [0x40b5b8], 0x8b68612d
sub edx, ebp
call fcn.004089b4
dec ecx
sub esi, eax
or edx, 0xbbed2bf5
neg esi
or edi, dword [0x40bc7b]
or dword [0x40b82f], eax
sub edi, eax
xor dword [0x40b276], esi
add eax, dword [0x40bf25]
xor ebx, dword [0x40bead]
xor esi, dword [0x40ba64]
xchg edx, esi
xor ecx, ebx
sub eax, dword [0x40bf5c]
call fcn.00409680
xor edx, 0xffea616d
mov dword [0x40b2a5], edi
call fcn.00402649
call fcn.0040418c
or dword [0x40b72e], ecx
xor edx, 0xffea616d
call fcn.00406d76
xor ecx, ebx
xchg edx, esi
sub dword [0x40b555], eax
add edi, eax
neg esi
sub edx, 0xfbef3bff
xor edx, 0x6101c8da
or ecx, dword [0x40ba37]
xor ebx, esi
call fcn.00409680
xor dword [0x40b509], eax
dec edi
call fcn.00402da7
xor esi, 0xec67e7c0
xchg ebx, edx
ror ecx, 7
call fcn.00407c9d
rol ebx, 0x19
call fcn.004039b5
rol eax, 0x1d
sub edx, dword [0x40bcfe]
xor ebx, ebp
or dword [0x40b419], ebx
ror esi, 9
call fcn.00408420
rol esi, 9
and dword [0x40b5d3], edx
xor ebx, ebp
ror eax, 0x1d
call fcn.00402649
ror ebx, 0x19
rol ecx, 7
xchg ebx, edx
xor esi, 0xec67e7c0
call fcn.004029aa
inc edi
mov dword [0x40b5ce], eax
call fcn.0040691c
xor ebx, esi
xor edx, 0x6101c8da
push edx
xor edi, 0xaad3d7a0
add esi, dword [0x40bbbe]
dec eax
sub edi, ecx
and dword [0x40b419], 0xe13b7e18
add eax, dword [0x40bcc2]
mov dword [0x40b68e], eax
sub dword [0x40b655], ecx
neg esi
xor edi, dword [0x40b9e3]
call fcn.004039b5
xchg eax, esi
inc ebx
call fcn.00408420
dec ebx
xchg eax, esi
neg esi
sub dword [0x40b3f5], ebx
mov dword [0x40b8d8], edx
xor dword [0x40b66d], 0x506d80be
add edi, ecx
inc eax
xor edi, 0xaad3d7a0
call eax
not esi
add edi, 0x41ead43b
sub dword [0x40b254], esi
inc eax
call fcn.0040856b
neg esi
inc ecx
sub esi, dword [0x40b962]
call fcn.0040372c
xor ebx, eax
add ebx, dword [0x40bd1e]
xchg edi, eax
call fcn.00408420
rol ebx, 4
not ebx
sub esi, dword [0x40b98b]
inc esi
xor ecx, ebp
and dword [0x40b870], edx
call fcn.00401f87
call fcn.00406608
xor ecx, ebp
dec esi
not ebx
ror ebx, 4
call fcn.00406608
xchg edi, eax
xor ebx, eax
call fcn.00406608
dec ecx
neg esi
call fcn.00406608
dec eax
sub edi, 0x41ead43b
not esi
lea esi, [0x8ac93662]
xor dword [0x40b6d1], edx
call fcn.004018fe
add edx, dword [0x40bf29]
or ecx, dword [0x40bf69]
xor edi, edx
inc esi
add dword [0x40b668], eax
inc esi
xor dword [0x40b216], eax
ror esi, 2
inc ebx
sub ebx, dword [0x40ba1a]
call fcn.00406608
not edi
inc eax
call fcn.00409680
add esi, dword [0x40bea2]
add edx, 0x98425070
sub ecx, edx
add ebx, dword [0x40bd66]
add ecx, edx
sub edx, 0x98425070
dec eax
not edi
call fcn.00404525
dec ebx
rol esi, 2
dec esi
and dword [0x40b52b], eax
dec esi
xor edi, edx
call fcn.00402da7
and dword [0x40b4c3], esi
add esi, 0x608b7dbd
xor edi, 0xbdaa11a0
xor ebx, 0xa0428f9b
xchg ecx, eax
sub eax, dword [0x40bd5b]
add esi, dword [0x40be72]
add dword [0x40b24f], edi
or dword [0x40b323], 0x345ccd0f
xchg ebx, edx
inc edi
neg esi
xchg eax, esi
xor edx, 0xd4f4c97d
call fcn.0040372c
call fcn.00406608
xor edx, 0xd4f4c97d
xchg eax, esi
neg esi
dec edi
xchg ebx, edx
sub dword [0x40b319], ebx
xchg ecx, eax
xor ebx, 0xa0428f9b
xor edi, 0xbdaa11a0
add esi, 0x14f3a5e1
or ecx, dword [0x40beea]
rol esi, 6
xor ecx, ebx
and dword [0x40b4b3], esi
xor ebx, ecx
xor eax, dword [0x40bc45]
mov dword [0x40b28f], 0x9a2ba79a
neg edi
sub esi, edi
add ebx, ebp
neg eax
call fcn.00407467
add edi, 0x518bf0e2
call fcn.004018fe
sub edi, 0x518bf0e2
call fcn.00406608
neg eax
sub ebx, ebp
add esi, edi
neg edi
and dword [0x40b7ca], 0x86d0e903
xor ebx, ecx
and dword [0x40b446], edi
xor ecx, ebx
ror esi, 6
mov edi, eax
xchg ebx, esi
add eax, dword [0x40bd88]
inc edi
neg esi
add esi, edi
inc esi
add esi, dword [0x40bacd]
xor eax, 0x8d4bd493
rol ecx, 0x13
call fcn.00408420
ror ecx, 0x13
xor eax, 0x8d4bd493
dec esi
sub esi, edi
neg esi
dec edi
xchg ebx, esi
mov ecx, 0x57c16
add dword [0x40b76d], 0xfa678fd6
mov dword [0x40b207], eax
xor esi, esp
sub esi, dword [0x40bc38]
call fcn.004029aa
xor ecx, dword [0x40b92e]
xor eax, ebx
xchg eax, edx
inc esi
not eax
add ebx, dword [0x40bd27]
inc ebx
mov dword [0x40b83b], eax
add ebx, 0xb47a139a
sub edx, 0xb3c46514
mov dword [0x40b528], edi
and dword [0x40b2dd], edx
add edx, 0xb3c46514
sub ebx, 0xb47a139a
mov dword [0x40b53f], esi
dec ebx
not eax
dec esi
xchg eax, edx
xor eax, ebx
call fcn.00406608
xor esi, esp
add dword [0x40b3a6], 0x385fff77
rep movsb byte es:[edi], byte [esi]
inc edi
or dword [0x40b419], esi
xor dword [0x40b6f4], esi
call fcn.00406ff9
rol ebx, 0x1f
xor edx, ebp
call fcn.004089b4
add ecx, 0xc4e94fd2
xor dword [0x40b89d], esi
sub dword [0x40b6bc], ecx
xor dword [0x40b6a0], ebx
ror edi, 0xb
or dword [0x40b68a], 0x93fdbdf
add ebx, esi
sub edi, dword [0x40b9d4]
add dword [0x40b787], edi
sub eax, dword [0x40bf33]
xor dword [0x40b6b9], eax
sub ebx, esi
rol edi, 0xb
add dword [0x40b43c], ebx
add dword [0x40b4b5], edi
mov dword [0x40b732], esi
sub ecx, 0xc4e94fd2
call fcn.00407c9d
xor edx, ebp
ror ebx, 0x1f
call fcn.00402649
or dword [0x40b3bd], eax
dec edi
call fcn.00407d27
add edi, dword [0x40bd40]
add esi, 0x51858345
xor edx, 0x606c1221
add edx, 0x59baa462
xor esi, 0xffed6db3
mov dword [0x40b6e7], edi
sub eax, dword [0x40b92a]
neg esi
xor edx, eax
not esi
sub esi, 0xd185ea83
add dword [0x40b6c8], eax
call fcn.00406608
add edx, esp
mov dword [0x40b31c], esi
call fcn.00406608
or ebx, dword [0x40bac8]
sbb al, 0xb3
inc eax
add al, ch
bound eax, qword [eax + eax]
add byte [ebx], cl
sbb eax, 0x40bac8
ror ecx, 7
sub dword [0x40b7a8], 0x75483b2b
call fcn.00404419
call fcn.00401da5
and dword [0x40b314], 0x83502ea4
rol ecx, 7
call fcn.00406608
xor dword [0x40b2be], ecx
sub edx, esp
call fcn.0040691c
or dword [0x40b56f], edi
add esi, 0xd185ea83
not esi
xor edx, eax
neg esi
mov dword [0x40b32b], edi
xor esi, 0xffed6db3
sub edx, 0x59baa462
xor edx, 0x606c1221
sub esi, 0x51858345
loopne 0x40619d
push esp
and al, 4
mov dword [esp], 0x432320
call fcn.004086ea
push edx
push edx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x28], 0x41
mov dword [esp], eax
call dword [sym.imp.SHELL32.dll_SHBrowseForFolderW]
push ecx
test eax, eax
je 0x4062cf
mov dword [esp], eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push ecx
mov dword [esp], ebx
call fcn.00408399
push edi
mov eax, dword [0x41b950]
mov eax, dword [eax + 0x11c]
test eax, eax
je 0x4062ad
add esi, 0xa800
cmp ebx, esi
jne 0x4062ad
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004086ea
push edi
push edi
mov dword [esp + 4], 0x432b80
mov dword [esp], 0x434b80
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push edx
push edx
test eax, eax
je 0x4062ad
mov dword [esp + 4], 0x434b80
mov dword [esp], ebx
call sub.KERNEL32.dll_lstrcatW
push ecx
push ecx
inc dword [0x432300]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x3fb
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_SetDlgItemTextW
sub esp, 0xc
jmp 0x4062d6
mov dword [ebp + 0xc], 0x40f
cmp dword [ebp + 0xc], 0x40f
je 0x4062ec
cmp dword [ebp + 0xc], 0x405
jne 0x406519
mov dword [esp + 4], ebx
mov dword [esp], 0x3fb
call fcn.00407ba6
push esi
push esi
mov dword [esp], ebx
call fcn.00408536
push edi
test eax, eax
sete al
movzx eax, al
mov dword [esp + 4], ebx
mov esi, eax
mov dword [esp], 0x431b00
call fcn.00408365
push eax
push eax
mov dword [esp], 1
call fcn.00408678
mov edi, eax
push edx
test eax, eax
je 0x4063a6
xor edx, edx
lea eax, [ebp - 0x38]
mov dword [ebp - 0x60], edx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x40]
mov dword [esp + 8], eax
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], 0x431b00
call edi
mov edx, dword [ebp - 0x60]
sub esp, 0x10
test eax, eax
je 0x40637b
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
shrd eax, edx, 0xa
shr edx, 0xa
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x40642b
test edx, edx
je 0x406384
mov word [edx], 0
mov dword [esp], 0x431b00
call fcn.00407c70
push edx
lea edx, [eax - 2]
mov word [eax], 0
mov word [eax - 2], 0x5c
cmp eax, 0x431b02
jne 0x406338
mov dword [esp + 4], ebx
mov dword [esp], 0x431b00
call fcn.00408365
push ecx
push ecx
mov dword [esp], 0x431b00
call fcn.00407ce2
push ebx
test eax, eax
je 0x4063ce
mov word [eax], 0
lea eax, [ebp - 0x38]
mov dword [esp], 0x431b00
xor ebx, ebx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x40]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
sub esp, 0x14
test eax, eax
je 0x406430
mov dword [esp + 8], 0x400
mov eax, dword [ebp - 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x48], eax
sar eax, 0x1f
sub esp, 0xc
mov dword [ebp - 0x44], eax
mov ebx, 1
mov dword [esp], 5
call fcn.00404e64
mov ecx, eax
push edx
test ebx, ebx
je 0x406458
mov edi, dword [ebp - 0x44]
cmp dword [ebp - 0x48], eax
mov edx, 0
mov eax, 2
sbb edi, edx
cmovb esi, eax
mov eax, dword [0x430aa0]
cmp dword [eax + 0x10], 0
je 0x4064cd
xor edi, edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0xfffffffb
mov dword [esp], 0x3ff
call fcn.00405a2d
sub esp, 0x10
test ebx, ebx
je 0x4064af
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [esp + 4], 0xfffffffc
mov dword [esp], 0x400
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00405a2d
sub esp, 0x10
jmp 0x4064cd
mov dword [esp + 8], 0x40c5de
mov dword [esp + 4], 0x400
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_SetDlgItemTextW
sub esp, 0xc
mov dword [0x419044], esi
test esi, esi
jne 0x4064e6
mov dword [esp], 7
call fcn.00403bd0
push ecx
mov esi, eax
mov eax, dword [ebp - 0x5c]
test byte [eax + 0x15], 4
mov eax, 0
cmovne esi, eax
xor eax, eax
test esi, esi
sete al
mov dword [esp], eax
call fcn.0040510d
push edx
or esi, dword [0x432300]
jne 0x406512
call fcn.004050ce
xor eax, eax
mov dword [0x432300], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00405169
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10