Function at 0x1002333a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x100402e4]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x1c], edx
mov esi, eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov dword [ebp - 0x18], edi
xor esi, 0xf387ff82
mov eax, ebx
movzx ecx, word [edi]
mov edx, ecx
mov dword [ebp - 0x14], edx
mov edx, dword [0x100403c8]
test cx, cx
je 0x10023391
or edx, 0xa14b0f8e
inc eax
cmp word [edi + eax*2], bx
jne 0x10023372
mov dword [ebp - 4], edx
cmp eax, 0x17cd
jbe 0x10023394
lea eax, [esi - 0x1367fd9e]
jmp 0x1002339b
mov dword [ebp - 4], edx
mov eax, edx
or eax, 0x8856e1a8
push 0xa
pop ecx
mov esi, str.Uninitialized_array
mov dword [ebp - 0xc], eax
lea edi, [ebp - 0x44]
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x18]
movzx ecx, word [edi]
cmp cx, word [ebp - 0x44]
jne 0x1002340e
mov ecx, dword [ebp - 0x14]
movzx esi, cx
mov ecx, ebx
test si, si
je 0x100233dc
cmp word [ebp + ecx - 0x44], bx
je 0x100233dc
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + edi]
cmp si, word [ebp + ecx - 0x44]
je 0x100233c1
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 8]
cmp eax, ecx
jae 0x1002340e
mov esi, dword [ebp - 0xc]
cmp eax, 0x1b3c
jne 0x100233f9
lea edx, [esi + 0x10c0b98d]
mov ebx, edx
xor ebx, 0xf64164f2
inc eax
mov dword [ebp - 0x10], ebx
cmp eax, ecx
jb 0x100233ec
mov dword [ebp - 4], edx
xor ebx, ebx
push 6
pop ecx
mov esi, str.No_space_for_tile_buffer
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
mov eax, ebx
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x1c]
mov cl, byte [esi]
cmp cl, byte [ebp - 0x38]
jne 0x1002344e
test cl, cl
je 0x1002343d
cmp byte [ebp + eax - 0x38], 0
je 0x1002343d
inc eax
mov cl, byte [esi + eax]
cmp cl, byte [ebp + eax - 0x38]
je 0x10023428
cmp dword [ebp + 8], eax
jae 0x1002344e
mov edx, dword [ebp - 0x10]
xor edx, 0xde2d78a
mov dword [ebp - 4], edx
mov eax, edx
and eax, 0xabf8e403
xor eax, 0x335b59a6
or edx, 0xa5b3b2e5
mov dword [0x10040384], eax
mov eax, str.SetDefaults_:_end
xor edx, 0xc2d46729
inc eax
cmp byte [eax], 0
jne 0x1002346a
cmp word [ebp - 0x14], 0
mov ecx, ebx
mov dword [0x100402e4], edx
je 0x100234b6
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 0x18]
imul eax, eax, 0x2236614c
inc ecx
cmp word [esi + ecx*2], bx
jne 0x1002348b
mov eax, ebx
inc eax
cmp word [esi + eax*2], bx
jne 0x1002349a
cmp eax, 0xae5
jb 0x100234b6
mov eax, edx
and eax, 0xba72ceea
mov dword [0x10040384], eax
jmp 0x100234c2
and edx, 0x86726d31
mov dword [0x100402e4], edx
mov esi, str.trentinosud_tirol
lea edi, [ebp - 0x30]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [ebp + 8]
mov cl, byte [esi]
cmp cl, byte [ebp - 0x30]
jne 0x100234f1
test cl, cl
je 0x100234f1
cmp byte [ebp + eax - 0x30], 0
je 0x100234f1
inc eax
mov cl, byte [esi + eax]
cmp cl, byte [ebp + eax - 0x30]
je 0x100234dc
movzx ecx, byte [eax + esi]
movzx eax, byte [ebp + eax - 0x30]
sub ecx, eax
mov eax, dword [0x10040384]
cmp ecx, 0x2069
jbe 0x10023511
or edx, 0x6cd22435
jmp 0x10023519
mov edx, eax
or edx, 0x4a5a1356
push 6
pop ecx
mov esi, str.GdipImageSelectActiveFrame
mov dword [0x100403c8], edx
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x38], 0x36
jne 0x10023579
mov cl, 0x36
test cl, cl
je 0x1002354f
cmp byte [ebp + ebx - 0x38], 0
je 0x1002354f
mov cl, byte [ebx + 0x1003bea5]
inc ebx
cmp cl, byte [ebp + ebx - 0x38]
je 0x10023537
mov ecx, dword [ebp + 8]
cmp ecx, ebx
jae 0x10023579
cmp ecx, 0x46f
jne 0x1002356a
or edx, 0x4c80900e
mov dword [0x100403c8], edx
and eax, 0xe671621c
inc ecx
cmp ecx, ebx
jb 0x10023556
mov dword [0x10040384], eax
pop edi
pop esi
pop ebx
leave
ret