Function at 0x4241b8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa20
mov esi, esp
push 0x1000
call fcn.00409648
add esp, 4
mov dword [esi + 0x9c], eax
mov dword [esi + 0x810], 0x3d224ca
mov dword [esi + 0x814], 0x2576610d
mov word [esi + 0x818], 0xe9c8
mov dword [esi + 0x81a], 0
mov word [esi + 0x81e], 0
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0xf
ja 0x42426f
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x810]
add eax, 0xd91bc4ac
xor eax, ecx
mov dword [esi + 0x1fc], eax
mov eax, dword [esi + 0x1fc]
add al, 0xa4
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x810], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0x10
jb 0x424228
mov eax, dword [0x43c894]
mov dword [esi + 0x544], 0xd8beb496
mov dword [esi + 0x548], 0xcac8efef
mov dword [esi + 0x54c], 0xc6d0d4cb
mov dword [esi + 0x550], 0xd9d9ccd0
mov word [esi + 0x554], 0x8996
mov byte [esi + 0x556], 0xae
mov word [esi + 0x557], 0
mov byte [esi + 0x559], 0
mov dword [esi + 0xf8], 0
mov ecx, dword [esi + 0xf8]
cmp ecx, 0x15
ja 0x424321
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xf8]
mov edx, dword [esi + 0xf8]
movzx edx, byte [esi + edx + 0x544]
add ecx, 0xb936469a
xor ecx, edx
mov dword [esi + 0x1fc], ecx
mov ecx, dword [esi + 0x1fc]
add cl, 0xfe
mov edx, dword [esi + 0xf8]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0xf8]
mov ecx, dword [esi + 0xf8]
cmp ecx, 0x16
jb 0x4242d8
mov ecx, dword [0x43c890]
mov dword [esi + 0x1fc], 0xc6bc9f99
mov dword [esi + 0x200], 0xc4cc93fb
mov dword [esi + 0x204], 0x9d96bdfd
mov dword [esi + 0x208], 0xf18aab91
mov dword [esi + 0x20c], 0xe2f1f0fb
mov dword [esi + 0x210], 0xf4cbf2fe
mov dword [esi + 0x214], 0xbc5cfaf6
mov dword [esi + 0x218], 0xd6ed99b8
mov dword [esi + 0x21c], 0xedf98aba
mov dword [esi + 0x220], 0xe4eeb3ec
mov dword [esi + 0x224], 0xc99ce2ed
mov dword [esi + 0x228], 0x929d97e8
mov dword [esi + 0x22c], 0x82918c93
mov dword [esi + 0x230], 0x91859e92
mov dword [esi + 0x234], 0x23929686
mov dword [esi + 0x238], 0x8ae6dbc7
mov dword [esi + 0x23c], 0xf49d8083
mov dword [esi + 0x240], 0x82f0d3c2
mov dword [esi + 0x244], 0xc3928b8f
mov dword [esi + 0x248], 0xb4bdc8e8
mov dword [esi + 0x24c], 0xe1f9fdec
mov dword [esi + 0x250], 0xf1f0f3f2
mov dword [esi + 0x254], 0xc5e6f81e
mov dword [esi + 0x258], 0xfdd0dfc3
mov byte [esi + 0x25c], 0x1c
mov dword [esi + 0x260], 0
mov dword [esi + 0x25d], 0
mov dword [esi + 0x764], 0
mov edx, dword [esi + 0x764]
cmp edx, 0x67
ja 0x42449c
nop
mov edx, dword [esi + 0x764]
mov edi, dword [esi + 0x764]
movzx edi, byte [esi + edi + 0x1fc]
mov ebx, edx
and ebx, 0xf2438595
xor edx, 0xf2438595
lea edx, [edx + ebx*2]
xor edx, edi
mov dword [esi + 0xf8], edx
mov edx, dword [esi + 0xf8]
add dl, 0x17
mov edi, dword [esi + 0x764]
mov byte [esi + edi + 0x1fc], dl
inc dword [esi + 0x764]
mov edx, dword [esi + 0x764]
cmp edx, 0x68
jb 0x424448
movzx edx, byte [esi + 0x1fc]
mov ebx, dword [esi + 0x9c]
test dl, dl
je 0x4244d3
lea edi, [esi + 0x1fd]
mov ebx, dword [esi + 0x9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x4244c8
mov edi, ebx
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x4244f3
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x4244e8
mov ebx, edi
mov byte [edi], 0
movzx ecx, byte [esi + 0x544]
test cl, cl
je 0x424525
lea edx, [esi + 0x545]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424518
jmp 0x424527
mov edi, ebx
mov edx, edi
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x424543
inc eax
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x424538
mov edi, edx
mov byte [edx], 0
movzx eax, byte [esi + 0x810]
test al, al
je 0x424575
lea ecx, [esi + 0x811]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x424568
jmp 0x424577
mov edx, edi
mov dword [esi], edx
mov byte [edx], 0
push 0
call fcn.004367e8
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43f74c]