Function at 0x405d35
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push edi
mov edx, 0x5a798d32
mov ecx, 0x18f277ba
xor ecx, edx
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x79ed7a61
and ecx, 0x8612859e
or ecx, edx
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], ecx
push 0x58064592
mov edi, 0x5a200ef9
pop edx
xor edi, edx
mov esi, 0x6857c64d
xor edi, esi
xor edi, 0x5157dca7
pop ebx
xor edi, ebx
mov eax, dword [edi]
mov esi, 0x4f73ece2
mov ecx, 0x7bc78281
xor ecx, esi
mov esi, 0x3ed9f109
xor ecx, esi
xor ecx, 0x373b5b24
mov esi, ecx
push esi
mov esi, 0x41810044
mov ecx, 0xc20a2a9
xor esi, ecx
mov ebx, 0x40d244a2
mov ecx, 0x30252201
xor ebx, ecx
xor ebx, esi
pop edx
xor ebx, edx
push ebx
pop ecx
add esp, 0xfffffffc
mov dword [esp], ecx
xor edx, edx
add edx, esp
xor ebx, ebx
add ebx, edx
mov edi, 0
xor edi, ebx
mov ecx, 4
sub esp, ecx
mov dword [esp], edi
mov edx, 0x10428880
mov esi, 0x3154006
xor edx, esi
push edx
push 0x578a9e6e
mov ebx, 0x2ec8207c
pop edi
xor ebx, edi
pop ecx
xor ebx, ecx
mov ecx, 0x26021085
mov edi, 0x704210
xor ecx, edi
xor ebx, ecx
mov edx, 0x3b53f437
xor ebx, edx
xor ebx, 0x7734d076
mov edx, 0xfffffffc
add esp, edx
push esp
pop ecx
mov dword [ecx], ebx
mov ebx, 0x705547f
xor ebx, 0x3078c7f
mov edx, 0x61082040
mov ecx, 0x8040502
xor edx, ecx
xor ebx, edx
xor edx, edx
add edx, ebx
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xffffffff
and edx, 0
or edx, ecx
and edx, 0x6d0e6942
and ebx, 0x92f196bd
or ebx, edx
mov ecx, 0
xor ecx, ebx
mov edx, 4
sub esp, edx
mov dword [esp], ecx
push 0x47d9f97f
mov edi, 0x657623d8
pop esi
xor edi, esi
mov ecx, 0x327165f3
xor edi, ecx
xor edi, 0x7f3a2303
mov ebx, 0x6755d249
xor ebx, 0x8f15e1e
xor edi, ebx
push edi
pop ecx
mov ebx, ecx
push ebx
call eax
pop edi
mov esi, 0x4506060
mov eax, 0x3001041b
xor esi, eax
push esi
mov esi, 0x11aaccd7
mov edi, 0x55a2e65d
xor edi, esi
pop edx
xor edi, edx
mov eax, edi
push eax
mov eax, 0x5200b231
xor eax, 0x52a96956
push eax
mov edi, 0x7fc37078
mov ecx, 0xf33e6cb
xor ecx, edi
pop esi
xor ecx, esi
pop ebx
xor ecx, ebx
mov ebx, 0x423ec31b
xor ebx, 0x1281821b
mov edi, 0x4bfaeaba
mov eax, 0x57aa5754
xor eax, edi
xor eax, ebx
mov edx, 0x5b08589a
mov ebx, 0x17a7c0b4
xor ebx, edx
xor eax, ebx
mov esi, 0x68395888
mov ebx, 0x4c40454
xor esi, ebx
push esi
mov edx, 0x21122244
mov ebx, 0x12081020
xor edx, ebx
pop edi
xor edx, edi
mov esi, edx
mov ebx, esi
xor ebx, 0xffffffff
and ebx, 0xffffffff
and esi, 0
or esi, ebx
and esi, 0x5fa73871
and edx, 0xa058c78e
or edx, esi
add esp, 0xfffffffc
xor esi, esi
add esi, esp
mov ebx, esi
mov edi, ebx
mov dword [edi], ecx
push 0x4df3a4c8
mov ebx, 0x4df3a4cc
pop esi
xor ebx, esi
sub esp, ebx
mov esi, esp
push esi
pop edi
mov dword [edi], edx
xor ecx, ecx
mov cl, byte [eax]
add edx, ecx
mov cl, byte [edx]
pop edx
mov byte [eax], cl
dec eax
pop ecx
mov edi, 0x6739d49e
mov ebx, 0x6739d49e
xor ebx, edi
push 0x15a07bb3
mov esi, 0x15a07bb2
pop edi
xor esi, edi
xor ebx, esi
sub ecx, ebx
cmp ecx, 0
jne 0x405f41
push 0x4f69baed
mov ecx, 0x7cd769f3
pop edi
xor ecx, edi
push 0x3a187057
mov esi, 0x116d8233
pop edi
xor esi, edi
xor esi, ecx
mov eax, 0x4e400092
mov ecx, 0x20004340
xor eax, ecx
push eax
mov edx, 0x41b9db7d
xor edx, 0x3772d849
pop edi
xor edx, edi
xor edx, esi
call edx
pop esi
pop esi
ret