Function at 0x41a7c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov dword [esp + 0x10], 0x43fe4da9
mov dword [esp + 0x14], 0x47e141d3
mov dword [esp + 0x18], 0x3ba645e5
mov dword [esp + 0x1c], 0x3fae39f9
mov dword [esp + 0x20], 0x33f63dac
mov dword [esp + 0x24], 0x37a23191
mov dword [esp + 0x28], 0x2bcf3595
mov word [esp + 0x2c], 0x2928
mov dword [esp + 0x2e], 0
mov dword [esp + 0x32], 0
mov dword [esp + 0x36], 0
mov byte [esp + 0x3a], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x2a
ja 0x41a884
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
add al, 0xb6
xor al, byte [esp + ecx + 0x10]
add al, 6
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xac]
mov eax, dword [esp + 0xac]
cmp eax, 0x2b
jb 0x41a850
movzx ecx, word [esp + 0x10]
lea esi, [esp + 0x10e]
mov eax, esi
test cx, cx
je 0x41a8c1
lea eax, [esp + 0x10e]
lea edx, [esp + 0x12]
nop
nop
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 0x41a8b0
mov word [eax], 0
lea eax, [esp + 0x78]
push eax
push 0
push 0
push 0xe
push esi
push 0
call dword [0x443b14]
mov edi, dword [esp + 0x78]
test edi, edi
jns 0x41a8e9
mov eax, 0xffffffff
jmp 0x41a8ec
lea eax, [edi + edi]
push eax
call fcn.00430260
add esp, 4
mov ebx, eax
lea eax, [esp + 0x78]
push eax
push edi
push ebx
push 0xe
push esi
push 0
call dword [0x443b14]
mov dword [esp + 0x10], 0x1bca19bc
mov dword [esp + 0x14], 0xe745e545
mov dword [esp + 0x18], 0xe343e14b
mov dword [esp + 0x1c], 0xef43ed43
mov dword [esp + 0x20], 0xebeae95b
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xac]
cmp eax, 0x27
ja 0x41a9b7
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xac]
movzx edx, byte [esp + eax + 0x10]
lea eax, [ecx + edx]
add eax, 0x4163fefc
add ecx, 0x4163fefc
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x1c
mov ecx, dword [esp + 0xac]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xac]
mov eax, dword [esp + 0xac]
cmp eax, 0x28
jb 0x41a970
movzx ecx, word [esp + 0x10]
lea eax, [esp + 0xfa]
test cx, cx
je 0x41a9e1
lea edx, [esp + 0x12]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41a9d0
mov word [eax], 0
mov eax, dword [esp + 0x78]
mov ecx, eax
add ecx, 9
jns 0x41a9f8
mov eax, 0xffffffff
jmp 0x41a9fd
add eax, eax
add eax, 0x12
push eax
call fcn.00430260
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41aa31
lea edx, [ebx + 2]
mov eax, edi
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 0x41aa20
mov word [eax], 0
movzx ecx, word [esp + 0xfa]
test cx, cx
je 0x41aa61
lea edx, [esp + 0xfc]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41aa50
mov word [eax], 0
lea eax, [esp + 0xa4]
push 0x20
push 1
push 3
push 0x120089
push eax
push edi
call fcn.00434be0
add esp, 0x18
not eax
shr eax, 0x1f
mov eax, dword [eax*4 + 0x43d888]
mov ecx, 0xff220403
xor ecx, dword [0x43d890]
add eax, ecx
inc eax
jmp eax