Function at 0x405d75
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push edi
push esi
push ebx
mov dword [ebp - 4], eax
mov eax, 0x13
cmp cl, 0
jne 0x405d6b
mov eax, dword [ebp + 0xc]
cmp eax, 2
jge 0x405d61
mov eax, 2
cmp eax, 0x12
jle 0x405d6b
mov eax, 0x12
mov dword [ebp + 0xc], eax
push eax
mov eax, 0x270f
cmp byte [edx + 0x6e621eb1], 0x81
out dx, eax
dec ebp
jb 0x405dc0
push edx
mov esi, 0x249f1164
xor esi, 0x36aeee33
pop edi
xor esi, edi
mov edx, esi
add esp, 0xfffffffc
mov dword [esp], edx
mov esi, 0x40007204
mov edx, 0x1a83800b
xor esi, edx
push esi
push 0x33337f50
mov ebx, 0x55d1f03e
pop edx
xor ebx, edx
pop edi
xor ebx, edi
pop ecx
xor ebx, ecx
mov ecx, ebx
dec ecx
mov eax, dword [ecx + 1]
mov edx, 0x60719804
jno 0x405e22
mov ecx, 0xa45a1
xor edx, ecx
mov ebx, 0x50829de4
xor edx, ebx
xor edx, 0x5b8eee76
mov ebx, 0x4dc81428
mov edi, 0x26bfba1f
xor edi, ebx
xor edx, edi
mov ebx, edx
mov ecx, ebx
add esp, 0xfffffffc
mov ebx, esp
mov dword [ebx], ecx
mov ebx, 0
mov esi, 0
xor ebx, esi
xor ebx, esp
xor edi, edi
add edi, ebx
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], edi
push 0x7a0d4002
mov ebx, 0x1a1d6083
pop edi
xor ebx, edi
mov esi, 0x14400044
mov edi, 0x9000810
xor esi, edi
xor ebx, esi
add esp, 0xfffffffc
add esp, 0xfffffffc
mov edi, esp
mov dword [edi], ebx
mov edi, 0x70376c60
xor edi, 0x60a7d73b
push edi
mov ecx, 0x38a1ff7b
xor ecx, 0x55616cb5
pop esi
xor ecx, esi
pop edx
xor ecx, edx
xor esi, esi
add esi, ecx
mov edi, 4
sub esp, edi
mov dword [esp], esi
push 0x48071fee
mov esi, 0x37de1e73
pop edx
xor esi, edx
mov edx, 0x7fd9919d
xor esi, edx
mov ebx, 0x1b3feaf
xor ebx, 0x78411326
push ebx
mov edi, 0x71d06188
mov ebx, 0x8228201
xor edi, ebx
pop ecx
xor edi, ecx
xor esi, edi
push esi
pop ebx
mov ecx, 0xfffffffc
add esp, ecx
mov dword [esp], ebx
mov ebx, 0xd00220
mov ecx, 0x3c001
xor ebx, ecx
mov edi, 0x4987d896
xor ebx, edi
xor ebx, 0x2991884e
mov edi, ebx
push edi
mov edi, 0x30eeaf24
mov esi, 0x70ee2fc4
xor esi, edi
mov edi, 0x5553720
mov ecx, 0x25d03539
xor ecx, edi
xor esi, ecx
pop edx
xor esi, edx
mov ecx, 4
sub esp, ecx
mov ebx, 0
xor ebx, esp
mov dword [ebx], esi
call eax
pop esi
mov edi, 0x10061250
mov edx, 0xfc84501
xor edi, edx
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0x3699b79d
and edi, 0xc9664862
or edi, ecx
mov edx, edi
push edx
push 0x58f1b0c5
mov ecx, 0x7f5c8761
pop edx
xor ecx, edx
push 0x4d8c1ca5
mov eax, 0x4376c8e8
pop edi
xor eax, edi
xor eax, ecx
pop ebx
xor eax, ebx
mov ecx, 0x8192430
mov edx, 0x7205880
xor ecx, edx
push 0x330bf222
mov ebx, 0x3c32ccd9
pop edx
xor ebx, edx
xor ebx, ecx
push 0x25804fcb
mov ecx, 0x35d31b4a
pop edx
xor ecx, edx
mov edx, 0x43db8dad
mov esi, 0x53c8d1ac
xor esi, edx
xor esi, ecx
xor ebx, esi
mov edi, 0x3d3d7a19
xor edi, 0x59ef4e48
push 0x3181409e
mov esi, 0x55537c8e
pop ecx
xor esi, ecx
xor esi, edi
mov edi, 0x68141020
mov ecx, 0x11c00200
xor edi, ecx
mov edx, 0x6116365a
xor edx, 0x1882a0da
xor edx, edi
xor esi, edx
mov edx, eax
push edx
pop ecx
mov edx, 0x4bd85e30
mov edi, 0xb427a1cc
xor edx, edi
add esp, edx
mov dword [esp], ecx
mov ecx, 0x2964d974
mov edi, 0x2964d974
xor edi, ecx
xor edi, esi
add esp, 0xfffffffc
xor ecx, ecx
add ecx, esp
mov dword [ecx], edi
xor eax, eax
mov al, byte [ebx]
add esi, eax
mov al, byte [esi]
mov edi, 0x400d902
mov edx, 0x3001044c
xor edi, edx
mov edx, 0x32d8ac4c
xor edi, edx
xor edi, 0x2f9342a
push 0x9b60690c
mov ecx, 0x10e47948
pop edx
xor ecx, edx
xor edi, ecx
mov edx, esi
mov ecx, edx
or ecx, 0
je 0x405f8f
pop esi
mov byte [ebx], al
mov ecx, 0x4394bddf
mov edi, 0x6826713b
xor edi, ecx
mov ecx, edi
xor ecx, 0xffffffff
and ecx, 0x2bb2cce5
and edi, 0xd44d331a
or edi, ecx
sub ebx, edi
pop eax
mov edi, 1
mov ecx, 0
xor edi, ecx
sub eax, edi
cmp eax, 0
jne 0x405f8f
mov ecx, 0x6ce11525
xor ecx, 0x2cc9113f
mov edx, 0xdc7ae13
mov eax, 0x1cd72c32
xor eax, edx
xor ecx, eax
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], ecx
mov ebx, 0x30f35a4f
xor ebx, 0x2382047a
push ebx
mov esi, 0x337493d2
xor esi, 0x717d0c7b
pop eax
xor esi, eax
pop edi
xor esi, edi
call esi
pop edx
pop edx
ret