Function at 0x419c2e
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x258
or dword [0x447474], 0x7d79fb8d
cmp dword [0x44810c], 0
jne 0x419f69
add dword [0x445a00], 0x5db5fffd
mov eax, dword [0x446110]
not eax
movsx ecx, word [0x441784]
imul ecx, eax
add dword [0x4471fc], ecx
mov eax, 0x9210981
add eax, dword [0x4438a8]
or eax, 0xbae625a
and dword [0x446ff8], eax
imul ax, word [0x441d58], 0x263c
mov word [0x441d58], ax
mov eax, dword [0x4447f4]
mov eax, dword [0x444ad4]
mov ecx, dword [0x445bcc]
dec ecx
mov dword [0x445bcc], ecx
and ecx, eax
xor dword [0x443980], ecx
sub esp, 8
lea ebx, [esp + 8]
mov dword [esp + 4], ebx
call fcn.0040c414
add esp, 8
mov eax, dword [0x44607c]
mov ecx, dword [0x444964]
imul ecx, eax
and ecx, 0x9416c5aa
mov eax, dword [0x446dac]
inc eax
mov dword [0x446dac], eax
movsx edx, word [0x442494]
and edx, eax
movsx eax, word [0x441598]
xor eax, edx
not eax
cmp ecx, eax
jne 0x419d07
and word [0x442e5c], 0x820a
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
mov ebp, eax
or dword [0x44476c], 0xde655ed3
push 0x3e8
call dword [0x441198]
or word [0x441446], 0x1e69
mov byte [esp + ebp], 0
mov eax, dword [0x4442b8]
sar eax, 6
xor eax, 0x8020802a
and dword [0x4466b8], eax
push dword [0x448124]
push ebx
call sub.msvcrt.dll_strcat
add esp, 8
mov ax, 0x8c80
sub ax, word [0x441f4c]
add word [0x442528], ax
push 2
push 0x167f
call fcn.004036ba
add esp, 8
mov edi, eax
mov ax, word [0x442372]
mov eax, 0xa30e6da9
and eax, dword [0x4438e8]
cmp eax, 0xbfdec25f
jl 0x419d9b
or dword [0x444190], 0x2473581a
push edi
push ebx
call sub.msvcrt.dll_strcat
add esp, 8
movsx eax, word [0x441f38]
add eax, 0xd202b3fa
cmp eax, 0x13e28882
jl 0x419dc4
or dword [0x444b74], 0x6b394757
jmp 0x419dcd
or word [0x442168], 0x8187
push edi
push 2
call fcn.004042a2
add esp, 8
mov eax, dword [0x4441a4]
cmp eax, 0xabf7ef1c
jl 0x419e0c
mov eax, dword [0x444408]
xor eax, 0xbc08e20b
mov ecx, dword [0x4458f4]
sar ecx, 9
imul ecx, ecx, 0xf9e6e480
add ecx, 0x682dd3a4
cmp eax, ecx
jl 0x419e0c
mov eax, dword [0x445640]
lea esi, [esp + 0x118]
push esi
push ebx
call dword [0x4410f8]
mov edi, eax
mov eax, dword [0x446fd0]
lea ecx, [eax - 1]
mov dword [0x446fd0], ecx
cmp eax, 0x200407
jg 0x419e50
mov eax, dword [0x4443c0]
dec eax
mov dword [0x4443c0], eax
mov ecx, 0xadcec595
and ecx, dword [0x446f5c]
or ecx, eax
xor dword [0x444218], ecx
cmp edi, 0xffffffff
je 0x419f0d
add dword [0x445fac], 0xde467c0b
mov eax, dword [0x445910]
inc eax
mov dword [0x445910], eax
or eax, 0x1f73d909
xor dword [0x444754], eax
mov byte [esp + ebp], 0
add word [0x441e3e], 0x360c
lea eax, [esp + 0x144]
push eax
push ebx
call sub.msvcrt.dll_strcat
add esp, 8
mov eax, dword [0x444934]
not eax
imul eax, dword [0x44390c]
imul eax, eax, 0xba891922
mov dword [0x44390c], eax
push ebx
call dword [0x4410e8]
mov dword [0x4446ec], 0xfe3fcf91
push esi
push edi
call dword [0x4410f4]
test eax, eax
jne 0x419e63
or dword [0x444db4], 0x46c020e4
push edi
call dword [0x4410f0]
movsx eax, word [0x441eb0]
sar eax, 2
and eax, 0x7dbf9646
mov ecx, 0xa51a7695
xor ecx, dword [0x4447b4]
cmp eax, ecx
jge 0x419f08
add dword [0x4441f0], 0x8a8ae66
jmp 0x419f0d
mov eax, dword [0x4461b4]
mov eax, dword [0x4438cc]
inc eax
mov dword [0x4438cc], eax
imul eax, eax, 0xd699908c
and eax, 0xb1438514
sub dword [0x44700c], eax
xor dword [0x444660], 0x6a110214
mov eax, dword [0x443844]
inc eax
mov dword [0x443844], eax
xor dword [0x446aa0], eax
xor eax, eax
mov byte [esp + eax], 0
inc eax
cmp eax, 0x118
jne 0x419f46
mov eax, 0x6cb3499a
add eax, dword [0x44532c]
imul eax, dword [0x4443fc]
mov dword [0x4443fc], eax
add esp, 0x258
pop esi
pop edi
pop ebx
pop ebp
ret