Function at 0x44a760
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5a4
mov esi, dword [esp + 0x5d0]
mov ebp, dword [esp + 0x5cc]
mov edi, dword [esp + 0x5c8]
lea ebx, [esp + 0x1a4]
mov dword [esp], ebx
mov dword [esp + 8], 0x400
mov dword [esp + 4], 0
call fcn.007ce3c0
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 1
lea edx, [esp + 0x24]
mov ecx, ebx
call fcn.0044b6b0
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.007c3b30
mov esi, 1
cmp eax, 0xffffffff
jne 0x44a800
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov edi, ebx
mov ecx, 0xec
jne 0x44a933
jmp 0x44a810
mov edi, ebx
mov ecx, 0xec
nop word [eax + eax]
mov ebp, esi
and ecx, 0xffffff71
mov bl, cl
or bl, 2
mov dword [esp], eax
call fcn.007c5050
mov eax, ebp
or eax, 2
mov ecx, ebp
xor ecx, 2
add ecx, eax
setne al
movzx esi, al
add esi, ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x5d0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5cc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c8]
mov dword [esp], eax
mov dword [esp + 0x10], 4
lea edx, [esp + 0x24]
mov ecx, edi
call fcn.0044b6b0
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.007c3b30
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add ecx, eax
movzx ecx, bl
jne 0x44a810
mov edi, dword [esp + 0x5c8]
movzx eax, bl
xor ebx, ebx
cmp eax, 0x41
je 0x44a8ce
cmp eax, 0x44
jne 0x44a8ce
test ebp, ebp
jne 0x44a916
mov eax, ebp
and eax, 1
xor eax, ebp
not eax
test eax, eax
jne 0x44a92c
jmp 0x44a916
test ebp, ebp
jne 0x44a916
jmp 0x44a92c
inc ebx
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x5d0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5cc]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x10], 6
lea ecx, [esp + 0x1a4]
lea edx, [esp + 0x24]
call fcn.0044b6b0
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebx, eax
jb 0x44a8e0
lea edi, [esp + 0x1a4]
mov ebp, dword [esp + 0x5d0]
mov dword [esp], edi
mov dword [esp + 8], 0x180
mov dword [esp + 4], 0x301
call fcn.007c3b30
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add ecx, eax
jne 0x44a9f5
mov ebx, 0x63
xor ebx, 0x42
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add eax, esi
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0x5cc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x5c8]
mov dword [esp], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 5
lea edx, [esp + 0x24]
mov ecx, edi
call fcn.0044b6b0
mov dword [esp], edi
mov dword [esp + 8], 0x180
mov dword [esp + 4], 0x301
call fcn.007c3b30
cmp eax, 0xffffffff
je 0x44aa0e
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov edi, dword [esp + 0x5c0]
je 0x44aa15
mov ebx, 0x63
add ebx, 0xffffffc4
mov dword [esp], eax
call fcn.007c5050
jmp 0x44aa15
mov ebx, 0xb0
add ebx, 0x2d
mov dword [esp], eax
call fcn.007c5050
mov edi, dword [esp + 0x5c0]
jmp 0x44aa15
mov edi, dword [esp + 0x5c0]
mov esi, dword [esp + 0x5b8]
and ebx, 0xffffff01
test edi, edi
je 0x44aa53
mov eax, edi
not eax
and eax, 1
add eax, edi
je 0x44aa53
mov eax, dword [esp + 0x5c4]
test eax, eax
je 0x44aa53
add ebx, 0x43
lea ecx, [esp + 0x24]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004959f0
and ebx, 0xffffffba
test esi, esi
je 0x44aacb
mov edi, dword [esp + 0x5bc]
test edi, edi
je 0x44aacb
xor ebp, ebp
jmp 0x44aab3
and ebx, 0xffffffd1
add ebx, 0x2e
mov eax, 3
sub eax, ebp
xor eax, ebp
setne al
movzx eax, al
add ebp, eax
lea eax, [esp + 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 4
mov dword [esp + 8], str.rehosted
call fcn.0044ab50
mov ecx, ebp
or ecx, 2
mov edx, ebp
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp ebp, ecx
jb 0x44aa70
jmp 0x44ab13
xor bl, 0x2c
movzx eax, bl
cmp eax, 6
mov eax, dword [str.XML_data_missing_n]
mov dword [esp], eax
call fcn.007c3e70
mov ecx, dword [str.XML_data_missing_n]
lea edx, [esp + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 4
mov dword [esp + 8], str.rehosted
call fcn.0044ab50
add esp, 0x5a4
pop esi
pop edi
pop ebx
pop ebp
ret