Function at 0x40b9c8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
add dword [0x43e2d0], 0x7d3bfdf3
and dword [0x43facc], 0x6eeebbbf
mov eax, dword [0x448420]
movzx ecx, word [0x433e74]
add eax, 0x691775a8
imul ecx, eax
mov word [0x433e74], cx
mov eax, dword [0x4432e8]
and eax, 0x50c181
or eax, 0xfb2a3c52
inc dword [0x4432e8]
cmp eax, 0x41a0547c
jne 0x40ba21
add dword [0x444634], 0x6f4128c4
mov eax, dword [ebp + 0xc]
push ebx
push esi
add eax, 4
push edi
push eax
call fcn.00408392
mov edi, dword [ebp + 8]
mov esi, eax
pop ecx
mov ecx, dword [0x43e300]
mov eax, 0x665faf9c
shl ecx, 6
sub eax, ecx
mov dword [ebp - 4], esi
add dword [0x4517b4], eax
mov eax, dword [0x4452d8]
sar eax, 4
imul eax, eax, 0x74f8dfb4
and dword [0x450b68], eax
add dword [0x43f3dc], 0xf7e7f730
mov al, byte [edi + section..data]
mov byte [esi], al
movsx eax, word [0x43b152]
and eax, 0x68285515
cmp eax, 0x41e7b53a
jne 0x40ba94
and dword [0x43f21c], 0x628411bd
jmp 0x40bacd
movsx eax, word [0x43ad08]
shl eax, 7
cmp eax, 0xed059644
jne 0x40bacd
mov ax, word [0x43a08e]
mov ecx, dword [0x443da0]
cwde
and ecx, eax
mov eax, dword [0x440890]
and ecx, 0x2083a23d
imul eax, ecx
mov dword [0x440890], eax
inc dword [0x443da0]
mov eax, dword [0x451aa8]
mov al, byte [eax + edi]
xor byte [esi], al
add dword [0x4476e0], 0xebb3f9fd
dec dword [0x43fdc4]
mov eax, dword [0x43fdc4]
mov ecx, dword [0x44e488]
imul ecx, eax
mov dword [0x44e488], ecx
imul eax, dword [0x447450], 0xeb65dedb
or eax, 0xce2a374a
cmp eax, 0x49fe86b9
je 0x40bb4b
inc dword [0x441f10]
mov ecx, dword [0x441f10]
mov eax, dword [0x44423c]
add ecx, 0xfe8a838a
and ecx, 0x8c7a3548
or eax, 0x18f3532e
cmp ecx, eax
jne 0x40bb3e
mov eax, dword [0x44e198]
jmp 0x40bb5e
dec dword [0x4422dc]
mov eax, dword [0x44c2c8]
jmp 0x40bb5e
mov eax, dword [0x449494]
and eax, 0x55a8d
shl eax, 0xa
sub dword [0x448738], eax
mov al, byte [edi + 0x42f001]
mov byte [esi + 1], al
mov ecx, dword [0x449714]
mov eax, dword [0x449f74]
and ecx, 0xa3f82d89
imul eax, ecx
mov dword [0x449f74], eax
mov eax, dword [0x451aa8]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
inc dword [0x4404ac]
mov eax, dword [0x4404ac]
movsx ecx, word [0x439398]
sub ecx, eax
movzx eax, word [0x43cd30]
xor eax, ecx
mov word [0x43cd30], ax
imul eax, dword [0x44a7b8], 0x153c10fd
mov dword [0x44a7b8], eax
mov dword [0x44107c], 0x260160d
cmp dword [0x443b38], 0x90f331d0
movzx eax, word [esi]
jg 0x40bbe4
xor dword [0x4411f4], 0x28bb2630
mov ebx, eax
lea eax, [ebx + 3]
push eax
lea eax, [edi + section..data]
push eax
push esi
call fcn.00408825
movsx eax, word [0x4354bc]
add esp, 0xc
mov ecx, dword [0x445020]
shl eax, 5
xor ecx, eax
movsx eax, word [0x4396d4]
xor eax, 0xb0fad8bf
cmp eax, ecx
jl 0x40bc62
cmp dword [0x44bc74], 0x64c8610
jge 0x40bc4e
mov ecx, dword [0x442634]
mov eax, dword [0x4483cc]
not ecx
add eax, 0x4b0e8803
add eax, ecx
movzx ecx, word [0x439a6a]
xor ecx, eax
mov word [0x439a6a], cx
jmp 0x40bc7d
movzx eax, word [0x43909e]
add eax, 0x3fd02259
mov word [0x43909e], ax
jmp 0x40bc7d
cmp dword [0x44731c], 0x8e5d915
jge 0x40bc7d
imul eax, dword [0x44e3cc], 0x22d9d61
mov dword [0x44e3cc], eax
dec word [0x438794]
lea edx, [esi + 3]
mov ax, word [0x438794]
add edx, ebx
cwde
imul eax, eax, 0x8515cbf6
xor eax, dword [0x441cb0]
mov dword [0x441cb0], eax
add dword [0x44d74c], 0x220891b
add edi, dword [0x451aa8]
xor dword [0x43f0cc], 0x2115506a
cmp esi, edx
je 0x40bd04
sub edi, esi
dec word [0x436d02]
mov ax, word [0x436d02]
movsx ecx, word [0x43a364]
shl ecx, 6
cwde
sub ecx, eax
xor ecx, 0xc43584fd
sub dword [0x442164], ecx
mov al, byte [edi + esi]
xor byte [esi], al
movzx eax, word [0x43c3a4]
imul eax, eax, 0x419e468f
inc esi
mov word [0x43c3a4], ax
cmp esi, edx
jne 0x40bcc1
mov eax, dword [0x447e34]
mov ecx, 0x71c6fc69
sub ecx, eax
mov eax, dword [0x45171c]
sub ecx, eax
add dword [0x4455b8], ecx
inc dword [0x45171c]
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x40bdf8
mov eax, dword [0x44be10]
imul eax, dword [0x44856c]
add eax, 0x3416ddb8
and dword [0x4469e0], eax
dec dword [0x44be10]
mov byte [edx], 0
cmp dword [0x44f204], 0x1801a305
jl 0x40bd80
movsx eax, word [0x4387d8]
movsx ecx, word [0x4353be]
imul eax, eax, 0x346616a1
and ecx, eax
or dword [0x4422fc], ecx
dec word [0x4353be]
mov ecx, dword [ebp + 0xc]
cmp dword [0x4485cc], 0x8812004b
je 0x40bda6
movsx eax, word [0x435e1c]
not eax
cmp eax, 0x2e8764f2
jge 0x40bda6
add dword [0x44197c], 0x11a04b98
mov edi, dword [edx - 3]
lea esi, [edx - 3]
and dword [0x44b704], 0x4fef1ded
sub ecx, ebx
mov eax, dword [0x450790]
and eax, dword [0x4452f4]
mov dword [0x450790], eax
inc word [0x438208]
mov ax, word [0x438208]
cwde
and eax, 0x64aa9a3c
mov dword [ebp + 0xc], ecx
cmp eax, 0xdb9962e6
je 0x40ba63
and dword [0x44dc98], 0x9600414
jmp 0x40ba63
and dword [0x447210], 0xf655bff8
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret