Function at 0x40e000
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x194
mov eax, dword [0x44e3e4]
mov dword [esp + 0x114], 0xb18e878c
mov byte [esp + 0x118], 0
mov ecx, 0x85a6775d
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x7a5989b7]
mov esi, ecx
and esi, edi
mov ebx, esi
and ebx, 0x7d
mov ebp, esi
and ebp, 2
mov edx, esi
or edx, 0xfffffffd
inc edx
imul edx, ebx
or esi, 2
imul esi, ebp
add edx, edi
sub edx, esi
add edx, ecx
mov edi, 2
sub edi, edx
sub edi, edx
or edi, 0xfd
xor edx, 1
sub edx, edi
add dl, 0x2d
mov byte [esp + ecx + 0x7a5989b7], dl
inc ecx
cmp ecx, 0x85a67762
jne 0x40e030
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x14], 0x39ad3ba5
mov dword [esp + 0x18], 0x258e27aa
mov dword [esp + 0x1c], 0x21be23b8
mov dword [esp + 0x20], 0x2d7c2fb0
mov dword [esp + 0x24], 0x29be2b80
mov dword [esp + 0x28], 0x151617bc
mov byte [esp + 0x2c], 0
xor edx, edx
movzx ebx, byte [esp + edx + 0x14]
lea esi, [edx + 0xb]
mov edi, 0xf4
sub edi, edx
or esi, ebx
not ebx
or ebx, edi
and ebx, esi
add bl, 0xc9
mov byte [esp + edx + 0x14], bl
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
cmp edx, 0x19
jb case.default.0x40e106
lea edi, [esp + 0x14]
push ecx
push 0
push edi
call eax
mov ecx, 0x44e3ac
push eax
call fcn.0043dc40
movzx eax, al
jmp dword [eax*4 + 0x44894c]
xor ebx, ebx
jmp 0x40e611
push 0xf2ffbc90
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov esi, eax
jmp dword [0x448958]
mov eax, ebx
add esp, 0x194
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44896c]
movzx eax, al
jmp dword [eax*4 + 0x44897c]
jmp dword [0x448990]
mov eax, 1
jmp dword [eax*4 + 0x448994]
movzx ecx, word [esp + 0x14]
mov eax, 0x44e3e8
test cx, cx
je 0x40e691
mov edx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40e680
mov word [eax], 0
xor eax, eax
mov bl, 1
jmp dword [eax*4 + 0x448994]
mov eax, dword [case.0x40e106.23]
add ebp, 4
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ebp, 0x24
setne al
jmp dword [eax*4 + 0x448964]
lea esi, [esp + 0x114]
push esi
push dword [ebp + 0x4469a4]
call fcn.0043a700
add esp, 8
push 0
push esi
push 0x80
push edi
call fcn.0040e960
add esp, 0x10
push edi
call fcn.0040ebe0
add esp, 4
lea esi, [esp + 0x114]
push esi
push dword [ebp + 0x4469a4]
call fcn.0043a700
add esp, 8
push 0
push esi
push 0x80
push edi
call fcn.0040e960
add esp, 0x10
push edi
call fcn.0040ebe0
add esp, 4
jmp dword [0x448974]
push 0xf13635ff
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3dc], eax
push 0x8040f1d2
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3e0], eax
xor ebx, ebx
lea eax, [esp + 0x16]
mov dword [esp], eax
xor eax, eax
cmp ebx, 0x24
setne al
xor ebp, ebp
jmp dword [eax*4 + 0x448964]
mov eax, dword [0x4489b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [0x44e3b4], esi
push 0x5c21b65e
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3b8], eax
push 0xc2eb3b71
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3bc], eax
push 0xa645cf1f
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3c0], eax
push 0xf379b9d8
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3c4], eax
push 0xd225aa76
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3c8], eax
push 0xa373434b
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3cc], eax
push 0xce21043e
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3d0], eax
push 0x7eecc3d7
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3d4], eax
push 0x2c692ac4
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3d8], eax
mov dword [0x44e3b4], esi
push 0x5c21b65e
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3b8], eax
push 0xc2eb3b71
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3bc], eax
push 0xa645cf1f
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3c0], eax
push 0xf379b9d8
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3c4], eax
push 0xd225aa76
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3c8], eax
push 0xa373434b
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3cc], eax
push 0xce21043e
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3d0], eax
push 0x7eecc3d7
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3d4], eax
push 0x2c692ac4
push dword [0x44e3ac]
call fcn.00441f60
add esp, 8
mov dword [0x44e3d8], eax
jmp dword [0x44895c]