Function at 0x411280
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48d988
mov eax, dword fs:[0]
push eax
sub esp, 0xac
mov eax, dword [0x4b03e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x68], ecx
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x5c], ebx
test esi, esi
jle 0x4112e9
xor edx, edx
xor ecx, ecx
test esi, esi
jle 0x4112e9
nop word [eax + eax]
mov al, byte [edx + str.e5f11964f060af81f9225589564307ea]
xor byte [ebx + ecx], al
lea eax, [edx + 1]
xor edx, edx
inc ecx
cmp eax, 0x20
cmovl edx, eax
cmp ecx, esi
jl 0x4112d0
lea ecx, [ebp - 0xb8]
call fcn.00417430
push 1
push 0
push ebx
lea ecx, [ebp - 0xb8]
mov dword [ebp - 4], 0
call fcn.00419e60
push str.aaac1b7b1
lea ecx, [ebp - 0xb8]
call fcn.00418200
mov edi, eax
test edi, edi
jne 0x411351
push str.dd721d1d1
lea ecx, [ebp - 0xb8]
call fcn.00418200
mov edi, eax
test edi, edi
jne 0x411351
test ebx, ebx
je 0x4117b5
push 1
push ebx
call fcn.00416640
add esp, 8
xor esi, esi
jmp 0x4117dc
push str.dd721d1d1
mov ecx, edi
call fcn.00418200
test eax, eax
je 0x411428
mov ecx, eax
call fcn.004182a0
test eax, eax
je 0x411428
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00429893
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push 0x491b1c
push eax
mov byte [ebp - 4], 1
call fcn.0043cd49
mov ecx, eax
add esp, 0x14
xor ebx, ebx
mov dword [ebp - 0x60], ecx
xor eax, eax
test ecx, ecx
je 0x4113cb
push eax
push 0x491b1c
push eax
call fcn.0043cd49
push dword [ebp - 0x60]
mov esi, eax
call fcn.0043cb44
push esi
mov ebx, eax
call fcn.0043cb44
add esp, 0x14
push eax
push 0
call fcn.004298c4
add esp, 8
cmp eax, ebx
jle 0x41140c
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x4113ec
push 1
push eax
call fcn.00416640
add esp, 8
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x4117b5
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00405910
xor esi, esi
jmp 0x4117dc
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp eax, 8
jb 0x411425
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00405910
mov ebx, dword [ebp - 0x5c]
push str.a50aaa4b3
mov ecx, edi
call fcn.00418200
test eax, eax
jne 0x411452
test ebx, ebx
je 0x4117b5
push 1
push ebx
call fcn.00416640
add esp, 8
xor esi, esi
jmp 0x4117dc
mov ecx, eax
call fcn.00418240
mov esi, eax
mov dword [ebp - 0x60], esi
test esi, esi
je 0x411791
push 8
call fcn.00416608
mov ebx, eax
add esp, 4
mov dword [ebp - 0x70], ebx
mov byte [ebp - 4], 2
test ebx, ebx
je 0x41149c
xorps xmm0, xmm0
mov ecx, ebx
movq qword [ebx], xmm0
mov dword [ebx], 0
mov dword [ebx + 4], 0
call fcn.0040f3d0
mov dword [ebx], eax
jmp 0x41149e
xor ebx, ebx
mov ecx, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x64], ebx
call fcn.00418240
mov edi, eax
test edi, edi
je 0x4116e0
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x40]
add ecx, 8
push ecx
push eax
call fcn.0041dece
add esp, 8
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
mov ecx, dword [edi + 0x18]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x41160e
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x4115ed
mov eax, dword [eax + 0x20]
add eax, 8
je 0x4115ed
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00429893
add esp, 8
mov esi, eax
lea eax, [ebp - 0x28]
cmp eax, esi
je 0x411596
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x411530
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00405910
xor eax, eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
cmp dword [esi + 0x14], 8
jae 0x411564
mov eax, dword [esi + 0x10]
add eax, 1
je 0x41156f
add eax, eax
push eax
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.00433b30
add esp, 0xc
jmp 0x41156f
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
mov dword [esi], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
mov dword [esi + 0x14], 7
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x411591
mov esi, dword [esi]
xor eax, eax
mov word [esi], ax
mov eax, dword [ebp - 0x44]
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x4115ed
mov ecx, dword [ebp - 0x58]
inc eax
cmp eax, 0x7fffffff
ja 0x4117b9
add eax, eax
cmp eax, 0x1000
jb 0x4115e4
test cl, 0x1f
jne 0x4117b9
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4117b9
sub ecx, eax
cmp ecx, 4
jb 0x4117b9
cmp ecx, 0x23
ja 0x4117b9
mov ecx, eax
push ecx
call fcn.0041663b
add esp, 4
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
push eax
push ebx
call fcn.00411830
add esp, 0xc
mov ecx, edi
call fcn.00418360
mov edi, eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x41166e
mov ecx, dword [ebp - 0x28]
inc eax
cmp eax, 0x7fffffff
ja 0x4117b9
add eax, eax
cmp eax, 0x1000
jb 0x411665
test cl, 0x1f
jne 0x4117b9
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4117b9
sub ecx, eax
cmp ecx, 4
jb 0x4117b9
cmp ecx, 0x23
ja 0x4117b9
mov ecx, eax
push ecx
call fcn.0041663b
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
cmp eax, 8
jb 0x4116d8
mov ecx, dword [ebp - 0x40]
inc eax
cmp eax, 0x7fffffff
ja 0x4117b9
add eax, eax
cmp eax, 0x1000
jb 0x4116cf
test cl, 0x1f
jne 0x4117b9
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x4117b9
sub ecx, eax
cmp ecx, 4
jb 0x4117b9
cmp ecx, 0x23
ja 0x4117b9
mov ecx, eax
push ecx
call fcn.0041663b
add esp, 4
test edi, edi
jne 0x4114b6
mov eax, dword [ebp - 0x68]
mov edi, dword [eax]
lea eax, [ebp - 0x64]
mov ecx, dword [edi + 4]
cmp eax, ecx
jae 0x411761
mov esi, dword [edi]
cmp esi, eax
ja 0x411761
mov edx, dword [edi + 8]
mov ebx, eax
sub ebx, esi
sar ebx, 2
cmp ecx, edx
jne 0x411751
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x411751
sub ecx, esi
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x4117be
sub edx, dword [edi]
lea esi, [ecx + 1]
sar edx, 2
mov ecx, 0x3fffffff
mov eax, edx
mov dword [ebp - 0x6c], edx
shr eax, 1
sub ecx, eax
add eax, edx
xor edx, edx
cmp ecx, dword [ebp - 0x6c]
mov ecx, edi
cmovae edx, eax
cmp edx, esi
cmovae esi, edx
push esi
call fcn.004119f0
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x411778
mov eax, dword [edi]
mov eax, dword [eax + ebx*4]
mov dword [ecx], eax
jmp 0x411778
cmp ecx, dword [edi + 8]
jne 0x41176f
push 1
mov ecx, edi
call fcn.00411a50
mov eax, dword [edi + 4]
test eax, eax
je 0x411778
mov dword [eax], ebx
mov ecx, dword [ebp - 0x60]
add dword [edi + 4], 4
call fcn.00418360
mov esi, eax
mov dword [ebp - 0x60], eax
test esi, esi
jne 0x411466
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
sar ecx, 2
cmp ecx, 1
jae 0x4117c8
test eax, eax
je 0x4117b5
push 1
push eax
call fcn.00416640
add esp, 8
xor esi, esi
jmp 0x4117dc
call fcn.00438502
push str.vector_T__too_long
call fcn.004165b5
test eax, eax
je 0x4117d7
push 1
push eax
call fcn.00416640
add esp, 8
mov esi, 1
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xb8], vtable.TiXmlDocument.0
cmp eax, 0x4b6280
je 0x4117fc
push eax
call fcn.004168f3
add esp, 4
lea ecx, [ebp - 0xb8]
call fcn.00417890
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004168b6
mov esp, ebp
pop ebp
ret 8