Function at 0x41bb49
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push 0x48
call fcn.004373a2
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x4ae158
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
jmp 0x41bbab
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0
cmp eax, ecx
jl 0x41bbd3
push 0xc2
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6b8
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 1
cmp eax, ecx
jl 0x41bc1c
push 0xf2
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6c0
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 2
cmp eax, ecx
jl 0x41bc65
push 0x122
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6c8
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 3
cmp eax, ecx
jl 0x41bcae
push 0x152
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6d0
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 4
cmp eax, ecx
jl 0x41bcf7
push 0x182
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6d8
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 5
cmp eax, ecx
jl 0x41bd40
push 0x1b2
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6e0
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 6
cmp eax, ecx
jl 0x41bd89
push 0x1e2
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6e8
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 7
cmp eax, ecx
jl 0x41bdd2
push 0x212
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6f0
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 8
cmp eax, ecx
jl 0x41be1b
push 0x242
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x6f8
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 9
cmp eax, ecx
jl 0x41be64
push 0x272
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x700
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0xa
cmp eax, ecx
jl 0x41bead
push 0x2a2
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x708
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0xb
cmp eax, ecx
jl 0x41bef6
push 0x2d2
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x710
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0xc
cmp eax, ecx
jl 0x41bf3f
push 0x302
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x718
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0xd
cmp eax, ecx
jl 0x41bf88
push 0x332
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x720
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0xe
cmp eax, ecx
jl 0x41bfd1
push 0x362
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x728
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
call fcn.00407ba8
mov eax, 0xf
cmp eax, ecx
jl 0x41c01a
push 0x392
push 0x4075a2c
push 1
call fcn.004373ba
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x1c], ebx
mov ebx, dword [0x50d061]
add ebx, 0x730
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x1c]
mov dword [ebx], eax
mov dword [ebp - 8], 0x3f
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push eax
mov eax, dword [ebp - 4]
add eax, 8
mov dword [ebp - 0xc], eax
pop eax
pushal
mov eax, dword [ebp - 0x14]
add eax, dword [ebp + 0xc]
and eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x14]
mov edx, eax
mov al, byte [eax]
mov ecx, dword [ebp - 0x18]
mov cl, byte [ecx]
xor al, cl
mov byte [edx], al
popal
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jne 0x41c069
jmp 0x41c0a8
mov ebx, dword [ebp - 4]
push ebx
call fcn.004373ae
add esp, 4
mov esp, ebp
pop ebp
ret 8