Function at 0x419a60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov dword [esp + 0x10], 0xb339b512
mov dword [esp + 0x14], 0x8f01b13e
mov dword [esp + 0x18], 0x8b338d00
mov dword [esp + 0x1c], 0x87338933
mov dword [esp + 0x20], 0x83388522
mov dword [esp + 0x24], 0x9f3a8139
mov dword [esp + 0x28], 0x9b179d21
mov dword [esp + 0x2c], 0x9714992e
lea eax, [esp + 0x30]
mov word [esp + 0x30], 0x9596
mov dword [esp + 0x32], 0
mov dword [esp + 0x36], 0
mov dword [esp + 0x3a], 0
mov dword [esp + 0x3e], 0
mov byte [esp + 0x42], 0
mov dword [esp + 0x74], 0
mov ecx, dword [esp + 0x74]
cmp ecx, 0x32
ja 0x419b34
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x74]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0x4ac34c19
add ecx, 0x4ac34c19
and ecx, edx
add ecx, ecx
mov edx, ecx
not edx
and edx, esi
add edx, edx
xor ecx, esi
sub edx, ecx
add dl, 0x51
mov ecx, dword [esp + 0x74]
mov byte [esp + ecx + 0x10], dl
inc dword [esp + 0x74]
mov ecx, dword [esp + 0x74]
cmp ecx, 0x33
jb 0x419af0
mov ebx, dword [ebp + 8]
lea edi, [esp + 0x74]
lea edx, [esp + 0x10]
mov ecx, 8
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x94]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x419b70
cmp eax, 0xffffffdd
jge 0x419b87
mov eax, 0xffffffff
jmp 0x419b8a
add eax, 0x22
push eax
call fcn.00435d80
add esp, 4
mov esi, eax
movzx ecx, word [edi]
test cx, cx
je 0x419bc1
add edi, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x419bb0
mov word [eax], 0
movzx ecx, word [esp + 0x74]
test cx, cx
je 0x419bf1
lea edx, [esp + 0x76]
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 0x419be0
mov word [eax], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x10], 0x23b121b1
mov dword [esp + 0x14], 0x1fcb1da8
mov dword [esp + 0x18], 0x1b901981
mov dword [esp + 0x1c], 0x178b1596
mov dword [esp + 0x20], 0x139d1180
mov dword [esp + 0x24], 0xf9d0d89
mov dword [esp + 0x28], 0xbdd0998
mov dword [esp + 0x2c], 0x7d105df
mov dword [esp + 0x30], 0x3a601dc
mov dword [esp + 0x34], 0xff71fd8d
mov dword [esp + 0x38], 0xfb6af961
mov dword [esp + 0x3c], 0xf765f547
mov dword [esp + 0x40], 0xf37cf160
mov dword [esp + 0x44], 0xef64ed6d
mov dword [esp + 0x48], 0xeb53e962
mov dword [esp + 0x4c], 0xe723e576
mov dword [esp + 0x50], 0xe3e0e13c
mov dword [esp + 0x63], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x56
ja 0x419d15
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
add al, 0x5b
xor al, byte [esp + ecx + 0x10]
add al, 0x83
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x57
jb 0x419cf0
lea eax, [esp + 0x98]
push eax
push 0x41a040
lea eax, [esp + 0x18]
push eax
push esi
call fcn.0041a780
add esp, 0x10
mov ebx, eax
mov eax, dword [0x442e5c]
mov ecx, 0x4ad1327b
xor ecx, dword [0x442e64]
add eax, ecx
inc eax
jmp eax