Function at 0x418fa0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
movsx eax, byte [0x4274dd]
movsx ecx, word [0x4274f8]
push ebx
push esi
push edi
push eax
push ecx
call fcn.0040c7b0
movsx edx, word [0x4274e8]
mov byte [0x4274dc], al
movsx eax, word [0x4274ec]
push edx
push eax
call fcn.0040c830
movsx cx, byte [0x4274e0]
movsx dx, byte [0x4274d8]
push 0x2b7ffff
push 0x43ebffff
mov word [0x4274f4], ax
mov word [0x4274f8], 1
mov byte [0x4274da], 0xff
add ecx, edx
mov word [0x4274f0], cx
call fcn.0040c8a0
mov ecx, dword [0x427514]
mov esi, dword [esp + 0x30]
mov dword [0x427520], eax
movsx eax, byte [0x4274dc]
push eax
mov byte [0x4274e0], 0xff
mov ebx, dword [esi]
push ecx
call fcn.0040c6e0
movsx eax, byte [0x4274d9]
mov dl, byte [0x4274fc]
neg dl
push 0x75e1ffff
push eax
mov byte [0x4274d8], dl
call fcn.0040c8e0
mov edx, dword [0x42750c]
mov word [0x4274e4], ax
mov ecx, dword [esi + 4]
push 0x73fdffff
push edx
mov dword [esp + 0x48], ecx
call fcn.0040c720
mov byte [0x4274da], al
movsx eax, word [0x427500]
push eax
xor edi, edi
push 0xd855ffff
mov word [0x4274f8], di
mov word [0x4274e4], 0xfffe
call fcn.0040c8a0
mov edx, dword [0x427524]
mov cl, byte [0x42750c]
push edx
neg cl
push 0xc23ffff
mov word [0x4274f0], ax
mov byte [0x4274d9], cl
call fcn.0040c830
mov word [0x427500], ax
mov eax, dword [esp + 0x60]
add esp, 0x40
cmp eax, edi
jle 0x419251
push ebp
mov ebp, dword [esp + 0x20]
nop
movsx eax, word [0x427504]
push 0x3f07ffff
push eax
call fcn.0040c720
movsx ecx, byte [0x4274df]
and ecx, 0x99d1ffff
mov word [0x427500], ax
inc bl
movzx eax, bl
mov dword [0x427510], ecx
mov ebx, dword [esi + eax*4 + 8]
push 0xfb3dffff
push 0x2ac1ffff
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
call fcn.0040c830
movsx edx, byte [0x4274db]
push 0x3a0bffff
push edx
mov dword [0x427528], eax
call fcn.0040c8a0
mov dword [0x427518], eax
movsx eax, byte [0x4274da]
push eax
push 0xfaffffff
call fcn.0040c760
mov dl, byte [0x4274df]
mov cl, byte [esp + 0x3c]
mov word [0x427504], ax
sub dl, byte [0x4274db]
movsx eax, byte [0x4274dd]
add cl, bl
movzx ebx, cl
push eax
push 0xf2dbffff
mov dword [esp + 0x44], ebx
mov dword [0x427510], 0xf5180000
mov byte [0x4274d9], dl
call fcn.0040c7b0
mov ecx, dword [esp + 0x38]
mov word [0x4274e8], ax
mov ebx, dword [esi + ebx*4 + 8]
mov dword [esi + ecx*4 + 8], ebx
movsx edx, word [0x4274ec]
movsx eax, byte [0x4274d8]
push edx
push eax
call fcn.0040c7f0
movsx ecx, byte [0x4274db]
movsx edx, word [0x427504]
push ecx
push edx
mov word [0x4274f4], ax
mov word [0x4274e4], 0xffff
call fcn.0040c7f0
mov ecx, dword [esp + 0x54]
mov byte [0x4274df], al
mov eax, dword [esp + 0x4c]
mov dword [esi + ecx*4 + 8], eax
movsx edx, byte [0x4274dd]
add edx, 0x3447ffff
add bl, al
mov dword [0x42751c], edx
mov dl, byte [edi + ebp]
movzx eax, bl
mov cl, byte [esi + eax*4 + 8]
xor dl, cl
mov byte [edi + ebp], dl
movsx edx, word [0x4274f8]
push 0x958fffff
push edx
call fcn.0040c7f0
mov ebx, dword [esp + 0x50]
mov word [0x4274f8], ax
mov al, byte [0x4274ec]
add esp, 0x40
mov byte [0x4274da], al
mov eax, dword [esp + 0x24]
inc edi
cmp edi, eax
jl 0x4190e0
pop ebp
mov dword [0x427518], 0xc003ffff
mov byte [0x4274da], 0
mov dword [esi], ebx
mov ecx, dword [0x427520]
push 0x42dbffff
push ecx
call fcn.0040c760
mov word [0x427504], ax
mov eax, dword [0x42752c]
push eax
push eax
call fcn.0040c7f0
mov edx, dword [esp + 0x28]
mov word [0x4274f0], ax
mov dword [esi + 4], edx
movsx eax, word [0x4274f8]
add esp, 0x10
imul eax, eax, 0x8d89ffff
pop edi
pop esi
mov dword [0x427528], eax
pop ebx
add esp, 8
ret