Function at 0x1002391c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, ecx
mov dword [ebp - 8], eax
movzx eax, word [eax]
mov ecx, eax
mov dword [ebp - 4], ecx
test ax, ax
je 0x10023942
mov edx, dword [0x1003d7f4]
and edx, 0x7f22fa66
jmp 0x10023948
mov edx, dword [0x1003d898]
push ebx
push esi
push edi
xor ecx, ecx
lea edi, [ebp - 0x28]
mov ebx, ecx
mov esi, str.ti.aiggof
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 4]
cmp ax, word [ebp - 0x28]
jne 0x1002398d
mov ecx, dword [ebp - 8]
xor eax, eax
movzx esi, di
xor edi, edi
test si, si
je 0x1002398a
cmp word [ebp + eax - 0x28], di
je 0x1002398a
inc ebx
lea eax, [ebx + ebx]
movzx esi, word [eax + ecx]
cmp si, word [ebp + eax - 0x28]
je 0x1002396f
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 8]
movzx eax, byte [ebp + ebx*2 - 0x28]
movzx ecx, byte [esi + ebx*2]
sub ecx, eax
cmp ecx, 0x1a10
ja 0x100239af
mov edx, dword [0x1003d7f4]
or edx, 0x613655b8
mov eax, dword [0x1003d7cc]
lea ebx, [edx - 0x7625e7a4]
or eax, 0xec53c2a2
xor ecx, ecx
imul edx, eax, 0x280e0418
mov eax, ecx
mov dword [ebp - 0x10], edx
test di, di
je 0x100239f0
imul edx, edx, 0x1eef83f4
inc eax
cmp word [esi + eax*2], cx
jne 0x100239d1
mov dword [ebp - 0x10], edx
cmp eax, 0x1ed2
jne 0x100239f0
xor ebx, 0x18123e65
jmp 0x100239f6
add ebx, 0x1aff8a7
push 8
mov eax, ecx
lea edi, [ebp - 0x34]
pop ecx
mov esi, str.moc.retniap_a_si
rep movsd dword es:[edi], dword [esi]
push 0x56
pop ecx
movsw word es:[edi], word [esi]
xor esi, esi
cmp cx, word [ebp - 0x34]
jne 0x10023a3b
mov edx, eax
test cx, cx
je 0x10023a32
cmp word [ebp + eax - 0x34], si
je 0x10023a32
inc edx
lea eax, [edx + edx]
movzx ecx, word [eax + str.Volume_name]
cmp cx, word [ebp + eax - 0x34]
je 0x10023a14
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax*2 + str.Volume_name]
movzx eax, byte [ebp + eax*2 - 0x34]
sub ecx, eax
cmp ecx, 0x180b
je 0x10023a58
imul edx, ebx, 0xc7580b7c
mov ebx, esi
lea edi, [ebp - 0x48]
push 0xd
pop ecx
mov esi, str.MacCleanupXcodeTemporaries
mov dword [ebp - 0x10], ebx
rep movsd dword es:[edi], dword [esi]
or edx, 0x889168ab
imul edx, edx, 0xd3b38758
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 4]
xor edi, edi
mov eax, edx
and eax, 0xcfba0630
add eax, 0x1e98aaec
or eax, 0x46049c8b
mov dword [ebp - 0xc], eax
cmp si, word [ebp - 0x48]
jne 0x10023ac0
mov ecx, dword [ebp - 8]
mov eax, edi
movzx esi, si
test si, si
je 0x10023aba
cmp word [ebp + eax - 0x48], di
je 0x10023aba
inc ebx
lea eax, [ebx + ebx]
movzx esi, word [eax + ecx]
cmp si, word [ebp + eax - 0x48]
je 0x10023a9f
mov esi, dword [ebp - 4]
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
movzx ecx, byte [ebx + eax*2]
movzx eax, byte [ebp + eax*2 - 0x48]
sub ecx, eax
cmp ecx, 0x1bd1
ja 0x10023ae2
mov edx, dword [ebp - 0xc]
or edx, 0x634f11eb
and edx, 0xaffdff9e
mov ecx, edi
mov eax, edx
mov dword [0x1003d7f4], edx
and eax, 0x38884a26
xor eax, 0x522ef9f3
inc ecx
cmp word [ecx*2 + str.muesum.eloks], di
jne 0x10023af7
mov dword [0x1003d7cc], eax
cmp dword [ebp - 0x10], ecx
jae 0x10023b1d
mov eax, edx
and eax, 0xc4c2f193
mov dword [0x1003d7cc], eax
imul ecx, edx, 0x35372040
mov edx, edi
test si, si
je 0x10023b51
add ecx, 0x2d3ec7e7
inc edx
cmp word [ebx + edx*2], di
jne 0x10023b2a
mov dword [0x1003d898], ecx
cmp edx, 0x2410
jne 0x10023b51
xor eax, 0xa53ff054
mov dword [0x1003d7f4], eax
jmp 0x10023b5d
add ecx, 0xa67771d2
mov dword [0x1003d898], ecx
pop edi
pop esi
mov eax, ecx
pop ebx
leave
ret