Function at 0x1000bfd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor esi, esi
cmp byte [str.21cfa827cf194c2287c223cf1778cf105c3c5797cd114c7d445c4286cf2148cf3c7457bfce6ecf5357977e6c4160ce896fa4d08d4075ce085655147e4c40c7cf2148cf114c12d793507f445c469c1b1a87941f19964c54cf214c1bcf1670c950444b03485ccf16581ac950cccf505cd7945257971f19964c54], 0
push edi
je 0x1000bfec
inc esi
cmp byte [esi + str.21cfa827cf194c2287c223cf1778cf105c3c5797cd114c7d445c4286cf2148cf3c7457bfce6ecf5357977e6c4160ce896fa4d08d4075ce085655147e4c40c7cf2148cf114c12d793507f445c469c1b1a87941f19964c54cf214c1bcf1670c950444b03485ccf16581ac950cccf505cd7945257971f19964c54], 0
jne 0x1000bfe2
xor eax, eax
cmp byte [str.21cfa8d7a848e4e4e4e4e48791cd11b89311bc5454545430cf6184545454cf2648cf2658cf66cf264ccd21bccf11bc95ac4895b448cd11bcd739bc54427dcf09bc4b0365d5be091e54544159cf11bccd11c0cf09c0cf2578cf11bc4b034864d5bd241154544156af4acf21bcd5ae54645454cd21bcaf95cf11bccf09b88789e4e4e4e4e4cfb11997], al
je 0x1000c000
inc eax
cmp byte [eax + str.21cfa8d7a848e4e4e4e4e48791cd11b89311bc5454545430cf6184545454cf2648cf2658cf66cf264ccd21bccf11bc95ac4895b448cd11bcd739bc54427dcf09bc4b0365d5be091e54544159cf11bccd11c0cf09c0cf2578cf11bc4b034864d5bd241154544156af4acf21bcd5ae54645454cd21bcaf95cf11bccf09b88789e4e4e4e4e4cfb11997], 0
jne 0x1000bff6
lea edi, [eax + esi]
push edi
mov dword [ebp - 4], edi
call fcn.10011cab
mov dl, byte [str.21cfa827cf194c2287c223cf1778cf105c3c5797cd114c7d445c4286cf2148cf3c7457bfce6ecf5357977e6c4160ce896fa4d08d4075ce085655147e4c40c7cf2148cf114c12d793507f445c469c1b1a87941f19964c54cf214c1bcf1670c950444b03485ccf16581ac950cccf505cd7945257971f19964c54]
add esp, 4
mov ebx, eax
mov ecx, ebx
test dl, dl
je 0x1000c033
mov edi, str.21cfa827cf194c2287c223cf1778cf105c3c5797cd114c7d445c4286cf2148cf3c7457bfce6ecf5357977e6c4160ce896fa4d08d4075ce085655147e4c40c7cf2148cf114c12d793507f445c469c1b1a87941f19964c54cf214c1bcf1670c950444b03485ccf16581ac950cccf505cd7945257971f19964c54
sub edi, ebx
mov byte [ecx], dl
inc ecx
mov al, byte [edi + ecx]
mov dl, al
test al, al
jne 0x1000c024
mov edi, dword [ebp - 4]
mov byte [ecx], 0
lea ecx, [esi + ebx]
mov dl, byte [str.21cfa8d7a848e4e4e4e4e48791cd11b89311bc5454545430cf6184545454cf2648cf2658cf66cf264ccd21bccf11bc95ac4895b448cd11bcd739bc54427dcf09bc4b0365d5be091e54544159cf11bccd11c0cf09c0cf2578cf11bc4b034864d5bd241154544156af4acf21bcd5ae54645454cd21bcaf95cf11bccf09b88789e4e4e4e4e4cfb11997]
test dl, dl
je 0x1000c05c
mov esi, str.21cfa8d7a848e4e4e4e4e48791cd11b89311bc5454545430cf6184545454cf2648cf2658cf66cf264ccd21bccf11bc95ac4895b448cd11bcd739bc54427dcf09bc4b0365d5be091e54544159cf11bccd11c0cf09c0cf2578cf11bc4b034864d5bd241154544156af4acf21bcd5ae54645454cd21bcaf95cf11bccf09b88789e4e4e4e4e4cfb11997
sub esi, ecx
nop word [eax + eax]
mov byte [ecx], dl
inc ecx
mov al, byte [esi + ecx]
mov dl, al
test al, al
jne 0x1000c050
xor esi, esi
mov byte [ecx], 0
test edi, edi
jle 0x1000c0c5
mov al, byte [esi + ebx]
mov dl, byte [esi + ebx + 1]
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x1000c078
mov al, cl
jmp 0x1000c08e
lea ecx, [eax - 0x41]
cmp cl, 5
ja 0x1000c084
add al, 0xc9
jmp 0x1000c08e
lea ecx, [eax - 0x61]
cmp cl, 5
ja 0x1000c08e
add al, 0xa9
lea ecx, [edx - 0x30]
cmp cl, 9
ja 0x1000c09a
mov dl, cl
jmp 0x1000c0b2
lea ecx, [edx - 0x41]
cmp cl, 5
ja 0x1000c0a7
add dl, 0xc9
jmp 0x1000c0b2
lea ecx, [edx - 0x61]
cmp cl, 5
ja 0x1000c0b2
add dl, 0xa9
mov ecx, esi
shl al, 4
shr ecx, 1
or al, dl
add esi, 2
mov byte [ecx + ebx], al
cmp esi, edi
jl 0x1000c065
mov ecx, dword [0x100283d8]
mov edi, ebx
mov eax, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
add edx, dword [0x100284e4]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
add edx, 0xfffff988
add esi, edx
cdq
sub eax, edx
sar eax, 1
je 0x1000c10a
mov cl, byte [edi]
lea esi, [esi + 1]
add cl, 0x78
lea edi, [edi + 1]
xor cl, 0xcc
mov byte [esi - 1], cl
sub eax, 1
jne 0x1000c0f4
push ebx
call fcn.10011cd7
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret