Function at 0x1001b079
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x10040f68]
xor eax, 0x45c5ad19
and eax, 0xb447d839
push ebx
xor ebx, ebx
mov dword [ebp - 8], eax
mov ecx, ebx
inc ecx
cmp byte [ecx + str.xn__vegrshei_c0a], bl
jne 0x1001b096
mov edx, dword [0x10040df8]
push esi
mov esi, dword [ebp - 8]
push edi
cmp esi, ecx
jae 0x1001b0cf
mov edi, dword [0x10040e30]
cmp esi, 0x1ed5
jne 0x1001b0c2
imul edx, edi, 0xc67be6d0
sub eax, 0x58b40b
inc esi
cmp esi, ecx
jb 0x1001b0b4
mov dword [ebp - 8], eax
push 9
pop ecx
mov esi, str.GetWorldTransform
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
push 0x30
pop esi
mov eax, ebx
cmp si, word [ebp - 0x2c]
jne 0x1001b11a
mov ecx, ebx
test si, si
je 0x1001b107
cmp word [ebp + ecx - 0x2c], bx
je 0x1001b107
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + str.0_0L0l0t00]
cmp si, word [ebp + ecx - 0x2c]
je 0x1001b0e9
cmp dword [ebp - 8], eax
jae 0x1001b11a
sub eax, dword [ebp - 8]
xor edx, 0x9e294463
sub eax, 1
jne 0x1001b10f
push 8
pop ecx
mov esi, str.ContextPriority
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
push 0x69
pop esi
mov eax, ebx
cmp si, word [ebp - 0x28]
jne 0x1001b152
mov ecx, ebx
test si, si
je 0x1001b152
cmp word [ebp + ecx - 0x28], bx
je 0x1001b152
inc eax
lea ecx, [eax + eax]
movzx esi, word [ecx + str.ignore_check_constraints]
cmp si, word [ebp + ecx - 0x28]
je 0x1001b134
movzx ecx, byte [eax*2 + str.ignore_check_constraints]
movzx eax, byte [ebp + eax*2 - 0x28]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp ecx, 0x122
jbe 0x1001b17a
mov edx, dword [0x10040e30]
or edx, 0x4482b253
jmp 0x1001b17f
sub eax, 0x49917748
lea ecx, [edx + 0x5b91f625]
or eax, 0x44ee0e9e
lea esi, [edx - 0x5dda0235]
mov dword [ebp - 8], ecx
mov dword [0x10040f00], ecx
mov edi, ebx
mov dword [ebp - 4], esi
inc edi
cmp byte [edi + str.xn__bhcavuotna_s4a], bl
jne 0x1001b19e
mov esi, dword [ebp - 8]
cmp esi, edi
jae 0x1001b1d6
mov ecx, edx
xor ecx, 0x17c4847b
mov dword [ebp - 8], ecx
mov dword [0x10040f00], ecx
cmp esi, 0x19f9
jne 0x1001b1d1
mov dword [ebp - 4], eax
xor dword [ebp - 4], 0x6e25165c
inc esi
cmp esi, edi
jb 0x1001b1bf
mov eax, ebx
or edx, 0xe9265911
inc eax
cmp byte [eax + str.Scots_Gaelic], bl
jne 0x1001b1d8
mov esi, dword [ebp - 8]
mov dword [0x10040df8], edx
cmp esi, eax
jae 0x1001b210
cmp esi, 0x2569
jne 0x1001b208
sub ecx, 0x23b7b37f
mov dword [0x10040f00], ecx
inc esi
cmp esi, eax
jb 0x1001b1f4
mov dword [ebp - 8], ecx
lea edi, [edx + 0x41ba273b]
mov eax, ebx
mov dword [0x10040e30], edi
inc eax
cmp byte [eax + str.xn__vegrshei_c0a], bl
jne 0x1001b21e
mov esi, dword [ebp - 8]
jmp 0x1001b250
cmp esi, 0x329
jne 0x1001b243
lea edi, [ecx + 0x8e77f87]
mov dword [ebp - 4], edi
mov edi, dword [0x10040e30]
or edi, 0x29fa8dd2
inc esi
mov dword [0x10040e30], edi
cmp esi, eax
jb 0x1001b22c
mov esi, str.SET_NULL
lea edi, [ebp - 0x14]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x14], 0x78
jne 0x1001b280
mov cl, 0x78
test cl, cl
je 0x1001b280
cmp byte [ebp + eax - 0x14], bl
je 0x1001b280
mov cl, byte [eax + 0x10039951]
inc eax
cmp cl, byte [ebp + eax - 0x14]
je 0x1001b269
movzx ecx, byte [eax + str.xn__vegrshei_c0a]
movzx eax, byte [ebp + eax - 0x14]
sub ecx, eax
cmp ecx, 0x15fd
jae 0x1001b2a7
mov edx, dword [ebp - 8]
xor edx, 0xe2846912
mov dword [0x10040df8], edx
jmp 0x1001b2b2
mov eax, dword [ebp - 8]
add eax, 0x3da3dd11
mov dword [ebp - 4], eax
mov esi, str.GdipDeleteMatrix
lea edi, [ebp - 0x1c]
mov ecx, 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]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x1c], 0x36
jne 0x1001b312
mov al, 0x36
test al, al
je 0x1001b2e0
cmp byte [ebp + ecx - 0x1c], bl
je 0x1001b2e0
mov al, byte [ecx + 0x10039635]
inc ecx
cmp al, byte [ebp + ecx - 0x1c]
je 0x1001b2c9
mov esi, dword [ebp - 8]
cmp esi, ecx
jae 0x1001b312
mov ebx, dword [ebp - 4]
mov edx, ebx
and edx, 0xcc5fc0f5
mov dword [0x10040df8], edx
cmp esi, 0x55a
jne 0x1001b30b
lea eax, [ebx + 0x63af59ed]
mov dword [0x10040e30], eax
inc esi
cmp esi, ecx
jb 0x1001b2f8
xor ebx, ebx
pop edi
imul ecx, edx, 0x3a87efcc
pop esi
add ecx, 0x62094df
inc ebx
cmp byte [ebx + str.xn__vegrshei_c0a], 0
jne 0x1001b31a
cmp ebx, 0x1c5f
pop ebx
jne 0x1001b341
mov eax, ecx
and eax, 0xa66138e8
mov dword [0x10040df8], eax
jmp 0x1001b347
lea ecx, [edx - 0x49a995ce]
mov eax, str.62H2A3_374
add ecx, 0xfd83f915
inc eax
cmp byte [eax], 0
jne 0x1001b34c
mov dword [0x10040f68], ecx
leave
ret