Function at 0x1000aa99
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10060440
call fcn.1005fa24
sub esp, 0x2c
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x14], cl
je 0x1000acc5
mov dword [ebp - 0x20], 0x1279
cmp dword [ebp - 0x20], 0x1655
jle 0x1000ab25
push 0x10b2
push 0xdd8
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
xor edi, edi
mov ebx, 0x1007cff8
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x18], 0x6e20
mov dword [ebp + 0x18], ecx
mov eax, edi
sar eax, cl
mov ecx, ebx
cdq
push edx
push eax
call fcn.10002e68
mov ecx, dword [ebp + 0x18]
add ecx, esi
dec dword [ebp - 0x18]
mov dword [ebp + 0x18], ecx
jne 0x1000aaf3
inc esi
cmp esi, 0x1453
jl 0x1000aae7
inc edi
cmp edi, 0x5ded
jl 0x1000aae5
mov esi, dword [ebp - 0x1c]
jmp 0x1000ab2a
mov ebx, 0x1007cff8
cmp byte [ebp - 0x14], 0
je 0x1000abe6
mov dword [ebp - 0x18], 0x6095
cmp dword [ebp - 0x18], 0x621a
jle 0x1000ab7d
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [ebp + 0x18], ecx
lea eax, [edi + esi]
xor eax, ecx
mov ecx, ebx
cdq
push edx
push eax
call fcn.10002e68
mov ecx, dword [ebp + 0x18]
inc ecx
mov dword [ebp + 0x18], ecx
cmp ecx, 0x41b0
jl 0x1000ab4d
inc edi
cmp edi, 0x19a3
jl 0x1000ab48
inc esi
cmp esi, 0x3482
jl 0x1000ab46
mov edx, dword [ebp + 0x24]
mov dword [edx], 0
cmp dword [edx], 4
jge 0x1000aba0
mov esi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x2cbd
inc dword [edx]
cmp dword [edx], 4
jl 0x1000ab8e
and dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0x5f22
jge 0x1000ac8d
mov edx, str.utviog_egbgnwgni_akf
mov ecx, ebx
call fcn.100050b8
jmp 0x1000ac8d
mov dword [ebp - 0x18], 0xcdf
cmp dword [ebp - 0x18], 0xd58
jle 0x1000ac50
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [ebp + 0x18], 0x743
mov eax, ebx
lea ecx, [ebp - 0x38]
xor eax, esi
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000ac1c
mov eax, dword [eax]
push eax
call fcn.10048e5f
pop ecx
push 0
push 1
lea ecx, [ebp - 0x38]
call fcn.1000330e
add ebx, edi
dec dword [ebp + 0x18]
jne 0x1000ac03
inc edi
cmp edi, 0x7a6c
jl 0x1000abfa
inc esi
cmp esi, 0x4d99
jl 0x1000abf8
mov esi, dword [ebp - 0x1c]
mov ebx, 0x1007cff8
cmp dword [ebp - 0x18], 0xb93
jge 0x1000ac64
push str.gpa_oeb_lspxynd_fskowwi_xdkoi_xsyliq_qcgcig_iljppxjh_khpxo_lotly
call fcn.10048e5f
pop ecx
mov dword [esi], 0
cmp dword [esi], 1
jg 0x1000ac8d
mov edx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x1c]
mov dword [edi], 0xa44f34d8
mov ecx, dword [esi]
mov eax, dword [edx]
mov dword [eax + ecx*4], 1
inc dword [esi]
cmp dword [esi], 1
jle 0x1000ac75
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0x1101
jge 0x1000aca9
mov edx, str.qpeyxnw_tkevxi_ildjzuk_ohgdgbkt_suozu_uuc_bicffs_hbo_zuerpxaxn_qgaaxxejn_suwyiid_srwcnf_olmts
mov ecx, ebx
call fcn.100050b8
jmp 0x1000ad0b
cmp byte [ebp + 0xc], 0
je 0x1000aceb
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
je 0x1000ad0b
push ecx
push ecx
push 0x182a
push 0
push 0x1582
call fcn.10007376
add esp, 0x14
jmp 0x1000ad0b
mov edx, dword [ebp + 0x28]
mov dword [edx], 0
cmp dword [edx], 1
jge 0x1000ad0b
mov esi, dword [ebp + 0x14]
mov ecx, dword [edx]
mov eax, dword [esi]
or dword [eax + ecx*4], 0xffffffff
inc dword [edx]
cmp dword [edx], 1
jl 0x1000acfc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret