Function at 0x4197f3
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xf4
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x10], 0x9fe5d1d7
push 0x6c
mov ebp, edx
mov dword [esp + 0x38], ebx
mov word [esp + 0x18], 0xd09a
xor ecx, ecx
mov byte [esp + 0x1a], 0xce
mov edx, 0xff
pop esi
movzx eax, byte [esp + ecx + 0x10]
sub ax, si
and ax, dx
mov word [esp + ecx*2 + 0x50], ax
inc ecx
cmp ecx, 7
jl 0x419823
xor eax, eax
mov dword [esp + 0x10], 0x2f627e70
mov word [esp + 0x5e], ax
xor ecx, ecx
mov word [esp + 0x14], 0x7f35
mov byte [esp + 0x16], 0x79
mov al, byte [esp + ecx + 0x10]
xor al, 0x1b
movzx eax, al
mov word [esp + ecx*2 + 0x60], ax
inc ecx
cmp ecx, 7
jl 0x419856
xor eax, eax
mov dword [esp + 0x10], 0x7c7a6d6b
mov word [esp + 0x6e], ax
xorps xmm0, xmm0
push 0x6c
pop eax
mov byte [esp + 0x16], al
xor eax, eax
mov word [esp + 0x14], 0x3640
xor ecx, ecx
mov byte [esp + 0x17], 0x6a
movq xmm1, qword [esp + 0x10]
punpcklbw xmm1, xmm0
psubw xmm1, xmmword [str._b_b_b_b_b_b_b_b]
pand xmm1, xmmword [0x428f90]
movups xmmword [esp + 0x80], xmm1
mov dword [esp + 0x10], 0xded8cfc9
movaps xmm1, xmmword [0x429000]
mov dword [esp + 0x14], 0xc8ce8493
movq xmm0, qword [esp + 0x10]
pxor xmm1, xmm0
mov word [esp + 0x90], ax
xorps xmm0, xmm0
mov word [esp + 0xa4], ax
punpcklbw xmm1, xmm0
movups xmmword [esp + 0x94], xmm1
mov dword [esp + 0x10], 0xc9c2c4ce
mov dword [esp + 0x14], 0x89cec9ca
mov dword [esp + 0x18], 0xc4c7ccce
mov word [esp + 0x1c], 0xc0cf
movzx eax, byte [esp + ecx + 0x10]
sub ax, 0x5b
and ax, dx
mov word [esp + ecx*2 + 0xc0], ax
inc ecx
cmp ecx, 0xe
jl 0x419914
xor eax, eax
mov dword [esp + 0x10], 0x817f8784
mov word [esp + 0xdc], ax
xor ecx, ecx
mov dword [esp + 0x14], 0x82468b86
mov word [esp + 0x18], 0x878b
mov byte [esp + 0x1a], 0x86
movzx eax, byte [esp + ecx + 0x10]
sub ax, 0x18
and ax, dx
mov word [esp + ecx*2 + 0xa8], ax
inc ecx
cmp ecx, 0xb
jl 0x419956
mov esi, dword [0x42b9fc]
xor eax, eax
mov word [esp + 0xbe], ax
mov edx, esi
lea eax, [esp + 0x50]
mov dword [esp + 0x10], 0xc3ecf3ba
mov dword [esp + 0x38], eax
and edx, 0x39ce
lea eax, [esp + 0x60]
mov word [esp + 0x14], 0xf3ba
mov dword [esp + 0x3c], eax
sub edx, 0x48eb
lea eax, [esp + 0x80]
mov byte [esp + 0x16], 0xec
mov dword [esp + 0x40], eax
xor edi, edi
lea eax, [esp + 0x94]
mov dword [esp + 0x44], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x48], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x4c], eax
xor ecx, ecx
mov al, byte [esp + ecx + 0x10]
xor al, 0x9f
movzx eax, al
mov word [esp + ecx*2 + 0x70], ax
inc ecx
cmp ecx, 7
jl 0x4199e2
push dword [esp + edi*4 + 0x38]
xor eax, eax
or dl, 0xd3
mov word [esp + 0x82], ax
and esi, 0x214
lea eax, [esp + 0x74]
mov byte [0x42b9d7], dl
push ebp
push eax
mov word [0x42ba1c], si
call fcn.00422def
mov dx, word [0x42ba1c]
mov esi, eax
mov cl, dl
add esp, 0xc
and cl, 0xac
mov byte [0x42b9d7], cl
test esi, esi
je 0x419bab
mov cl, byte [0x42b9fc]
mov edx, 0xeeb55893
add cl, 0x43
mov byte [0x42b9d7], cl
xor ecx, ecx
push esi
inc ecx
call fcn.00415084
call eax
mov dx, word [0x42ba1c]
mov ecx, 0x17d1
sub dx, cx
mov ecx, 0xc4ba
or dx, cx
imul ecx, dword [0x42b9fc], 0x99f0920e
mov dword [0x42b9fc], ecx
cmp eax, 0xffffffff
je 0x419b88
mov dword [esp + 0x20], 0xc7cfc9eb
xor ecx, ecx
mov dword [esp + 0x24], 0xc08983c3
mov dword [esp + 0x28], 0xc08983df
mov dword [esp + 0x2c], 0xc08983df
mov byte [esp + 0x30], 0xdf
mov al, byte [esp + ecx + 0x20]
xor al, 0xac
movzx eax, al
mov word [esp + ecx*2 + 0xe0], ax
inc ecx
cmp ecx, 0x11
jl 0x419aba
push dword [esp + edi*4 + 0x38]
xor eax, eax
push dword [esp + 0x10c]
mov word [esp + 0x10a], ax
mov eax, 0xe8b3
and dx, ax
mov eax, 0x6e03
xor dx, ax
movzx ecx, dx
mov eax, ecx
mov word [0x42ba1c], dx
xor eax, 0x29a98fc8
or cl, 0x57
mov dword [0x42b9fc], eax
lea eax, [esp + 0xe8]
push ebx
push eax
mov byte [0x42b9d7], cl
call fcn.00422def
mov cl, byte [0x42ba1c]
mov ebx, eax
sub cl, 0x5a
add esp, 0x10
mov byte [0x42b9d7], cl
test ebx, ebx
je 0x419b84
movzx ecx, cl
mov eax, 0x76c8
add cx, ax
movzx edx, cx
mov word [0x42ba1c], cx
mov ecx, esi
lea eax, [edx + 0x568db448]
and dl, 0x89
mov byte [0x42b9d7], dl
mov edx, ebx
mov dword [0x42b9fc], eax
call fcn.0041dcc2
imul eax, dword [0x42b9fc], 0x50d7
push ebx
mov word [0x42ba1c], ax
call fcn.004056f0
pop ecx
mov ebx, dword [esp + 0x34]
movzx eax, byte [0x42b9d7]
mov ecx, 0x8309
xor ax, cx
push esi
mov word [0x42ba1c], ax
call fcn.004056f0
mov dx, word [0x42ba1c]
pop ecx
inc edi
cmp edi, 6
jae 0x419bbc
mov esi, dword [0x42b9fc]
jmp 0x4199e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf4
ret