Function at 0x10002473
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
cmp dword [ebx + 0x44f078], 0
jne 0x100024b8
push ecx
push edx
push ebx
add dword [esp], 8
sub dword [esp], ebx
push edi
mov edi, dword [ebx + 0x44f14b]
xchg dword [esp], edi
push ebp
push eax
mov eax, dword [ebx + 0x44f448]
mov dword [esp + 4], eax
pop eax
call dword [ebx + 0x462260]
push eax
pop dword [ebp - 0xc]
push dword [ebp - 0xc]
pop dword [ebx + 0x44f078]
pop edx
pop ecx
cmp dword [ebx + 0x44f4b1], 0
jne 0x100024e5
push ecx
push edx
push edi
mov edi, dword [ebx + 0x44f0b9]
xchg dword [esp], edi
call dword [ebx + 0x462224]
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
mov dword [ebx + 0x44f4b1], edx
mov edx, dword [ebp - 0xc]
pop edx
pop ecx
cmp dword [ebx + 0x44f331], 0
jne 0x10002508
push ecx
push edx
call dword [ebx + 0x462230]
mov dword [ebp - 0x10], esi
sub esi, esi
or esi, eax
mov dword [ebx + 0x44f331], esi
mov esi, dword [ebp - 0x10]
pop edx
pop ecx
cmp dword [ebx + 0x44f2ad], 0
jne 0x10002544
push ecx
push edx
lea eax, [ebx + 0x44f469]
push eax
push 0x30
pop dword [eax]
push ecx
mov ecx, dword [ebx + 0x44f74c]
xchg dword [esp], ecx
call dword [ebx + 0x462258]
push esi
xor esi, dword [esp]
xor esi, eax
and dword [ebx + 0x44f2ad], 0
xor dword [ebx + 0x44f2ad], esi
pop esi
pop edx
pop ecx
cmp dword [ebx + 0x44f2c9], 0
jne 0x10002564
push ecx
push edx
call dword [ebx + 0x462234]
push eax
pop dword [ebp - 8]
push dword [ebp - 8]
pop dword [ebx + 0x44f2c9]
pop edx
pop ecx
cmp dword [ebx + 0x44f71d], 0
jne 0x1000258b
push ecx
push edx
call dword [ebx + 0x462230]
push edi
xor edi, dword [esp]
or edi, eax
and dword [ebx + 0x44f71d], 0
or dword [ebx + 0x44f71d], edi
pop edi
pop edx
pop ecx
cmp dword [ebx + 0x44f16f], 0
jne 0x100025c3
push ecx
push edx
push eax
push ebp
mov ebp, dword [ebx + 0x44f77c]
mov dword [esp + 4], ebp
pop ebp
call dword [ebx + 0x462224]
mov dword [ebp - 0xc], edi
sub edi, dword [ebp - 0xc]
or edi, eax
and dword [ebx + 0x44f16f], 0
or dword [ebx + 0x44f16f], edi
mov edi, dword [ebp - 0xc]
pop edx
pop ecx
cmp dword [ebx + 0x44f499], 0
jne 0x100025fa
push ecx
push edx
push 0
push eax
push ecx
mov ecx, dword [ebx + 0x44f51f]
mov dword [esp + 4], ecx
pop ecx
push eax
call dword [ebx + 0x462260]
push ecx
sub ecx, dword [esp]
or ecx, eax
and dword [ebx + 0x44f499], 0
xor dword [ebx + 0x44f499], ecx
pop ecx
pop edx
pop ecx
cmp dword [ebx + 0x44f335], 0
jne 0x10002627
push ecx
push edx
lea eax, [ebx + 0x44f339]
push eax
push 0x30
pop dword [eax]
push 0
call dword [ebx + 0x462258]
push eax
pop dword [ebp - 0x10]
push dword [ebp - 0x10]
pop dword [ebx + 0x44f335]
pop edx
pop ecx
cmp dword [ebx + 0x44f725], 0
jne 0x10002661
push ecx
push edx
push ecx
mov dword [esp], 8
push ebp
push edi
mov edi, dword [ebx + 0x44f03c]
xchg dword [esp], edi
call dword [ebx + 0x462260]
push edi
and edi, 0
or edi, eax
and dword [ebx + 0x44f725], 0
or dword [ebx + 0x44f725], edi
pop edi
pop edx
pop ecx
cmp dword [ebx + 0x44f4d6], 0
jne 0x10002690
push ecx
push edx
push eax
push ecx
mov ecx, dword [ebx + 0x44f440]
mov dword [esp + 4], ecx
pop ecx
push edi
push ecx
call dword [ebx + 0x462260]
push eax
pop dword [ebp - 0x10]
push dword [ebp - 0x10]
pop dword [ebx + 0x44f4d6]
pop edx
pop ecx
cmp dword [ebx + 0x44f36e], 0
jne 0x100026c5
push ecx
push edx
push ecx
mov ecx, dword [ebx + 0x44f719]
xchg dword [esp], ecx
call dword [ebx + 0x462224]
mov dword [ebp - 0x10], esi
xor esi, dword [ebp - 0x10]
or esi, eax
and dword [ebx + 0x44f36e], 0
xor dword [ebx + 0x44f36e], esi
mov esi, dword [ebp - 0x10]
pop edx
pop ecx
push ecx
push edx
lea eax, [ebx + 0x44f18b]
push eax
lea eax, [ebx + 0x44f0d9]
push eax
call dword [ebx + 0x462228]
push 0
mov dword [esp], esi
xor esi, esi
xor esi, eax
mov dword [ebx + 0x44f40a], esi
pop esi
pop edx
pop ecx
cmp dword [ebx + 0x44f729], 0
jne 0x10002710
push ecx
push edx
call dword [ebx + 0x462210]
mov dword [ebp - 8], edx
xor edx, edx
or edx, eax
mov dword [ebx + 0x44f729], edx
mov edx, dword [ebp - 8]
pop edx
pop ecx
cmp dword [ebx + 0x44f6dd], 0
jne 0x10002733
push ecx
push edx
call dword [ebx + 0x462254]
mov dword [ebp - 8], ecx
xor ecx, ecx
xor ecx, eax
mov dword [ebx + 0x44f6dd], ecx
mov ecx, dword [ebp - 8]
pop edx
pop ecx
cmp dword [ebx + 0x44f2b9], 0
jne 0x10002764
push ecx
push edx
lea eax, [ebx + 0x44f058]
push eax
push ecx
mov dword [esp], 0x14
pop dword [eax]
call dword [ebx + 0x46226c]
push eax
pop dword [ebp - 0x10]
push dword [ebp - 0x10]
pop dword [ebx + 0x44f2b9]
pop edx
pop ecx
push edx
push ecx
push 0
mov dword [esp], edi
sub edi, edi
xor edi, dword [ebp + 8]
mov eax, edi
pop edi
push 0
or dword [esp], ecx
push eax
pop ecx
add ecx, dword [eax + 0x3c]
mov eax, ecx
pop ecx
push eax
push ebp
sub ebp, dword [esp]
xor ebp, eax
and edi, 0
xor edi, ebp
pop ebp
movzx eax, word [edi + 6]
mov dword [ebp - 0x10], esi
and esi, 0
xor esi, eax
and dword [ebp - 4], 0
or dword [ebp - 4], esi
mov esi, dword [ebp - 0x10]
push edi
push eax
and eax, 0
or eax, dword [edi + 0x54]
and edx, 0
or edx, eax
pop eax
push edx
and edx, 0
xor edx, dword [ebx + 0x44f6b1]
and edi, 0
or edi, edx
pop edx
push dword [ebp + 8]
pop dword [ebp - 0xc]
push dword [ebp - 0xc]
pop esi
push edx
pop dword [ebp - 0x10]
push dword [ebp - 0x10]
pop ecx
cmp edi, esi
je 0x10002810
movsb byte es:[edi], byte [esi]
dec ecx
jne 0x100027d7
push ebp
sub ebp, dword [esp]
or ebp, dword [ebx + 0x44f6b1]
and edi, 0
xor edi, ebp
pop ebp
push edx
mov dword [esp], 0x40
pop dword [ebx + 0x44f1dc]
lea eax, [ebx + 0x44f1dc]
push eax
push ebx
mov dword [esp], 2
push edx
push edi
call dword [ebx + 0x46221c]
pop edi
push ebx
mov ebx, edi
add ebx, 0xf8
mov edi, ebx
pop ebx
push edi
push 0
mov dword [esp], edi
sub edi, edi
or edi, dword [ebp + 8]
mov esi, edi
pop edi
mov dword [ebp - 0x10], esi
and esi, 0
xor esi, dword [edi + 0x10]
and ecx, 0
xor ecx, esi
mov esi, dword [ebp - 0x10]
push 0
mov dword [esp], ebp
push esi
pop ebp
add ebp, dword [edi + 0x14]
mov esi, ebp
pop ebp
mov edi, dword [edi + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x44f6b1]
add eax, edi
push eax
mov eax, dword [ebp - 8]
pop edi
rep movsb byte es:[edi], byte [esi]
pop edi
push ebx
mov ebx, edi
add ebx, 0x28
mov edi, ebx
pop ebx
dec dword [ebp - 4]
jne 0x1000281d
pop edi
push dword [edi + 0x28]
pop dword [ebp - 0xc]
push dword [ebp - 0xc]
pop eax
mov dword [ebp - 0xc], edx
mov edx, dword [ebx + 0x44f6b1]
add edx, eax
push edx
mov edx, dword [ebp - 0xc]
pop eax
push eax
pop dword [ebp - 0x10]
push dword [ebp - 0x10]
pop dword [ebx + 0x44f760]
push 0
mov dword [esp], edi
xor edi, edi
xor edi, dword [ebx + 0x44f6b1]
mov esi, edi
pop edi
cmp esi, 0
jbe 0x100028b9
push esi
call fcn.10004128
push esi
call fcn.10002f0b
pop ecx
pop edx
leave
ret 4