Function at 0x419a10
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov dword [esp + 0x20], 0xa315ad00
mov dword [esp + 0x24], 0xa715a114
mov dword [esp + 0x28], 0xbb1ba512
mov dword [esp + 0x2c], 0xbf1bb903
mov dword [esp + 0x30], 0xb316bd10
mov dword [esp + 0x34], 0xb70cb115
mov dword [esp + 0x38], 0x8b3fb515
mov dword [esp + 0x3c], 0x8f3a8934
lea eax, [esp + 0x40]
mov word [esp + 0x40], 0x8d8c
mov dword [esp + 0x42], 0
mov dword [esp + 0x46], 0
mov dword [esp + 0x4a], 0
mov dword [esp + 0x4e], 0
mov dword [esp + 0x52], 0
mov dword [esp + 0x56], 0
mov dword [esp + 0x5a], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x3d
ja 0x419b0c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 0x20]
lea esi, [ecx + 0x186922c6]
mov edi, edx
not edi
or edi, esi
and esi, edx
add esi, edi
neg esi
add ecx, esi
add ecx, 0x186922c5
mov edx, ecx
xor edx, 0x95
and ecx, 0x15
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0x3e
jb 0x419ac0
lea edi, [esp + 0x8a]
lea ebx, [esp + 0x20]
mov edx, ebx
mov ecx, 8
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xaa]
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
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x419b40
cmp eax, 0xffffffdd
jge 0x419b57
mov eax, 0xffffffff
jmp 0x419b5a
add eax, 0x22
push eax
call fcn.00435440
add esp, 4
mov esi, eax
movzx ecx, word [edi]
test cx, cx
je 0x419b91
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 0x419b80
mov word [eax], 0
movzx ecx, word [esp + 0x8a]
test cx, cx
je 0x419bc1
lea edx, [esp + 0x8c]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x419bb0
mov word [eax], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 0xbbc9b9d9
mov dword [esp + 0x24], 0xbf93bdc0
mov dword [esp + 0x28], 0xc3b8c1d9
mov dword [esp + 0x2c], 0xc7a3c5b6
mov dword [esp + 0x30], 0xcbbdc9a8
mov dword [esp + 0x34], 0xcfbdcda1
mov dword [esp + 0x38], 0xd3fdd1a0
mov dword [esp + 0x3c], 0xd7f9d5ff
mov dword [esp + 0x40], 0xdb86d9fc
mov dword [esp + 0x44], 0xdfa9ddad
mov dword [esp + 0x48], 0xe392e1b9
mov dword [esp + 0x4c], 0xe795e5a7
mov dword [esp + 0x50], 0xeb9ce988
mov dword [esp + 0x54], 0xef94ed8d
mov dword [esp + 0x58], 0xf3bbf19a
mov dword [esp + 0x5c], 0xf7cbf596
mov dword [esp + 0x60], 0xfbf8f9dc
mov byte [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x5c
ja 0x419cf8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x20]
lea eax, [ecx + edx]
add eax, 0x82f3bc37
add ecx, 0x82f3bc37
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x7f
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x5d
jb 0x419cc0
lea eax, [esp + 0xc]
push eax
push 0x41a0e0
push ebx
push esi
call fcn.0041a800
add esp, 0x10
mov ebx, eax
mov eax, dword [0x4419f8]
mov ecx, 0xed95d6ee
xor ecx, dword [0x441a00]
add eax, ecx
inc eax
jmp eax