Function at 0x405d3f
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebx, 0x1328bdc7
xor ebx, 0x915eb4b
mov edx, 0x2c8de0b7
mov esi, 0x36f02713
xor esi, edx
xor esi, ebx
push 0x189e994
mov edi, 0x189a994
pop ecx
xor edi, ecx
push 0x1ad69d1
mov ebx, 0x1ad6991
pop ecx
xor ebx, ecx
xor edi, ebx
xor esi, edi
mov ecx, esi
push ecx
pop edx
sub edx, 0xfffffffc
mov eax, dword [edx - 4]
mov edi, 0x1ed27318
xor edi, 0x6f4ed86a
push edi
push 0x4737f64a
mov edx, 0x540bd543
pop edi
xor edx, edi
pop esi
xor edx, esi
mov edi, edx
add esp, 0xfffffffc
mov dword [esp], edi
mov edx, 0x621d26ae
mov esi, 0x5600101
xor edx, esi
push 0x3a8b3504
mov ebx, 0x3f569ad0
pop esi
xor ebx, esi
xor ebx, edx
pop ecx
xor ebx, ecx
mov edi, 4
sub esp, edi
xor esi, esi
add esi, esp
mov dword [esi], ebx
mov edx, 0
mov ebx, 0
xor edx, ebx
xor edx, esp
mov edi, edx
mov ebx, edi
push ebx
mov ebx, 0x726ecd9f
mov esi, 0x2981d6ee
xor esi, ebx
mov ebx, 0x742c7899
xor esi, ebx
xor esi, 0x7b38bd2e
mov edi, esi
mov ebx, edi
mov edi, 0xf66edd04
xor ebx, edi
xor ebx, 0x99122fb
and ebx, 0x54fbde86
and esi, 0xab042179
or esi, ebx
mov edx, esi
mov ecx, edx
mov edx, 0xfffffffc
add esp, edx
mov dword [esp], ecx
mov esi, 0x1b0d8a13
mov ebx, 0x1b0d9813
xor ebx, esi
push 0x31795b94
mov edx, 0x31795b94
pop esi
xor edx, esi
xor ebx, edx
mov edx, 0x50680d0
mov esi, 0x18002900
xor edx, esi
mov ecx, 0x5277edb0
xor ecx, 0x4f71c860
xor ecx, edx
xor ebx, ecx
mov esi, ebx
mov edx, esi
mov edi, 0xfffffffc
add esp, edi
mov dword [esp], edx
push 0x16d202ae
mov ebx, 0xad4caae
pop esi
xor ebx, esi
mov edi, 0x4b4fd10c
xor edi, 0x6a1ff08d
xor ebx, edi
mov edi, 0x15b40643
xor edi, 0x28a2ffc2
xor ebx, edi
mov edi, ebx
mov ecx, edi
mov edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
call eax
pop esi
mov edi, 0x455fb9f1
mov edx, 0x70fd30dd
xor edx, edi
mov edi, 0x35a28a09
xor edx, edi
mov edi, 0x73cfc95d
xor edi, 0x22b4cde7
push edi
mov edi, 0x3a12a733
mov esi, 0x6b69a389
xor esi, edi
pop eax
xor esi, eax
xor edx, esi
push 0xe9003b2
mov esi, 0x4e9423f2
pop eax
xor esi, eax
mov eax, 0x5c1da7b5
mov edi, 0x449f25b4
xor edi, eax
xor esi, edi
push 0x66557901
mov eax, 0x2ddcd6a2
pop ecx
xor eax, ecx
push eax
mov ebx, 0x2693d167
xor ebx, 0x35dcb9bb
pop edi
xor ebx, edi
xor ebx, esi
mov ecx, 0x4e83dde4
xor ecx, 0x3dc57df2
push ecx
mov ecx, 0x9160ae0
mov edi, 0x7e0c41c3
xor edi, ecx
pop eax
xor edi, eax
mov ecx, 0x6251a204
xor ecx, 0x43723e37
push ecx
mov esi, 0x5979708b
xor esi, 0x7c468b26
pop eax
xor esi, eax
xor esi, edi
mov eax, 0x7d6e8b8
mov ecx, 0xf8291744
xor eax, ecx
add esp, eax
mov edi, esp
mov dword [edi], edx
mov ecx, esi
push ecx
pop edi
mov eax, 0x9c0ead3
xor eax, 0xf63f152f
add esp, eax
mov dword [esp], edi
xor edx, edx
mov dl, byte [ebx]
add esi, edx
mov dl, byte [esi]
mov edi, 0x2a1800e
mov eax, 0x30000341
xor edi, eax
mov eax, 0x3d15f370
mov ecx, 0xc04f096b
xor ecx, eax
xor ecx, edi
mov eax, esi
sub eax, 0
je 0x405f42
pop esi
mov byte [ebx], dl
mov ecx, 0x5c226d47
xor ecx, 0x5c226d47
mov edi, 0x21dc2e0a
xor edi, 0x21dc2e0b
xor ecx, edi
sub ebx, ecx
pop edx
mov edi, 0x32909cc4
xor edi, 0x31092108
push edi
mov edi, 0x17cdbe40
mov eax, 0x1454038d
xor eax, edi
pop ecx
xor eax, ecx
sub edx, eax
test edx, edx
jne 0x405f42
mov esi, 0x6785ca89
xor esi, 0x6f858213
mov ecx, 0x4beb7370
mov edx, 0x4a027110
xor edx, ecx
xor esi, edx
add esp, 0xfffffffc
mov eax, esp
mov dword [eax], esi
mov edi, 0x60250c04
mov eax, 0x10400001
xor edi, eax
mov edx, 0x79cc24e5
xor edi, edx
pop ebx
xor edi, ebx
call edi
pop ecx
pop ecx
ret