Function at 0x439f20
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [esp + 0x10], 0x43424148
mov word [esp + 0x14], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x70
xor cl, byte [esp + eax + 0x10]
add cl, 0xd0
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 6
jne 0x439f40
mov ecx, dword [esp + 0x10]
mov dword [esp], 0x3c3d3a3b
mov word [esp + 4], 0
mov eax, 0x3ad6a7d8
mov edx, 0xc5295928
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x3ad6a7d8]
lea esi, [eax - 0x3ad6a78e]
and esi, edi
add esi, esi
mov ebx, edi
sub ebx, esi
add ebx, eax
dec ebx
mov ebp, esi
sub ebp, edi
add ebp, edx
or ebp, 1
or ebx, 1
add ebx, ebp
add ebx, edi
sub ebx, esi
add ebx, eax
mov byte [esp + eax - 0x3ad6a7d8], bl
inc eax
dec edx
cmp eax, 0x3ad6a7de
jne 0x439f80
mov eax, dword [esp]
mov edx, dword [0x44f2b4]
test edx, edx
je 0x43a011
xor esi, esi
mov edi, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xeb857808
je 0x439ff0
inc esi
cmp edx, esi
jne 0x439fe0
jmp 0x43a011
mov edx, dword [edi + esi*8 + 4]
cmp edx, eax
je 0x43a011
lea eax, [esp + 0x18]
push eax
push ecx
push 0xffffffffffffffff
push 0xc
push edx
push dword [0x44f2bc]
call fcn.0043f4a0
add esp, 0x18
test eax, eax
js 0x43a0b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov dword [esp], 0x3c3d3a3b
mov word [esp + 4], 0
mov eax, 0x3ad6a7d8
mov edx, 0xc5295928
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x3ad6a7d8]
lea esi, [eax - 0x3ad6a78e]
and esi, edi
add esi, esi
mov ecx, edi
sub ecx, esi
lea ebx, [eax + ecx]
dec ebx
mov ecx, esi
sub ecx, edi
add ecx, edx
or ecx, 1
or ebx, 1
add ebx, ecx
add ebx, edi
sub ebx, esi
add ebx, eax
mov byte [esp + eax - 0x3ad6a7d8], bl
inc eax
dec edx
cmp eax, 0x3ad6a7de
jne 0x43a040
mov eax, dword [esp]
mov ecx, dword [0x44f2b4]
test ecx, ecx
je 0x43a0c3
xor edx, edx
mov esi, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x8869e8e9
je 0x43a0b7
inc edx
cmp ecx, edx
jne 0x43a0a0
jmp 0x43a0c3
xor ebx, ebx
jmp 0x43a171
mov edx, dword [esi + edx*8 + 4]
cmp edx, eax
jne 0x43a17b
mov dword [esp], 0x3c3d3a3b
mov word [esp + 4], 0
mov edx, 0x3ad6a7d8
mov esi, 0xc5295928
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx - 0x3ad6a7d8]
lea ebp, [edx - 0x3ad6a78e]
and ebp, ebx
add ebp, ebp
mov ecx, ebx
sub ecx, ebp
add ecx, edx
dec ecx
mov edi, ebp
sub edi, ebx
add edi, esi
or edi, 1
or ecx, 1
add ecx, edi
add ecx, ebx
sub ecx, ebp
add ecx, edx
mov byte [esp + edx - 0x3ad6a7d8], cl
inc edx
dec esi
cmp edx, 0x3ad6a7de
jne 0x43a0e0
test eax, eax
setns bl
mov eax, dword [0x44f2b4]
test eax, eax
je 0x43a16d
mov ecx, dword [esp]
xor edx, edx
mov esi, dword [0x44f2b8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x1b6183f2
je 0x43a150
inc edx
cmp eax, edx
jne 0x43a140
jmp 0x43a16d
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je 0x43a16d
push dword [esp + 0xc]
push 4
push eax
push dword [0x44f2bc]
call fcn.0043f4a0
add esp, 0x10
and bl, byte [esp + 0xb]
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esp
lea ecx, [esp + 0x10]
push eax
push 4
push ecx
push 0x14
push dword [esp + 0x1c]
push 0x14
push edx
push dword [0x44f2bc]
call fcn.0043f4a0
add esp, 0x20
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
cmp dword [esp + 0x10], 0
setne byte [esp + 0xb]
jmp 0x43a0c3