Function at 0x6d3570
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [0x87aa4c]
xor eax, esp
mov dword [esp + 0x28], eax
call fcn.006d81f0
mov ebp, eax
movzx esi, byte [0x889fc0]
lea edi, [eax + 0x4fdd]
mov ebx, 0xffffb023
sub ebx, eax
mov ecx, dword [0x877028]
add ecx, edi
add ecx, esi
add ecx, dword [0x876fc8]
call dword [0x834360]
call ecx
mov dword [esp + 4], eax
mov eax, dword [0x87700c]
mov ecx, dword [0x876fb4]
xor ecx, esi
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0xc36d543f
push dword [esp + 0x44]
call ecx
add esp, 8
test al, 1
jne 0x6d3966
mov ecx, dword [0x87702c]
mov dword [esp + 0x18], edi
add ecx, edi
add ecx, esi
add ecx, dword [0x876fb0]
call dword [0x834360]
lea edx, [esp + 0x20]
lea eax, [esp + 0x24]
push 0x26c61da2
push edx
push eax
push dword [esp + 0x4c]
mov edi, dword [esp + 0x14]
push edi
call ecx
add esp, 0x14
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [0x876ff4]
mov ecx, dword [0x876fd4]
sub ecx, esi
add ecx, eax
add ecx, ebp
add ecx, 0x4fdd
call dword [0x834360]
push 0x62930db7
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
push edi
push dword [esp + 0x10]
mov eax, dword [esp + 0x58]
push eax
call ecx
add esp, 0x18
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov dword [esp], ebx
mov ebx, dword [esp + 0x24]
mov eax, dword [0x877010]
mov ecx, dword [0x876fd8]
xor ecx, esi
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xc4d5c2eb
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x50]
push edi
push ebx
call ecx
add esp, 0x18
mov edi, ebp
mov ebp, dword [esp + 0x24]
movzx ebx, byte [esp + 0x20]
mov eax, dword [0x877030]
mov ecx, dword [0x876fbc]
xor ecx, esi
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0x62bda0e1
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x4c]
push ebp
push ebx
mov ebx, dword [esp + 0x14]
call ecx
add esp, 0x14
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x24]
mov eax, dword [0x877008]
mov ecx, dword [0x876fb8]
or ecx, dword [esp + 0x10]
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push dword [esp + 8]
push esi
mov esi, dword [esp + 0x18]
push dword [esp + 0x14]
call ecx
add esp, 0xc
mov dword [esp + 0x14], eax
mov eax, dword [0x877020]
mov ecx, dword [0x876fc4]
sub ecx, esi
add ecx, eax
mov dword [esp + 0xc], edi
add ecx, edi
add ecx, 0x4fdd
call dword [0x834360]
push 0x243d5110
push dword [esp + 8]
call ecx
add esp, 8
test al, 1
jne 0x6d3941
mov eax, dword [esp + 4]
movzx edi, al
xor al, 0xf
movzx ebp, al
nop
mov eax, dword [0x876ff8]
mov ecx, dword [0x876fcc]
xor ecx, esi
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0xe4ea519f
lea eax, [esp + 0x23]
push eax
push ebp
push edi
call ecx
add esp, 0x10
test al, 1
jne 0x6d37d0
movzx ebx, byte [esp + 0x1f]
mov eax, dword [0x876ff0]
mov ecx, dword [0x876fe0]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0xc]
add ecx, eax
add ecx, 0x4fdd
call dword [0x834360]
movzx eax, bl
mov ebx, dword [esp]
push 0xc9cb2f69
push eax
push dword [esp + 0xc]
call ecx
add esp, 0xc
test al, 1
je 0x6d3760
jmp 0x6d3941
xor edi, edi
lea ebp, [esp + 0x20]
nop word cs:[eax + eax]
mov eax, dword [0x877024]
mov ecx, dword [0x876fa4]
xor ecx, esi
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0xb8d0382
lea eax, [esp + 0x28]
push eax
push ebp
push edi
mov ebp, dword [esp + 0x14]
push ebp
call ecx
add esp, 0x14
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x24]
mov eax, dword [0x877000]
mov ecx, dword [0x876fdc]
xor ecx, esi
sub ecx, dword [esp]
add ecx, eax
call dword [0x834360]
push 0xcd383afa
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x2b]
push eax
push ebp
push edi
push ebx
push dword [esp + 0x24]
call ecx
add esp, 0x20
movzx eax, byte [esp + 0x20]
mov dword [esp + 8], eax
movzx ebx, byte [esp + 0x24]
movzx esi, byte [esp + 0x1f]
mov eax, dword [0x877004]
mov ecx, dword [0x876fa8]
sub ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [esp + 0xc]
add ecx, eax
add ecx, 0x4fdd
call dword [0x834360]
push 0xa894ab37
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x27]
push eax
push esi
push ebp
push ebx
push dword [esp + 0x20]
lea ebp, [esp + 0x3c]
call ecx
add esp, 0x1c
movzx ebx, byte [esp + 0x20]
movzx esi, byte [esp + 0x1f]
mov ecx, dword [0x87701c]
add ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x10]
add ecx, dword [0x876fac]
call dword [0x834360]
push 0xfb6b74dc
push edi
push esi
mov esi, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x10]
call ecx
add esp, 0x10
mov eax, dword [0x877018]
mov ecx, dword [0x876fc0]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0xc]
add ecx, eax
add ecx, 0x4fdd
call dword [0x834360]
push 0x168eac11
push ebp
push dword [esp + 0xc]
push edi
call ecx
add esp, 0x10
mov edi, dword [esp + 0x20]
test al, 1
je 0x6d37e0
mov eax, dword [0x876ffc]
mov ecx, dword [0x876fd0]
or ecx, esi
sub ecx, ebx
add ecx, eax
call dword [0x834360]
push 0x23c76453
push dword [esp + 8]
call ecx
add esp, 8
mov eax, dword [0x877014]
or esi, dword [0x876fa0]
sub esi, ebx
add esi, eax
mov ecx, esi
call dword [0x834360]
push 0x8757a0
push dword [esp + 0x18]
call esi
add esp, 8
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.00719989
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret