Function at 0x405d63
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, 0x68
ljmp 0xa786
pop edi
pop esi
xor ecx, esi
mov edx, 0x265277cb
xor ecx, edx
xor ecx, 0x127c56fa
mov esi, ecx
push esi
mov esi, 0x7863071b
xor esi, 0x58a4d04b
push esi
mov edi, 0x51601eba
xor edi, 0x2336bdf
pop ecx
xor edi, ecx
pop ebx
xor edi, ebx
mov ebx, edi
push ebx
pop esi
mov ecx, 0x5ae3d1bd
mov ebx, 0xa51c2e42
xor ebx, ecx
add esi, ebx
mov eax, dword [esi + 1]
mov edi, 0x6e381854
xor edi, 0x6e381854
push 0x4779d38f
mov esi, 0x4779d38f
pop ebx
xor esi, ebx
xor edi, esi
mov esi, 0x3d202035
mov ecx, 0x3d202035
xor ecx, esi
push 0x6207822e
mov ebx, 0x6207822e
pop edx
xor ebx, edx
xor ecx, ebx
xor edi, ecx
mov esi, 0xfffffffc
add esp, esi
mov edx, esp
mov ebx, edx
mov dword [ebx], edi
mov edi, esp
push edi
pop esi
mov edi, 0x5b089bc4
xor edi, 0x5b089bc0
sub esp, edi
mov dword [esp], esi
mov edi, 0x5f9e6efb
mov esi, 0x4b246676
xor esi, edi
mov ecx, esi
xor ecx, 0xffffffff
and ecx, 0x14ba08cd
and esi, 0xeb45f732
or esi, ecx
mov ecx, 0x2f11ee37
xor ecx, 0x521f6186
push ecx
mov ebx, 0x58048720
mov edx, 0x250a0891
xor ebx, edx
pop edi
xor ebx, edi
xor esi, ebx
mov ecx, 0
xor ecx, esi
mov edi, 0xfffffffc
add esp, edi
mov dword [esp], ecx
mov edi, 0x5a1a1a9b
xor edi, 0x6c4207b5
push edi
push 0x1eaa6456
mov edx, 0x1595fa79
pop edi
xor edx, edi
pop esi
xor edx, esi
mov edi, edx
add esp, 0xfffffffc
mov dword [esp], edi
mov ebx, 0x2bee5997
xor ebx, 0x22894997
mov edx, 0xd00
mov esi, 0x34000001
xor edx, esi
xor ebx, edx
pop ecx
xor ebx, ecx
push ebx
pop edx
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], edx
push 0x10c5d36e
mov edx, 0x60118ac0
pop ebx
xor edx, ebx
mov ecx, 0x257b1be5
xor edx, ecx
xor edx, 0x55ef424b
mov edi, 0x5ccdba17
xor edi, 0x5ccdaa17
push 0x1602d3c7
mov ebx, 0x1602d3c7
pop ecx
xor ebx, ecx
xor edi, ebx
xor edx, edi
mov ebx, 4
sub esp, ebx
mov esi, 0
xor esi, esp
mov dword [esi], edx
call eax
pop edi
mov esi, 0xa12420e
mov ecx, 0x803001
xor esi, ecx
push 0x626e681e
mov ebx, 0x68fc1830
pop eax
xor ebx, eax
xor ebx, esi
mov edx, 0
mov ecx, 0x104
xor edx, ecx
mov esi, 0x4c0a7ecc
xor esi, 0x4c0a7ecc
xor edx, esi
xor ebx, edx
push 0x2af1ffe
mov ecx, 0x4b0be8d3
pop edi
xor ecx, edi
push ecx
mov edx, 0x603104
mov edi, 0x49848229
xor edx, edi
pop eax
xor edx, eax
mov edi, 0x42ac944d
mov ecx, 0xae013b2
xor ecx, edi
mov esi, 0x800a024
mov edi, 0x404c06ca
xor esi, edi
xor esi, ecx
xor edx, esi
mov eax, 0x10101008
mov esi, 0x4a94024
xor eax, esi
push eax
push 0xe2c03ac
mov ecx, 0x2a2371de
pop esi
xor ecx, esi
pop edi
xor ecx, edi
mov esi, 0x748894
mov edi, 0x30822621
xor esi, edi
xor ecx, esi
push 0x2572bdb0
mov eax, 0x2572bdb0
pop esi
xor eax, esi
xor eax, ebx
mov edi, 0xfffffffc
add esp, edi
xor esi, esi
add esi, esp
mov dword [esi], eax
mov esi, ecx
mov eax, esi
mov edi, eax
mov eax, edi
push eax
xor ebx, ebx
mov bl, byte [edx]
add ecx, ebx
mov bl, byte [ecx]
pop ecx
mov byte [edx], bl
dec edx
pop ebx
push 0x24de51a2
mov edi, 0x24de51a3
pop eax
xor edi, eax
mov esi, 0
mov eax, 0
xor esi, eax
xor edi, esi
sub ebx, edi
cmp ebx, 0
jne 0x405f86
mov ecx, 0x2ef7710c
mov esi, 0x6b5d9be9
xor esi, ecx
mov ecx, esi
xor ecx, 0xffffffff
and ecx, 0x72b3c1ea
and esi, 0x8d4c3e15
or esi, ecx
mov ecx, esi
add esp, 0xfffffffc
mov dword [esp], ecx
push 0x3d0e7d50
mov ebx, 0xd9bcc87
pop ecx
xor ebx, ecx
mov ecx, 0x28a1450d
xor ebx, ecx
xor ebx, 0x2f6dbe38
pop eax
xor ebx, eax
call ebx
pop ecx
pop ecx
ret