Function at 0x100652b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push esi
push edi
sub eax, 2
je 0x100654e2
dec eax
je 0x100653f4
dec eax
je 0x100652d2
jmp 0x100652d0
jmp 0x100652d0
mov edi, dword [ebp + 0x10]
xor esi, esi
mov edx, dword [ebp + 8]
add edi, 0x800
movzx ecx, byte [esi + 0x100af050]
lea edi, [edi + 4]
movzx eax, byte [edx + 0x18]
xor ecx, eax
movzx eax, byte [edx + 0x10]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
movzx eax, byte [edx + 8]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
movzx eax, byte [edx]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100af150]
mov dword [edi - 0x804], eax
movzx eax, byte [esi + 0x100aef50]
movzx ecx, byte [edx + 0x19]
xor ecx, eax
movzx eax, byte [edx + 0x11]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
movzx eax, byte [edx + 9]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
movzx eax, byte [edx + 1]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100af550]
mov dword [edi - 0x404], eax
movzx eax, byte [esi + 0x100aef50]
movzx ecx, byte [edx + 0x1a]
xor ecx, eax
movzx eax, byte [edx + 0x12]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
movzx eax, byte [edx + 0xa]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
movzx eax, byte [edx + 2]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100af950]
mov dword [edi - 4], eax
movzx eax, byte [esi + 0x100af050]
inc esi
movzx ecx, byte [edx + 0x1b]
xor ecx, eax
movzx eax, byte [edx + 0x13]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
movzx eax, byte [edx + 0xb]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100afd50]
mov dword [edi + 0x3fc], eax
cmp esi, 0x100
jl 0x100652e0
pop edi
pop esi
pop ebp
ret
mov edi, dword [ebp + 0x10]
xor esi, esi
mov edx, dword [ebp + 8]
add edi, 0x800
movzx ecx, byte [esi + 0x100af050]
lea edi, [edi + 4]
movzx eax, byte [edx + 0x10]
xor ecx, eax
movzx eax, byte [edx + 8]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
movzx eax, byte [edx]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100af150]
mov dword [edi - 0x804], eax
movzx ecx, byte [esi + 0x100af050]
movzx eax, byte [edx + 0x11]
xor ecx, eax
movzx eax, byte [edx + 9]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
movzx eax, byte [edx + 1]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100af550]
mov dword [edi - 0x404], eax
movzx ecx, byte [esi + 0x100aef50]
movzx eax, byte [edx + 0x12]
xor ecx, eax
movzx eax, byte [edx + 0xa]
movzx ecx, byte [ecx + 0x100aef50]
xor ecx, eax
movzx eax, byte [edx + 2]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100af950]
mov dword [edi - 4], eax
movzx ecx, byte [esi + 0x100aef50]
inc esi
movzx eax, byte [edx + 0x13]
xor ecx, eax
movzx eax, byte [edx + 0xb]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 0x100af050]
xor ecx, eax
mov eax, dword [ecx*4 + 0x100afd50]
mov dword [edi + 0x3fc], eax
cmp esi, 0x100
jl 0x10065402
pop edi
pop esi
pop ebp
ret
mov edi, dword [ebp + 0x10]
xor esi, esi
mov eax, dword [ebp + 8]
add edi, 0x800
movzx ecx, byte [esi + 0x100aef50]
lea edi, [edi + 4]
movzx edx, byte [eax + 8]
xor edx, ecx
movzx ecx, byte [eax]
movzx edx, byte [edx + 0x100aef50]
xor edx, ecx
mov ecx, dword [edx*4 + 0x100af150]
mov dword [edi - 0x804], ecx
movzx edx, byte [esi + 0x100af050]
movzx ecx, byte [eax + 9]
xor edx, ecx
movzx ecx, byte [eax + 1]
movzx edx, byte [edx + 0x100aef50]
xor edx, ecx
mov ecx, dword [edx*4 + 0x100af550]
mov dword [edi - 0x404], ecx
movzx edx, byte [esi + 0x100aef50]
movzx ecx, byte [eax + 0xa]
xor edx, ecx
movzx ecx, byte [eax + 2]
movzx edx, byte [edx + 0x100af050]
xor edx, ecx
mov ecx, dword [edx*4 + 0x100af950]
mov dword [edi - 4], ecx
movzx edx, byte [esi + 0x100af050]
inc esi
movzx ecx, byte [eax + 0xb]
xor edx, ecx
movzx ecx, byte [eax + 3]
movzx edx, byte [edx + 0x100af050]
xor edx, ecx
mov ecx, dword [edx*4 + 0x100afd50]
mov dword [edi + 0x3fc], ecx
cmp esi, 0x100
jl 0x100654f0
pop edi
pop esi
pop ebp
ret