Function at 0x419a58
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x258
mov dword [0x46d48c], 0x79ad8f0d
cmp dword [0x45871c], 0
jne 0x419c7a
mov eax, 0x6d6a
mov word [0x464ce4], ax
or dword [0x478fb0], 0x3e3cfa2e
mov eax, dword [0x472814]
mov ecx, dword [0x47aabc]
add eax, 0xcd244293
add ecx, eax
mov dword [0x472814], ecx
inc dword [0x47aabc]
add dword [0x46b68c], 0xa4ca059f
dec dword [0x46a7c0]
mov eax, dword [0x46a7c0]
xor eax, 0xa627fc5e
or eax, dword [0x47f048]
cmp eax, 0x578f4df3
jl 0x4199b1
xor dword [0x474734], 0xa52e3e7a
push esi
push edi
lea eax, [esp + 8]
push eax
push 0x104
call fcn.00429400
add esp, 8
lea esi, [esp + 8]
imul eax, dword [0x4676ec], 0x56584b62
lea ecx, [esi + 1]
mov dword [0x4676ec], eax
jmp 0x4199e0
mov al, byte [esi]
inc esi
test al, al
jne 0x4199e0
and dword [0x47fddc], 0x22a45c10
sub esi, ecx
push 0x3e8
call dword [0x4588b4]
movzx eax, word [0x45f1fc]
lea edi, [esp + 8]
add edi, esi
add eax, 0x294d87fe
mov word [0x45f1fc], ax
cmp dword [0x46b9ec], 0x89e843f3
mov byte [edi], 0
je 0x419a3e
movsx eax, word [0x4629ac]
and eax, 0xc600ab8c
sub dword [0x46de48], eax
dec word [0x4629ac]
push dword [0x458738]
lea eax, [esp + 0xc]
push eax
call fcn.0042af40
xor dword [0x471a24], 0xc7ec5381
push 2
push 0x108c
call fcn.00422840
add dword [0x4760e8], 0x9bbdc000
mov esi, eax
lea eax, [esp + 0x18]
push esi
push eax
call fcn.0042af40
mov ecx, dword [0x474300]
sar ecx, 0xa
xor ecx, 0x80420040
and dword [0x46cdd0], ecx
push esi
push 2
call fcn.00429ff0
mov eax, dword [0x47c348]
add esp, 0x20
not eax
and eax, 0x40026812
cmp eax, 0x86c22481
jg 0x419acf
inc word [0x460788]
mov ax, word [0x460788]
movsx ecx, ax
mov eax, dword [0x47f980]
add eax, 0x925cffe2
add eax, ecx
mov dword [0x47f980], eax
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0xc]
push eax
call dword [0x45880c]
mov edx, dword [0x47c02c]
mov esi, eax
mov ecx, dword [0x465e94]
shl edx, 0xa
add ecx, 0x49d29378
add ecx, edx
cmp ecx, 0xa66112fc
je 0x419b3e
inc word [0x45bd3c]
mov ax, word [0x45bd3c]
cwde
or eax, 0x8f79deb4
cmp eax, 0x844a140
jle 0x419b3e
inc dword [0x476130]
mov eax, dword [0x476130]
movzx ecx, word [0x462182]
sub ecx, eax
sub ecx, 0x55b691e0
mov word [0x462182], cx
cmp esi, 0xffffffff
je 0x419c1d
inc dword [0x47a5b0]
mov eax, dword [0x47a5b0]
xor eax, 0xfe7be76d
or eax, 0xfc2aa569
cmp eax, 0x9bb076a5
jl 0x419b80
mov ax, word [0x45d0ce]
movsx ecx, ax
mov eax, dword [0x4768f8]
add eax, 0x4a16afd2
add eax, ecx
mov word [0x45d0ce], ax
mov edi, edi
add dword [0x4729f4], 0xe9702d7a
mov eax, dword [0x476d54]
sar eax, 5
mov byte [edi], 0
xor dword [0x47cd40], eax
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0xc]
push eax
call fcn.0042af40
mov eax, dword [0x46986c]
add esp, 8
sar eax, 8
or eax, 0xb4660a9a
add dword [0x47d8ac], eax
lea eax, [esp + 8]
push eax
call dword [0x4587fc]
mov eax, dword [0x47bed4]
mov ecx, 0x10ba6d34
sub ecx, eax
lea eax, [esp + 0x120]
add dword [0x47a2a0], ecx
push eax
push esi
call dword [0x458808]
test eax, eax
jne 0x419b80
mov ecx, dword [0x4744b0]
movsx eax, word [0x46141e]
sar ecx, 0xa
add eax, ecx
or dword [0x4788a0], eax
push esi
call dword [0x458804]
mov eax, 0xffffdf65
mov word [0x458e2e], ax
mov eax, dword [0x470274]
not eax
pop edi
pop esi
cmp eax, 0x49f41abf
je 0x419c39
add dword [0x472eec], 0xf24486c0
jmp 0x419c4b
movzx eax, word [0x4638aa]
add eax, 0x435e9194
mov word [0x4638aa], ax
push 0x118
lea eax, [esp + 4]
push 0
push eax
call fcn.0042cb10
movsx eax, word [0x461986]
add esp, 0xc
mov ecx, dword [0x472f48]
imul eax, eax, 0x95b51dec
or ecx, eax
sub dword [0x473e70], ecx
add esp, 0x258
ret