Function at 0x405d3e
Capabilities:
Encode data using xor

Disassembly:
inc eax
add byte [eax], al
mov esi, 0x8000
xor ecx, esi
mov edx, 0x663ef115
xor edx, 0x663ef135
xor ecx, edx
mov ebx, 0x400c124
mov esi, 0x11b51011
xor ebx, esi
mov edx, ebx
xor edx, 0xffffffff
and edx, 0x15f5c07d
and ebx, 0xea0a3f82
or ebx, edx
xor ecx, ebx
mov esi, ecx
sub esi, 0x15
mov eax, dword [esi + 0x15]
mov edi, 0x800100
mov ecx, 0x42401
xor edi, ecx
mov ebx, 0x2f4b295a
xor ebx, 0x260a394e
xor edi, ebx
add esp, 0xfffffffc
mov ecx, esp
mov dword [ecx], edi
mov ecx, 0x272c3bc6
xor ecx, 0x468acd88
mov edi, 0x6bc463fb
mov edx, 0x3a7a0a0
xor edx, edi
xor edx, ecx
pop esi
xor edx, esi
mov ebx, edx
mov edi, ebx
mov ebx, 4
sub esp, ebx
mov dword [esp], edi
mov esi, 0
mov ebx, 0
xor esi, ebx
xor esi, esp
mov ebx, 0xfffffffc
add esp, ebx
xor edi, edi
add edi, esp
mov dword [edi], esi
push 0x63061752
mov ecx, 0x4a49a47d
pop edx
xor ecx, edx
mov edx, 0x1349a165
xor ecx, edx
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], ecx
mov esi, 0x5810c0c4
mov ecx, 0x224e2428
xor esi, ecx
push 0x1006b02b
mov ebx, 0x505e46cd
pop ecx
xor ebx, ecx
xor ebx, esi
pop edi
xor ebx, edi
add esp, 0xfffffffc
mov edx, esp
mov ecx, edx
mov dword [ecx], ebx
mov edx, 0x36f9c926
xor edx, 0x32ebd90f
mov ecx, 0x8044010
mov esi, 0x20000400
xor ecx, esi
xor edx, ecx
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], edx
push 0x5c526506
mov edx, 0x250e0f17
pop ecx
xor edx, ecx
mov ebx, 0x29377b5a
xor ebx, 0x7c7ddb72
xor ebx, edx
pop edi
xor ebx, edi
push ebx
pop ecx
mov esi, ecx
push esi
mov ebx, 0x6907e34f
xor ebx, 0x414f204f
mov ecx, 0x5a1088de
xor ecx, 0x5b308c4d
xor ebx, ecx
mov edx, ebx
add esp, 0xfffffffc
mov dword [esp], edx
mov edx, 0x5d1898aa
mov edi, 0x6c5d2361
xor edi, edx
mov ecx, 0x186d6c58
xor edi, ecx
pop esi
xor edi, esi
mov ecx, 0xfffffffc
add esp, ecx
push esp
pop ebx
mov dword [ebx], edi
call eax
pop ecx
mov edi, 0x291fb0d1
mov esi, 0x18024105
xor esi, edi
mov edx, 0x26975684
xor edx, 0x355651b8
xor edx, esi
mov ecx, 0x294d50c
mov edi, 0x204820c1
xor ecx, edi
xor edx, ecx
mov esi, 0x40190b50
mov eax, 0x3c00040e
xor esi, eax
mov eax, 0x66f7b282
xor esi, eax
mov eax, esi
add esp, 0xfffffffc
mov dword [esp], eax
mov ebx, 0x64fc95bc
mov ecx, 0x7474d4b9
xor ecx, ebx
mov eax, 0x40000
mov esi, 0xa229820
xor eax, esi
xor ecx, eax
pop edi
xor ecx, edi
push 0x78314a47
mov eax, 0x7ca18935
pop ebx
xor eax, ebx
mov esi, 0x31bbac55
xor esi, 0x352bef93
xor esi, eax
mov edi, 0x2ac25339
xor edi, 0x2a825f31
push 0x57f07161
mov eax, 0x57f07160
pop ebx
xor eax, ebx
xor edi, eax
xor esi, edi
mov edi, 0x2edbf18e
xor edi, 0xd1240e72
add esp, edi
xor ebx, ebx
add ebx, esp
mov dword [ebx], edx
add esp, 0xfffffffc
mov eax, esp
push eax
pop edi
mov dword [edi], esi
xor edx, edx
mov dl, byte [ecx]
add esi, edx
mov dl, byte [esi]
pop esi
mov byte [ecx], dl
dec ecx
pop edx
mov edi, 0x10088400
mov ebx, 0x40222980
xor edi, ebx
mov eax, 0x96461863
xor edi, eax
xor edi, 0x39934a1c
add edx, edi
mov eax, edx
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], eax
pop edi
or edi, edi
jne 0x405f43
mov eax, 0x65080000
mov edi, 0x2207080
xor eax, edi
mov edx, 0x458201
mov edi, 0x122
xor edx, edi
xor eax, edx
mov esi, eax
push esi
push 0x5f277954
mov edx, 0x18ea698c
pop edi
xor edx, edi
push edx
mov edi, 0x5d2d1be7
mov ebx, 0x7dcd9949
xor ebx, edi
pop esi
xor ebx, esi
pop ecx
xor ebx, ecx
call ebx
pop ecx
pop ecx
ret