Function at 0x10001472
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
and dword [esp], 0
add dword [esp], ecx
and dword [ebp - 8], 0
push dword [ebp - 8]
or dword [esp], edx
lea eax, [ebx + 0x4531f3]
mov dword [ebp - 0x10], 0
push dword [ebp - 0x10]
add dword [esp], eax
lea eax, [ebx + 0x4536bb]
push esi
sub dword [esp], esi
mov dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 8], ecx
and ecx, 0
xor ecx, eax
and dword [ebx + 0x4539e1], 0
xor dword [ebx + 0x4539e1], ecx
mov ecx, dword [ebp - 8]
and edx, 0
or edx, dword [esp]
sub esp, 0xfffffffc
and ecx, 0
mov ecx, dword [esp]
add esp, 4
push dword [ebp - 8]
mov dword [esp], edx
push ebp
and dword [esp], 0
or dword [esp], ecx
lea eax, [ebx + 0x45366c]
push dword [ebp - 0x10]
mov dword [esp], eax
call dword [ebx + 0x466414]
push esi
xor esi, dword [esp]
or esi, eax
and dword [ebx + 0x4536b7], 0
xor dword [ebx + 0x4536b7], esi
pop esi
xor ecx, ecx
mov ecx, dword [esp]
add esp, 4
and dword [ebp - 8], 0
push dword [ebp - 8]
add dword [esp], ecx
lea eax, [ebx + 0x45359a]
push ebx
and dword [esp], 0
xor dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], ecx
xor ecx, ecx
xor ecx, eax
mov dword [ebx + 0x453527], ecx
mov ecx, dword [ebp - 8]
push esi
and esi, 0
xor esi, dword [ebp + 8]
and eax, 0
xor eax, esi
pop esi
mov dword [ebp - 0x10], 0
push dword [ebp - 0x10]
add dword [esp], eax
lea eax, [ebx + 0x45323f]
mov dword [ebp - 0xc], 0
push dword [ebp - 0xc]
add dword [esp], eax
lea eax, [ebx + 0x4537f5]
push dword [ebp - 8]
mov dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 0xc], esi
and esi, 0
or esi, eax
and dword [ebx + 0x453791], 0
xor dword [ebx + 0x453791], esi
mov esi, dword [ebp - 0xc]
sub eax, eax
mov eax, dword [esp]
sub esp, 0xfffffffc
add eax, dword [eax + 0x3c]
push dword [ebp - 0x10]
mov dword [esp], eax
lea eax, [ebx + 0x453125]
mov dword [ebp - 0xc], 0
push dword [ebp - 0xc]
add dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 0x10], edx
xor edx, dword [ebp - 0x10]
xor edx, eax
and dword [ebx + 0x45309d], 0
xor dword [ebx + 0x45309d], edx
mov edx, dword [ebp - 0x10]
and eax, 0
mov eax, dword [esp]
sub esp, 0xfffffffc
push edx
xor dword [esp], edx
xor dword [esp], eax
and dword [ebp - 0x10], 0
push dword [ebp - 0x10]
or dword [esp], eax
lea eax, [ebx + 0x45337d]
mov dword [ebp - 8], 0
push dword [ebp - 8]
or dword [esp], eax
lea eax, [ebx + 0x4536d1]
push dword [ebp - 0x10]
mov dword [esp], eax
call dword [ebx + 0x466410]
push edx
and edx, 0
or edx, eax
and dword [ebx + 0x453292], 0
or dword [ebx + 0x453292], edx
pop edx
and eax, 0
mov eax, dword [esp]
add esp, 4
push 0
mov dword [esp], ecx
sub ecx, ecx
xor ecx, eax
mov edi, ecx
pop ecx
lea eax, [ebx + 0x453690]
push dword [ebp - 8]
mov dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], ecx
and ecx, 0
or ecx, eax
and dword [ebx + 0x45362d], 0
xor dword [ebx + 0x45362d], ecx
mov ecx, dword [ebp - 8]
movzx eax, word [edi + 6]
mov dword [ebp - 8], 0
push dword [ebp - 8]
xor dword [esp], eax
lea eax, [ebx + 0x45376b]
mov dword [ebp - 8], 0
push dword [ebp - 8]
or dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 0x10], edi
and edi, 0
xor edi, eax
and dword [ebx + 0x453889], 0
or dword [ebx + 0x453889], edi
mov edi, dword [ebp - 0x10]
and eax, 0
mov eax, dword [esp]
sub esp, 0xfffffffc
mov dword [ebp - 0xc], ebx
xor ebx, ebx
or ebx, eax
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
lea eax, [ebx + 0x4539b3]
push dword [ebp - 0xc]
mov dword [esp], eax
lea eax, [ebx + 0x4533ff]
push ebx
and dword [esp], 0
add dword [esp], eax
call dword [ebx + 0x466410]
push 0
mov dword [esp], ebp
sub ebp, ebp
or ebp, eax
mov dword [ebx + 0x453206], ebp
pop ebp
push ebx
and dword [esp], 0
or dword [esp], edi
lea eax, [ebx + 0x4530c9]
push dword [ebp - 0xc]
mov dword [esp], eax
lea eax, [ebx + 0x453513]
and dword [ebp - 0x10], 0
push dword [ebp - 0x10]
xor dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 8], ecx
sub ecx, dword [ebp - 8]
xor ecx, eax
and dword [ebx + 0x453237], 0
xor dword [ebx + 0x453237], ecx
mov ecx, dword [ebp - 8]
push 0
mov dword [esp], ebp
xor ebp, ebp
or ebp, dword [edi + 0x54]
mov edx, ebp
pop ebp
push dword [ebp - 8]
mov dword [esp], edx
lea eax, [ebx + 0x4532e8]
push edi
and dword [esp], 0
xor dword [esp], eax
lea eax, [ebx + 0x453045]
push ebx
sub dword [esp], ebx
xor dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 0xc], edx
xor edx, dword [ebp - 0xc]
or edx, eax
and dword [ebx + 0x4534d0], 0
xor dword [ebx + 0x4534d0], edx
mov edx, dword [ebp - 0xc]
xor edx, edx
xor edx, dword [esp]
add esp, 4
push 0
mov dword [esp], eax
xor eax, eax
xor eax, dword [ebx + 0x4535a6]
mov edi, eax
pop eax
and dword [ebp - 0x10], 0
push dword [ebp - 0x10]
or dword [esp], edx
lea eax, [ebx + 0x4532dd]
and dword [ebp - 0x10], 0
push dword [ebp - 0x10]
xor dword [esp], eax
lea eax, [ebx + 0x453520]
and dword [ebp - 0xc], 0
push dword [ebp - 0xc]
xor dword [esp], eax
call dword [ebx + 0x466410]
push 0
mov dword [esp], edi
xor edi, edi
xor edi, eax
mov dword [ebx + 0x45384f], edi
pop edi
and edx, 0
or edx, dword [esp]
add esp, 4
push edx
and edx, 0
or edx, dword [ebp + 8]
and esi, 0
xor esi, edx
pop edx
push dword [ebp - 0xc]
mov dword [esp], edx
lea eax, [ebx + 0x453256]
push ecx
xor dword [esp], ecx
xor dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], edx
and edx, 0
or edx, eax
and dword [ebx + 0x4533d7], 0
xor dword [ebx + 0x4533d7], edx
mov edx, dword [ebp - 8]
sub edx, edx
xor edx, dword [esp]
sub esp, 0xfffffffc
mov dword [ebp - 0xc], edi
and edi, 0
or edi, edx
and ecx, 0
or ecx, edi
mov edi, dword [ebp - 0xc]
push edi
and dword [esp], 0
add dword [esp], ecx
mov dword [ebp - 0xc], 0
push dword [ebp - 0xc]
add dword [esp], edx
lea eax, [ebx + 0x453876]
push edx
and dword [esp], 0
add dword [esp], eax
lea eax, [ebx + 0x45325f]
mov dword [ebp - 0x10], 0
push dword [ebp - 0x10]
or dword [esp], eax
call dword [ebx + 0x466410]
push eax
pop dword [ebp - 8]
push dword [ebp - 8]
pop dword [ebx + 0x453360]
and edx, 0
pop dword [ebp - 0x10]
xor edx, dword [ebp - 0x10]
and ecx, 0
or ecx, dword [esp]
add esp, 4
cmp edi, esi
je 0x10001bde
push eax
sub dword [esp], eax
mov dword [esp], ecx
push esi
xor dword [esp], esi
mov dword [esp], edx
lea eax, [ebx + 0x4534fe]
and dword [ebp - 0xc], 0
push dword [ebp - 0xc]
or dword [esp], eax
lea eax, [ebx + 0x4539ab]
push dword [ebp - 0xc]
mov dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 8], edi
xor edi, dword [ebp - 8]
xor edi, eax
and dword [ebx + 0x453917], 0
xor dword [ebx + 0x453917], edi
mov edi, dword [ebp - 8]
xor edx, edx
mov edx, dword [esp]
add esp, 4
and ecx, 0
pop dword [ebp - 0x10]
add ecx, dword [ebp - 0x10]
movsb byte es:[edi], byte [esi]
push edx
xor dword [esp], edx
xor dword [esp], ecx
push edi
sub dword [esp], edi
xor dword [esp], edx
lea eax, [ebx + 0x453975]
mov dword [ebp - 0xc], 0
push dword [ebp - 0xc]
xor dword [esp], eax
lea eax, [ebx + 0x4537a3]
push dword [ebp - 0x10]
mov dword [esp], eax
call dword [ebx + 0x466410]
push eax
pop dword [ebp - 8]
push dword [ebp - 8]
pop dword [ebx + 0x453141]
sub edx, edx
or edx, dword [esp]
sub esp, 0xfffffffc
and ecx, 0
pop dword [ebp - 0x10]
add ecx, dword [ebp - 0x10]
dec ecx
jne 0x10001913
mov dword [ebp - 8], 0
push dword [ebp - 8]
or dword [esp], edx
lea eax, [ebx + 0x4537e2]
push esi
xor dword [esp], esi
add dword [esp], eax
call dword [ebx + 0x466414]
push edx
and edx, 0
xor edx, eax
and dword [ebx + 0x453767], 0
xor dword [ebx + 0x453767], edx
pop edx
and edx, 0
pop dword [ebp - 0x10]
xor edx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
sub ecx, ecx
xor ecx, dword [ebx + 0x4535a6]
mov edi, ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], 0
push dword [ebp - 8]
or dword [esp], edx
lea eax, [ebx + 0x45377a]
push edi
sub dword [esp], edi
or dword [esp], eax
lea eax, [ebx + 0x4537bd]
push ebx
and dword [esp], 0
add dword [esp], eax
call dword [ebx + 0x466410]
push esi
and esi, 0
or esi, eax
and dword [ebx + 0x4530b7], 0
or dword [ebx + 0x4530b7], esi
pop esi
and edx, 0
pop dword [ebp - 8]
or edx, dword [ebp - 8]
push esi
mov dword [esp], 0x40
pop dword [ebx + 0x4534c0]
push dword [ebp - 8]
mov dword [esp], edx
lea eax, [ebx + 0x45334c]
and dword [ebp - 0xc], 0
push dword [ebp - 0xc]
add dword [esp], eax
lea eax, [ebx + 0x4533a0]
push ebx
and dword [esp], 0
add dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 0x10], edx
and edx, 0
or edx, eax
and dword [ebx + 0x4537e9], 0
xor dword [ebx + 0x4537e9], edx
mov edx, dword [ebp - 0x10]
xor edx, edx
mov edx, dword [esp]
sub esp, 0xfffffffc
lea eax, [ebx + 0x4534c0]
and dword [ebp - 8], 0
push dword [ebp - 8]
or dword [esp], eax
and dword [ebp - 0x10], 0
push dword [ebp - 0x10]
add dword [esp], edx
lea eax, [ebx + 0x45316f]
push edx
sub dword [esp], edx
or dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], edx
and edx, 0
or edx, eax
and dword [ebx + 0x45343f], 0
or dword [ebx + 0x45343f], edx
mov edx, dword [ebp - 8]
and edx, 0
or edx, dword [esp]
add esp, 4
and eax, 0
add eax, dword [esp]
add esp, 4
push dword [ebp - 0xc]
mov dword [esp], eax
push edi
xor dword [esp], edi
or dword [esp], edx
lea eax, [ebx + 0x453557]
and dword [ebp - 8], 0
push dword [ebp - 8]
add dword [esp], eax
call dword [ebx + 0x466414]
push edi
and edi, 0
or edi, eax
and dword [ebx + 0x4530e0], 0
xor dword [ebx + 0x4530e0], edi
pop edi
xor edx, edx
mov edx, dword [esp]
add esp, 4
push 2
mov dword [ebp - 0xc], 0
push dword [ebp - 0xc]
add dword [esp], edx
lea eax, [ebx + 0x453867]
push dword [ebp - 8]
mov dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], esi
sub esi, esi
or esi, eax
mov dword [ebx + 0x453755], esi
mov esi, dword [ebp - 8]
pop dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
push dword [ebp - 0x10]
mov dword [esp], edx
lea eax, [ebx + 0x45359e]
push ecx
and dword [esp], 0
or dword [esp], eax
lea eax, [ebx + 0x4534b9]
mov dword [ebp - 8], 0
push dword [ebp - 8]
xor dword [esp], eax
call dword [ebx + 0x466410]
push edx
sub edx, dword [esp]
or edx, eax
and dword [ebx + 0x453780], 0
xor dword [ebx + 0x453780], edx
pop edx
push dword [ebp - 0x10]
mov dword [esp], edi
lea eax, [ebx + 0x4534ee]
push dword [ebp - 8]
mov dword [esp], eax
lea eax, [ebx + 0x4532cd]
push edi
sub dword [esp], edi
mov dword [esp], eax
call dword [ebx + 0x466410]
push ecx
xor ecx, dword [esp]
xor ecx, eax
and dword [ebx + 0x4537c1], 0
xor dword [ebx + 0x4537c1], ecx
pop ecx
call dword [ebx + 0x466408]
lea eax, [ebx + 0x45317c]
push dword [ebp - 0x10]
mov dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], ecx
sub ecx, dword [ebp - 8]
or ecx, eax
and dword [ebx + 0x4535d6], 0
or dword [ebx + 0x4535d6], ecx
mov ecx, dword [ebp - 8]
xor edi, edi
or edi, dword [esp]
add esp, 4
lea eax, [ebx + 0x4538e3]
and dword [ebp - 0x10], 0
push dword [ebp - 0x10]
add dword [esp], eax
lea eax, [ebx + 0x4532be]
push ecx
and dword [esp], 0
add dword [esp], eax
call dword [ebx + 0x466410]
mov dword [ebp - 0x10], esi
sub esi, dword [ebp - 0x10]
or esi, eax
and dword [ebx + 0x4536f7], 0
or dword [ebx + 0x4536f7], esi
mov esi, dword [ebp - 0x10]
add edi, 0xf8
lea eax, [ebx + 0x453229]
push edx
sub dword [esp], edx
mov dword [esp], eax
call dword [ebx + 0x466414]
mov dword [ebp - 8], edx
and edx, 0
or edx, eax
and dword [ebx + 0x4537d6], 0
or dword [ebx + 0x4537d6], edx
mov edx, dword [ebp - 8]
push ebx
and dword [esp], 0
add dword [esp], edi
push edx
xor edx, dword [esp]
or edx, dword [ebp + 8]
and esi, 0
xor esi, edx
pop edx
push dword [edi + 0x10]
pop dword [ebp - 0xc]
push dword [ebp - 0xc]
pop ecx
add esi, dword [edi + 0x14]
mov edi, dword [edi + 0xc]
add edi, dword [ebx + 0x4535a6]
rep movsb byte es:[edi], byte [esi]
and edi, 0
or edi, dword [esp]
add esp, 4
add edi, 0x28
dec dword [ebp - 4]
jne 0x10001c53
sub edi, edi
mov edi, dword [esp]
sub esp, 0xfffffffc
push 0
mov dword [esp], esi
xor esi, esi
xor esi, dword [edi + 0x28]
mov eax, esi
pop esi
add eax, dword [ebx + 0x4535a6]
push edx
and edx, 0
xor edx, eax
and dword [ebx + 0x4533db], 0
xor dword [ebx + 0x4533db], edx
pop edx
mov dword [ebp - 0x10], eax
and eax, 0
xor eax, dword [ebx + 0x4535a6]
and esi, 0
or esi, eax
mov eax, dword [ebp - 0x10]
cmp esi, 0
jbe 0x10001cfd
mov dword [ebp - 0x10], 0
push dword [ebp - 0x10]
xor dword [esp], esi
call fcn.10002d6e
and dword [ebp - 0xc], 0
push dword [ebp - 0xc]
or dword [esp], esi
call fcn.100050e7
and ecx, 0
pop dword [ebp - 0x10]
or ecx, dword [ebp - 0x10]
sub edx, edx
mov edx, dword [esp]
add esp, 4
leave
ret 4