Function at 0x40b726
Capabilities:
Encode data using xor

Disassembly:
xor cl, byte [ecx - 0x367203b3]
ret
test edi, edi
je 0x40b6ab
in al, dx
inc eax
add dword [eax], eax
add byte [ebx - 0x75], dl
pop ebp
adc byte [ecx + 0x5756f44d], cl
test bl, 4
jne 0x334500fe
mov byte [ebp - 5], 0x8d
mov edi, dword [ebp + 0xc]
and ebx, 3
les ecx, [ebx + esi]
mov dword [ebp + 0x10], ebx
pop ebp
adc bh, bh
pop es
mov eax, dword [edi]
mov edx, dword [esi + 4]
mov ecx, dword [edx + eax*4]
cmp word [ecx], 0x6a
je 0x33450107
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x10], 0
mov byte [ebp - 6], 0
mov ecx, dword [eax]
mov eax, dword [0x4d256c]
cmp eax, dword [ecx + 0x53d6ff26]
jg 0xe8c4b729
and dword [esi], 0xf53d6ff
invalid
and dword [edi], edx
mov ecx, dword [esi + 4]
mov eax, dword [ecx + edx*4]
pop ecx
inc ebp
clc
push eax
xor ecx, dword [edi]
test dword [ecx], edi
dec esp
add al, 0x55
or al, 0xff
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x14], 0
mov ebx, dword [eax]
mov eax, dword [ebp + 0x10]
mov ecx, 0xe475dc5d
push dword [ebp - 0x7b]
mov dl, 2
add byte [ebx + 0x23803d83], cl
add byte [ebp - 0x487bf00a], al
add al, byte [eax]
mov eax, dword [eax - 0x37dc76c3]
ror byte [ecx], 0xa1
out dx, al
dec ecx
add al, 0x33
mov esi, dword [0x1d890084]
push esi
push ebx
call 0x4d63bbf6
add byte [eax + 0x2792444], cl
test byte [edx - 0x75], dh
sbb ecx, dword [ebp]
push 0x84026f84
jb 0x40b786
inc ecx
adc byte [ebx + 0x251479], cl
inc dword [eax - 0xfba7606]
mov dword [ebp - 0x14], edi
test edi, edi
je 0x72c4ba3b
mov eax, dword [ebp - 0x10]
test eax, 0x8b0001ff
jne 0xfa4503c3
test eax, 0x8b0004ff
jne 0x334501de
mov byte [ebp - 6], 1
mov ecx, dword [ebp + 0x10]
test cl, 1
je 0x40b894
cmp ecx, 1
jne 0x33450205
add byte [0x85002380], bh
test byte [edi], 0x84
sub byte [edx + 4], cl
xor eax, dword [eax - 0x37dc76c3]
ror byte [ecx], 0xa1
das
dec edx
add al, 0x33
mov esi, dword [0x1d890084]
push esi
push ebx
call 0xe8c4b7f6
add byte [eax + 0x1b002574], cl
dec ebp
add byte [edi + ebx - 0x75], dh
inc ecx
adc byte [0xfa80ff00], ah
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x14]
jne 0x40b8b6
je 0x40b891
test dword [ebp - 0x10], 0xf0c7745
test dword [ebp + 0x33044ae8], eax
mov ecx, dword [ebp + 0x10]
test cl, 2
jne 0x8b48ba9e
cmp byte [ebp - 5], 0
jne 0x33450297
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 8]
inc dword [edi]
mov edx, dword [edi]
aam 0xff
invalid
xchg ecx, eax
pop ecx
inc ebp
clc
push eax
dec esi
je 0x72c4bac4
mov eax, dword [ecx + edx*4]
pop ecx
inc ebp
clc
push eax
inc ecx
jne 0x8b48ba01
cmp byte [ebp - 5], 0
add byte [eax], al
mov al, 1
pop es
mov eax, dword [ecx + eax*4]
movsx eax, word [eax + 0xa]
seto ah
jne 0x334503b5
cmp byte [ebp - 6], 0
mov esi, dword [ebp - 0x14]
je 0x40b917
cmp esi, 0x4d2570
je 0x40b917
cmp dword [esi + 0xc], 4
je 0x33450310
mov ecx, esi
call 0x1840cfb6
push 0x4d2570
mov ecx, esi
call 0x72c500f6
mov eax, dword [ebp + 8]
mov edx, dword [edi]
aam 0x40
add al, 0x8d
or al, 0x90
mov eax, dword [ecx]
pop ecx
inc ebp
clc
push eax
dec esi
je 0x72c4bb97
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov ebx, dword [ebx + 8]
cmp edx, ebx
jae 0x4d63b9e3
lea esp, [esp]
jbe 0x40b979
movzx eax, word [esi + 8]
mov ecx, dword [edx + 4]
xor esi, dword [edx + edi - 0x75]
dec edx
add al, 0x4e
je 0x40b986
mov ecx, dword [edx + 4]
dec edi
je 0x40b978
cmp ax, 0x47
je 0x40b986
cmp ax, 0x48
je 0x40b978
cmp ax, 0x40
je 0x40b9df
cmp ax, 0x7f
je 0x40b9e3
jmp 0x40b97c
dec edi
mov dword [ebp - 0x1c], edi
inc edx
add ecx, 4
cmp edx, ebx
sal dword [edx - 0x3e], cl
jmp 0x40b9e3
inc edi
mov dword [ebp - 0x1c], edi
jmp 0x40b97c
pop ebp
mov esp, 0x7d8b9975
or byte [ebx - 0x34740ba3], cl
mov edi, dword [ebp + 8]
mov ebx, dword [ebp - 0xc]
mov ecx, ebx
push 0xffffffffffffffff
push dword [ebp - 0x14]
cmp eax, ebx
jg 0x237317e0
dec ebp
or ah, cl
js 0x334503ac
mov eax, dword [ebp + 8]
mov edx, dword [edi]
aam 0xff
invalid