Function at 0x100af2b0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x94
mov eax, dword [0x101c3584]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
mov ebx, dword [esp + 0xa4]
push esi
mov esi, dword [esp + 0xa4]
push edi
mov edi, dword [esp + 0xa4]
push 0x2bc
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
call fcn.1013fbbd
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x100af316
pop edi
pop esi
mov eax, 0xfffff447
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.1013d581
add esp, 0x94
ret
test edi, edi
je 0x100af5b4
test esi, esi
je 0x100af5b4
test ebx, ebx
je 0x100af5b4
push ebp
push 0x15
push eax
call fcn.100c0260
mov ebp, eax
lea eax, [ebp + 0x64]
push 0x15
push eax
mov dword [esp + 0x24], ebp
call fcn.100c0260
mov dword [esp + 0x34], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov dword [esp + 0x34], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov ebx, eax
lea ecx, [ebx + 0x64]
push 0x15
push ecx
call fcn.100c0260
mov dword [esp + 0x38], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov dword [esp + 0x68], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
add esp, 0x38
mov dword [esp + 0x20], eax
call fcn.100b7a40
mov esi, eax
test esi, esi
jne 0x100af3ce
mov edx, dword [esp + 0x18]
push edx
call fcn.1013db65
add esp, 4
mov eax, 0xfffff447
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.1013d581
add esp, 0x94
ret
mov dword [esp + 0x28], 0
call fcn.10142907
shl eax, 0x10
mov dword [esp + 0x34], eax
call fcn.10142907
mov ecx, eax
xor ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov dword [esp + eax*4 + 0x3c], ecx
inc eax
cmp eax, 4
mov dword [esp + 0x28], eax
jl 0x100af3d6
nop
mov edx, dword [0x101bc9ec]
mov eax, dword [edi + 0x10]
push edx
push eax
push ebp
call fcn.100c0870
add esp, 0xc
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x40]
push 0xa0
push edx
call fcn.100ad690
push ebx
lea eax, [esp + 0x9c]
push 0x14
push eax
call fcn.100c1a70
mov ecx, dword [0x101bc9ec]
push ecx
push ebx
call fcn.100c02d0
add esp, 0x20
test eax, eax
jl 0x100af414
push ebp
push ebx
call fcn.100c02d0
add esp, 8
test eax, eax
jg 0x100af414
push 0x20c
push 0
push esi
call fcn.1013f910
lea eax, [esi + 0x18]
push 0x15
push eax
mov dword [esi], 0
call fcn.100c0260
mov dword [esi + 4], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov dword [esi + 8], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov dword [esi + 0xc], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov dword [esi + 0x10], eax
add eax, 0x64
push 0x15
push eax
call fcn.100c0260
mov dword [esi + 0x14], eax
mov edx, dword [edi + 0x14]
push ebx
push edx
push esi
push edi
call fcn.100b87f0
mov ebp, eax
add esp, 0x44
test ebp, ebp
jne 0x100af563
mov eax, dword [edi + 0x10]
mov ecx, dword [esi + 4]
mov ebp, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.100c0dd0
add esp, 0xc
cmp dword [ebp + 4], 0
mov ebp, dword [esp + 0x14]
jbe 0x100af400
mov edx, dword [edi + 0x10]
push edx
push ebx
push ebp
call fcn.100c1040
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
push eax
push 0x14
push ecx
call fcn.100c1a70
mov edx, dword [edi + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 0x18]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
call fcn.100c0f00
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
call fcn.100c1b20
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x54]
push ecx
push edx
push ebp
mov ebp, dword [esp + 0x7c]
push ebp
call fcn.100c0f00
add esp, 0x48
cmp dword [ebp + 4], 0
ja 0x100af57d
mov ebp, dword [esp + 0x14]
jmp 0x100af400
mov eax, dword [esp + 0x18]
push eax
call fcn.1013db65
push esi
call fcn.1013db65
add esp, 8
mov eax, ebp
jmp 0x100af3b5
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push edi
push 0x14
push ecx
call fcn.100c0000
add edi, 0x14
push edi
push 0x14
push ebp
call fcn.100c0000
push esi
call fcn.1013db65
mov edx, dword [esp + 0x34]
push edx
call fcn.10001120
add esp, 0x20
xor eax, eax
jmp 0x100af3b5
push eax
call fcn.1013db65
mov ecx, dword [esp + 0xa0]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 0xfffff446
call fcn.1013d581
add esp, 0x94
ret