Function at 0x1006b820
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
lea eax, [edi + 0x1324]
mov dword [ebp - 0x1c], eax
cmp edi, eax
ja 0x1006bb30
mov esi, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
cmp edi, 0x4706
ja 0x1006bac4
je 0x1006b8e7
cmp edi, 0x1e9a
ja 0x1006b8a5
je 0x1006b88a
mov eax, edi
sub eax, 0x1dd6
je 0x1006b87f
sub eax, 0x62
jne 0x1006bb24
mov eax, dword [ebp + 0x10]
mov cl, byte [eax + 3]
mov byte [ebp - 8], cl
jmp 0x1006bb24
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], ebx
jmp 0x1006bb24
mov eax, dword [ebp + 0x10]
movzx edx, byte [eax + 2]
mov cl, byte [eax + 1]
mov byte [ebp - 7], dl
movzx edx, byte [eax]
mov byte [ebp - 6], cl
mov byte [ebp - 5], dl
jmp 0x1006bb24
cmp edi, 0x1efc
jne 0x1006bb24
mov ecx, dword [ebp + 0x14]
xor eax, eax
cmp dword [ecx], eax
jle 0x1006bb24
mov edi, edi
mov ecx, dword [ebp - 0xc]
inc dword [ebp - 0xc]
mov edx, eax
and edx, 3
mov dl, byte [ebp + edx - 8]
xor dl, byte [ecx]
mov ecx, dword [ebp - 0x10]
mov byte [ecx], dl
mov edx, dword [ebp + 0x14]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
cmp eax, dword [edx]
jl 0x1006b8c0
jmp 0x1006bb24
movzx eax, word [esi + 4]
movzx ecx, word [ebx + 4]
cmp ax, cx
mov dword [ebp + 0xc], 0
cwde
jne 0x1006b9b5
dec eax
je 0x1006b9a7
dec eax
je 0x1006b997
dec eax
jne 0x1006b986
mov edi, 0x3423
mov eax, edi
sub eax, 0x3423
je 0x1006b970
sub eax, 0x48
je 0x1006b92f
sub eax, 0x48
je 0x1006b9ab
jmp 0x1006b97b
mov eax, dword [ebx + 0xc]
add eax, dword [ebp - 4]
lea ecx, [ebp - 0x14]
push ecx
push esi
push 0x4bff
push 0
mov dword [ebp - 0x14], eax
call fcn.10052110
mov ecx, dword [esi]
mov edx, dword [ebx + 0xc]
add ecx, dword [ebp - 4]
push 0
push 0x22
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x14], edx
mov edx, dword [ebx]
push ecx
push edx
call fcn.1006af70
add esp, 0x24
xor eax, eax
mov word [esi + 6], ax
jmp 0x1006b97b
cld
loopne 0x1006b98e
sahf
movsb byte es:[edi], byte [esi]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 4], ecx
add edi, 0x48
cmp edi, 0x34b3
jbe 0x1006b916
mov dword [ebp + 0xc], 0xffffffff
mov edi, 0x4706
push es
inc edi
add byte [eax], al
jmp 0x1006bb24
fld dword [ebx]
mov edi, 0x4706
fadd dword [esi]
fstp dword [esi]
jmp 0x1006bb24
mov edx, dword [ebx]
add dword [esi], edx
mov edi, 0x4706
jmp 0x1006bb24
dec eax
cmp eax, 3
ja case.default.0x1006b9bf
jmp dword [eax*4 + 0x1006bb48]
cmp cx, 1
jne 0x1006ba31
mov edi, 0x4b0c
mov eax, edi
sub eax, 0x4b0c
je 0x1006ba11
sub eax, 0x23
je 0x1006b9ea
sub eax, 0x23
jne 0x1006ba1c
mov word [esi + 6], ax
jmp 0x1006ba1c
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0x14]
push edx
push esi
inc ecx
push 0x4bff
push 0
mov dword [ebp - 0x14], ecx
call fcn.10052110
mov eax, dword [esi]
mov cl, byte [ebx]
mov edx, dword [ebp - 4]
add esp, 0x10
mov byte [edx + eax], cl
jmp 0x1006ba1c
movsb byte es:[edi], byte [esi]
invalid
add edi, 0x23
cmp edi, 0x4b52
jbe 0x1006b9d1
mov edi, 0x4706
jmp 0x1006bb24
mov dword [ebp + 0xc], 0xfffffffe
mov edi, 0x4706
jmp 0x1006bb24
cmp cx, 1
jne 0x1006ba58
fild dword [ebx]
mov edi, 0x4706
fadd dword [esi]
fstp dword [esi]
jmp 0x1006bb24
mov dword [ebp + 0xc], 0xfffffffd
mov edi, 0x4706
jmp 0x1006bb24
cmp cx, 2
jne 0x1006ba83
fld dword [ebx]
mov edi, 0x4706
fistp qword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
add dword [esi], ecx
jmp 0x1006bb24
mov dword [ebp + 0xc], 0xfffffffc
mov edi, 0x4706
jmp 0x1006bb24
cmp cx, 1
jne 0x1006baa8
mov edx, dword [ebx]
add dword [esi], edx
mov edi, 0x4706
jmp 0x1006bb24
mov dword [ebp + 0xc], 0xfffffffb
mov edi, 0x4706
jmp 0x1006bb24
mov dword [ebp + 0xc], 0xfffffffa
mov edi, 0x4706
jmp 0x1006bb24
cmp edi, 0x6f47
ja 0x1006bb1c
je 0x1006bb06
cmp edi, 0x4768
je 0x1006bb30
cmp edi, 0x6ee5
jne 0x1006bb24
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ebx]
push 0xf5f
lea eax, [ebp - 0x44]
mov dword [ebp - 0x18], ecx
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], edx
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.100381a0
add esp, 0x10
jmp 0x1006bb24
push esi
push 0x4dfe
lea eax, [ebp - 0x44]
push eax
push 0
call fcn.10066be0
add esp, 0x10
jmp 0x1006bb24
cmp edi, 0x6fa9
je 0x1006bb3a
add edi, 0x62
cmp edi, dword [ebp - 0x1c]
jbe 0x1006b843
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub eax, 0xda6d8ab1
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret