Function at 0x207fe420
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x2c
mov eax, dword [0x20730400]
mov ecx, dword [0x2073036c]
push ebx
mov edx, dword [0x20730374]
push ebp
push esi
push edi
push 0x20718260
push 0x20716418
push 4
push 0x254
push eax
mov eax, dword [0x20730370]
push ecx
push edx
xor ebp, ebp
push eax
push 1
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x4c], ebp
call fcn.207921f0
mov esi, dword [esp + 0x64]
add esp, 0x24
cmp esi, ebp
jne 0x207fe49b
mov edi, 0x80000065
mov dword [esp + 0x1c], 0x66
mov ebx, edi
mov esi, 0x258
jmp 0x207fe8e6
mov edi, dword [esp + 0x44]
cmp edi, 0x40
jae 0x207fe4bd
mov edi, 0x80000066
mov dword [esp + 0x1c], 0x87
mov ebx, edi
mov esi, 0x25d
jmp 0x207fe8e6
mov eax, dword [esp + 0x48]
cmp eax, ebp
jne 0x207fe4de
mov edi, 0x80000067
mov dword [esp + 0x1c], 0x66
mov ebx, edi
mov esi, 0x25f
jmp 0x207fe8e6
mov dword [eax], ebp
mov eax, dword [esp + 0x4c]
cmp eax, ebp
jne 0x207fe501
mov edi, 0x80000068
mov dword [esp + 0x1c], 0x66
mov ebx, edi
mov esi, 0x262
jmp 0x207fe8e6
mov ebx, dword [esp + 0x50]
mov dword [eax], ebp
cmp ebx, ebp
jle 0x207fe8d2
cmp ebx, 3
jge 0x207fe8d2
xor eax, eax
lea ecx, [edi + esi - 1]
mov dl, byte [ecx]
xor byte [eax + esi], dl
inc eax
dec ecx
cmp eax, 0x20
jb 0x207fe51e
push edi
push esi
call fcn.207b20c0
add esp, 8
cmp eax, ebp
je 0x207fe544
mov ebx, eax
mov esi, 0x271
jmp 0x207fe8b0
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push ecx
push 0x7fac
push ebp
push 0x7f93
push esi
call fcn.2079af60
add esp, 0x18
test eax, eax
jne 0x207fe8a6
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x207fe8a6
mov ecx, dword [esp + 0x14]
mov edi, 3
cmp ecx, edi
jb 0x207fe8a6
lea edx, [esp + 0x28]
push edx
push eax
call fcn.2079aa10
add esp, 8
test eax, eax
jne 0x207fe89a
cmp dword [esp + 0x28], 1
jne 0x207fe89a
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push ecx
push 0x7fac
push ebp
push 0x7faf
push esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
call fcn.2079af60
add esp, 0x18
test eax, eax
jne 0x207fe88e
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x207fe88e
cmp dword [esp + 0x14], edi
jb 0x207fe88e
lea edx, [esp + 0x24]
lea ecx, [esp + 0x10]
push edx
push ecx
push ebp
push eax
call fcn.2079b0a0
add esp, 0x10
test eax, eax
jne 0x207fe882
cmp dword [esp + 0x24], ebp
je 0x207fe882
cmp dword [esp + 0x10], 0x10
jne 0x207fe882
lea edx, [esp + 0x14]
lea eax, [esp + 0x18]
push edx
push eax
push 0x7fac
push ebp
push 0x7fae
push esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
call fcn.2079af60
add esp, 0x18
test eax, eax
jne 0x207fe876
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x207fe876
cmp dword [esp + 0x14], edi
jb 0x207fe876
lea ecx, [esp + 0x20]
lea edx, [esp + 0x10]
push ecx
push edx
push ebp
push eax
mov dword [esp + 0x20], ebp
call fcn.2079b0a0
add esp, 0x10
test eax, eax
jne 0x207fe86a
cmp dword [esp + 0x20], ebp
je 0x207fe86a
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jb 0x207fe86a
test al, 0xf
jne 0x207fe86a
mov esi, dword [esp + 0x54]
cmp esi, 1
jne 0x207fe6b4
mov cl, 0x1f
mov dl, 0xc3
mov byte [esp + 0x40], 0x1e
jmp 0x207fe6bd
mov cl, 0x47
mov dl, 0xc8
mov byte [esp + 0x40], 0x7d
mov eax, ebx
dec eax
je 0x207fe709
dec eax
je 0x207fe6de
mov edi, 0x80000068
mov dword [esp + 0x1c], 0x1390
mov ebx, edi
mov esi, 0x2ce
jmp 0x207fe8e6
cmp esi, 1
jne 0x207fe6f6
mov ebp, dword [esp + 0x24]
lea esi, [esp + 0x2c]
xor eax, eax
mov edi, 0x20730398
sub ebp, esi
jmp 0x207fe72a
mov ebp, dword [esp + 0x24]
lea esi, [esp + 0x2c]
xor eax, eax
mov edi, 0x207303d8
sub ebp, esi
jmp 0x207fe72a
cmp esi, 1
mov edi, 0x20730378
je 0x207fe718
mov edi, 0x207303b8
mov ebp, dword [esp + 0x24]
lea esi, [esp + 0x2c]
xor eax, eax
sub ebp, esi
jmp 0x207fe72a
mov dl, byte [esp + 0x44]
mov bl, dl
lea esi, [esp + eax + 0x2c]
add bl, cl
add edi, 2
mov cl, bl
mov bl, byte [esp + 0x40]
xor cl, bl
dec cl
inc dl
dec bl
mov byte [esp + 0x44], dl
mov byte [esp + 0x40], bl
mov bl, byte [edi - 2]
mov dl, cl
add dl, bl
mov bl, byte [esi + ebp]
xor bl, dl
inc eax
cmp eax, 0x10
mov byte [esi], bl
jb 0x207fe726
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
push 2
lea eax, [esp + 0x14]
push 2
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
push eax
push edx
push 0
lea eax, [esp + 0x4c]
push 0x10
push eax
call fcn.20798630
xor ecx, ecx
add esp, 0x28
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
test eax, eax
mov dword [esp + 0x38], ecx
je 0x207fe7ab
mov ebx, eax
mov esi, 0x2e9
jmp 0x207fe8b0
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
push eax
mov dword [esp + 0x1c], 0
call fcn.2079b030
add esp, 8
test eax, eax
jne 0x207fe85e
mov eax, dword [esp + 0x14]
cmp eax, 3
jb 0x207fe85e
cmp eax, dword [esp + 0x10]
ja 0x207fe85e
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x18], eax
call fcn.207b20c0
add esp, 8
test eax, eax
je 0x207fe802
mov ebx, eax
mov esi, 0x2f7
jmp 0x207fe8b0
mov edx, dword [esp + 0x10]
push 1
push edx
call dword [fcn.20ad6428]
mov ecx, dword [esp + 0x50]
add esp, 8
test eax, eax
mov dword [ecx], eax
jne 0x207fe835
mov edi, 0x80000078
mov dword [esp + 0x1c], 0x6a
mov ebx, edi
mov esi, 0x2fe
jmp 0x207fe8e6
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [ecx], eax
jmp 0x207fe912
mov ebx, 0x800002c1
mov esi, 0x2f1
jmp 0x207fe8b0
mov ebx, 0x800002c1
mov esi, 0x2ad
jmp 0x207fe8b0
mov ebx, 0x800002c1
mov esi, 0x2a3
jmp 0x207fe8b0
mov ebx, 0x800002c1
mov esi, 0x296
jmp 0x207fe8b0
mov ebx, 0x800002c1
mov esi, 0x28e
jmp 0x207fe8b0
mov ebx, 0x800002c1
mov esi, 0x281
jmp 0x207fe8b0
mov ebx, 0x800002c1
mov esi, 0x27c
mov eax, dword [esp + 0x54]
push ebx
cmp eax, 1
jne 0x207fe8c6
call fcn.207b24d0
add esp, 4
mov edi, eax
jmp 0x207fe8e6
call fcn.207b2480
add esp, 4
mov edi, eax
jmp 0x207fe8e6
mov edi, 0x80000069
mov dword [esp + 0x1c], 0x1390
mov ebx, edi
mov esi, 0x265
mov edx, dword [esp + 0x1c]
mov eax, dword [0x20730400]
mov ecx, dword [0x2073036c]
push edx
mov edx, dword [0x20730374]
push esi
push eax
mov eax, dword [0x20730370]
push ecx
push edx
push eax
push ebx
push edi
push 3
call fcn.2078d820
add esp, 0x24
mov ecx, dword [0x20730400]
mov edx, dword [0x2073036c]
mov eax, dword [0x20730374]
push edi
push 0x20718250
push 0x20718240
push 4
push 0x313
push ecx
mov ecx, dword [0x20730370]
push edx
push eax
push ecx
push 1
call fcn.207921f0
add esp, 0x28
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret