Function at 0x1034280
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80
push ebx
xor ebx, ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x10], ebx
je 0x10344c3
movzx edx, word [edi + 0x118]
cmp edx, ebx
mov dword [ebp - 0x10], ebx
jle 0x10342e4
lea eax, [edi + 0x1c]
mov esi, edx
cmp dword [eax + 4], 0
je 0x10342d9
cmp dword [eax + 8], 0x200
jbe 0x10342d9
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x24]
test ecx, 0xa0000000
jne 0x10342d3
test cl, 0x20
je 0x10342d9
cmp ebx, 2
jge 0x10342d9
inc ebx
add eax, 0x10
sub esi, 1
jne 0x10342b2
mov dword [ebp - 0x10], ebx
xor esi, esi
cmp edx, esi
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], esi
jle 0x10344c3
lea edx, [esi + 2]
shl edx, 4
mov ecx, dword [edx + edi]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10344a9
mov eax, esi
shl eax, 4
lea edx, [eax + edi]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x1c], eax
cmp eax, 0x200
jbe 0x10344a9
mov edx, dword [edx + 0x1c]
mov edx, dword [edx + 0x24]
test edx, 0xa0000000
jne 0x1034338
test dl, 0x20
je 0x10344a9
cmp dword [ebp - 8], 2
jge 0x10344a9
mov esi, eax
shr esi, 5
mov dword [ebp + 0x10], 0
mov ebx, ecx
mov dword [ebp - 0x14], esi
cmp esi, 0x200
jae 0x1034384
lea edi, [esi + esi]
xor esi, esi
mov dword [ebp + 0x10], 0x10
push edi
push ebx
call fcn.01031040
mov byte [ebp + esi - 0x3c], al
xor al, 0x2a
mov byte [ebp + esi - 0x3b], al
add esi, 2
add ebx, edi
cmp esi, 0x20
jl 0x1034367
jmp 0x10343ff
xor edi, edi
jmp 0x1034399
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp edi, 2
jge 0x10343a5
mov esi, 0x100
jmp 0x10343d7
cmp edi, 4
jge 0x10343b1
mov esi, 0x200
jmp 0x10343d7
cmp edi, 0x1e
jne 0x10343cc
mov esi, eax
sub esi, ebx
add esi, ecx
cmp esi, 0x400
jbe 0x10343d7
sub esi, 0x200
jmp 0x10343d7
cmp edi, 0x1f
jne 0x10343d7
mov esi, eax
sub esi, ebx
add esi, ecx
push esi
push ebx
call fcn.01031040
mov byte [ebp + edi - 0x3c], al
test al, al
jne 0x10343f7
inc dword [ebp + 0x10]
test edi, edi
jle 0x10343f7
mov al, byte [ebp + edi - 0x3d]
xor al, 0x2a
mov byte [ebp + edi - 0x3c], al
inc edi
add ebx, esi
cmp edi, 0x20
jl 0x1034390
mov ebx, dword [ebp - 8]
cmp ebx, 1
jne 0x1034422
mov ecx, 8
cmp dword [ebp + 0x10], ecx
jle 0x1034422
lea esi, [ebp - 0x5c]
lea edi, [ebp - 0x80]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], 0x20
jmp 0x103443d
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
push ebx
push ecx
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp + esi - 0x80]
push eax
call fcn.01034180
add esi, eax
mov dword [ebp - 4], esi
xor ecx, ecx
xor eax, eax
movzx esi, byte [ebp + eax - 0x3b]
movzx edx, byte [ebp + eax - 0x3c]
add edx, esi
movzx esi, byte [ebp + eax - 0x39]
add edx, esi
movzx esi, byte [ebp + eax - 0x3a]
add esi, ecx
add eax, 4
cmp eax, 0x20
lea ecx, [esi + edx]
jl 0x1034441
cmp dword [ebp - 0xc], 0
jne 0x1034492
mov eax, 0x8421085
mul ecx
mov eax, dword [ebp + 0xc]
sub ecx, edx
shr ecx, 1
add ecx, edx
mov edx, dword [eax + 0xfbd4]
shr ecx, 9
mov byte [edx + eax + 0xf7d0], cl
inc dword [eax + 0xfbd4]
mov ecx, 8
lea esi, [ebp - 0x3c]
lea edi, [ebp - 0x5c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0xc]
inc ebx
mov dword [ebp - 8], ebx
movzx eax, word [edi + 0x118]
inc esi
cmp esi, eax
mov dword [ebp - 0xc], esi
jl 0x10342f4
mov eax, dword [ebp - 4]
test eax, eax
jne 0x10344ef
mov ebx, dword [edi]
mov edi, dword [edi + 4]
shr edi, 5
xor esi, esi
lea ecx, [ecx]
push edi
push ebx
call fcn.01031040
mov byte [ebp + esi - 0x80], al
inc esi
add ebx, edi
cmp esi, 0x20
jl 0x10344d0
mov dword [ebp - 4], 0x20
mov eax, dword [ebp - 4]
jmp 0x10344f9
cmp eax, 0x20
jle 0x10344f9
mov eax, 0x20
mov ecx, dword [ebp + 0xc]
add ecx, 0xf708
push ecx
push eax
lea edx, [ebp - 0x80]
push edx
call fcn.0102b680
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc