Function at 0x100260d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x7c
push ebx
push esi
mov ebx, dword [esp + 0x8c]
push edi
push ebp
mov esi, ebx
push ebx
call fcn.10038340
lea edi, [esp + 0x68]
add esp, 4
mov eax, dword [ebx]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movsx ecx, word [ebx + 0xe]
push ecx
mov edx, dword [ebx + 4]
push edx
xor esi, esi
call fcn.100382f0
mov dword [esp + 0x7c], esi
add esp, 8
mov ecx, dword [ebx + 8]
push ebx
imul ecx, eax
mov dword [esp + 0x7c], ecx
call fcn.10038340
mov ecx, dword [esp + 0x7c]
add esp, 4
mov word [esp + 0x38], si
lea eax, [ecx + eax + 0x44]
cdq
mov word [esp + 0x3a], si
sub eax, edx
mov word [esp + 0x3c], si
mov ecx, dword [ebx + 8]
mov dword [esp + 0x34], 0x9ac6cdd7
mov word [esp + 0x40], cx
mov dword [esp + 0x44], esi
mov word [esp + 0x42], 0x60
sar eax, 1
mov edi, eax
mov eax, dword [ebx + 4]
mov word [esp + 0x3e], ax
lea eax, [esp + 0x34]
xor si, word [eax]
add eax, 2
lea ecx, [esp + 0x48]
cmp eax, ecx
jb 0x1002616d
mov word [esp + 0x48], si
push 1
lea eax, [esp + 0x38]
push eax
call fcn.10038420
lea eax, [esp + 0x40]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x42]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x44]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x46]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x48]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x4a]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x4c]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x50]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x3c]
mov esi, dword [esp + 0x98]
add esp, 8
push 4
push eax
push esi
call fcn.100364d0
add esp, 0xc
mov ebp, eax
lea eax, [esp + 0x38]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x3a]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x3c]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x3e]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x40]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x42]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x44]
push 4
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x48]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add eax, ebp
cmp eax, 0x16
je 0x100262c2
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov ebp, 1
mov dword [esp + 0x2c], edi
mov word [esp + 0x22], 9
mov word [esp + 0x20], bp
lea eax, [edi + 0x24]
mov word [esp + 0x2a], bp
push ebp
lea ecx, [esp + 0x24]
mov dword [esp + 0x2a], eax
mov word [esp + 0x28], 0x300
mov word [esp + 0x34], 0
push ecx
call fcn.10038410
lea ecx, [esp + 0x2a]
add esp, 8
push ebp
push ecx
call fcn.10038410
lea ecx, [esp + 0x2c]
add esp, 8
push ebp
push ecx
call fcn.10038410
lea ecx, [esp + 0x32]
add esp, 8
push ebp
push ecx
call fcn.10038410
lea ecx, [esp + 0x38]
add esp, 8
push ebp
push ecx
call fcn.10038410
lea ecx, [esp + 0x2e]
add esp, 8
push ebp
push ecx
call fcn.10038420
lea ecx, [esp + 0x34]
add esp, 8
push ebp
push ecx
call fcn.10038420
lea ecx, [esp + 0x28]
add esp, 8
push 2
push ecx
push esi
call fcn.100364d0
lea ecx, [esp + 0x2e]
add esp, 0xc
mov ebp, eax
push 2
push ecx
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x24]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x26]
push 4
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x2a]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x2c]
push 4
push eax
push esi
call fcn.100364d0
add esp, 0xc
add ebp, eax
lea eax, [esp + 0x30]
push 2
push eax
push esi
call fcn.100364d0
add esp, 0xc
add eax, ebp
cmp eax, 0x12
je 0x100263e3
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
push ebx
push esi
call fcn.10026740
add esp, 8
test eax, eax
jle 0x100263fe
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
lea eax, [esp + 0x1c]
push 1
mov dword [esp + 0x1c], edi
push eax
mov word [esp + 0x24], 0xf43
call fcn.10038410
lea eax, [esp + 0x20]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x20]
add esp, 8
push 6
push eax
push esi
call fcn.100364d0
add esp, 0xc
cmp eax, 6
je 0x10026449
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov cx, word [ebx + 4]
xor edx, edx
mov ax, word [ebx + 8]
mov word [esp + 0x60], dx
mov word [esp + 0x5e], dx
mov word [esp + 0x5c], cx
mov word [esp + 0x5a], ax
mov word [esp + 0x58], dx
mov dword [esp + 0x4c], 0xcc0020
mov word [esp + 0x56], dx
push 1
mov word [esp + 0x58], cx
mov word [esp + 0x56], ax
mov word [esp + 0x54], dx
lea edx, [esp + 0x54]
push edx
call fcn.10038410
lea ecx, [esp + 0x5a]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x5c]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x5e]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x60]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x64]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x62]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x68]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x66]
add esp, 8
push 1
push ecx
call fcn.10038410
lea ecx, [esp + 0x54]
add esp, 8
push 1
push ecx
call fcn.10038420
lea ecx, [esp + 0x54]
add esp, 8
push 0x16
push ecx
push esi
call fcn.100364d0
add esp, 0xc
cmp eax, 0x16
je 0x10026540
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
lea eax, [esp + 0x70]
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x7a]
add esp, 8
push 1
push eax
call fcn.10038410
lea eax, [esp + 0x6c]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x70]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x74]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x7c]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x80]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x84]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x88]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x8c]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x90]
add esp, 8
push 1
push eax
call fcn.10038420
lea eax, [esp + 0x6c]
add esp, 8
push 0x28
push eax
push esi
call fcn.100364d0
add esp, 0xc
mov edi, dword [ebx]
cmp eax, edi
je 0x10026617
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
cmp word [ebx + 0xe], 0x18
je 0x10026651
push ebx
call fcn.10038340
add esp, 4
push eax
lea eax, [edi + ebx]
push eax
push esi
call fcn.100364d0
add esp, 0xc
mov edi, eax
push ebx
call fcn.10038340
add esp, 4
cmp eax, edi
je 0x10026651
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
movsx eax, word [ebx + 0xe]
push eax
mov ecx, dword [ebx + 4]
push ecx
call fcn.100382f0
lea ecx, [eax + 0xa]
add esp, 8
mov ebp, eax
push ecx
call fcn.100365b0
add esp, 4
mov edi, eax
test edi, edi
jne 0x10026683
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov dword [esp + 0x10], 0
cmp dword [ebx + 8], 0
jle 0x100266d2
push ebp
mov eax, dword [ebx + 8]
sub eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xa0]
dec eax
push eax
push edi
push ecx
call dword [esp + 0xa8]
mov dword [esp + 0x24], eax
add esp, 0x10
test eax, eax
jl 0x10026703
push ebp
push edi
push esi
call fcn.100364d0
add esp, 0xc
cmp eax, ebp
jne 0x10026718
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp dword [ebx + 8], eax
jg 0x10026691
lea eax, [esp + 0x18]
push 6
mov dword [esp + 0x1c], 3
mov word [esp + 0x20], 0
push eax
push esi
call fcn.100364d0
add esp, 0xc
cmp eax, 6
je 0x10026725
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
push edi
call fcn.10036640
mov eax, dword [esp + 0x18]
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret
push edi
call fcn.10036640
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x7c
ret