Function at 0x429f00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [esp + 0x14], 0
mov dword [esp], 0xc0c7c6c5
mov word [esp + 4], 0
xor eax, eax
nop
mov ecx, eax
add cl, 0xb1
xor cl, byte [esp + eax]
add cl, 0x8b
mov byte [esp + eax], cl
inc eax
cmp eax, 6
jne 0x429f20
mov eax, dword [esp]
mov ecx, dword [0x450c18]
test ecx, ecx
je 0x429f84
xor edx, edx
mov esi, dword [0x450c1c]
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x9abdb589
je 0x429f60
inc edx
cmp ecx, edx
jne 0x429f50
jmp 0x429f84
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x429f84
lea eax, [esp + 0x14]
push eax
push 0
push 0
push 5
push 4
push dword [0x450c20]
push ecx
call fcn.00440770
add esp, 0x1c
mov dword [esp], 0x579699e4
mov byte [esp + 4], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xa6
xor dl, byte [esp + ecx]
add dl, 0xc2
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 5
jne 0x429fa0
xor ebx, ebx
cmp eax, dword [esp]
jne 0x42a1c3
push dword [esp + 0x14]
call fcn.0043d980
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x14]
mov dword [esp], 0xc0c7c6c5
mov word [esp + 4], 0
nop
mov eax, ebx
add al, 0xb1
xor al, byte [esp + ebx]
add al, 0x8b
mov byte [esp + ebx], al
inc ebx
cmp ebx, 6
jne 0x429fe0
mov eax, dword [esp]
mov edx, dword [0x450c18]
test edx, edx
je 0x42a03f
xor esi, esi
mov ebx, dword [0x450c1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x9abdb589
je 0x42a020
inc esi
cmp edx, esi
jne 0x42a010
jmp 0x42a03f
mov edx, dword [ebx + esi*8 + 4]
cmp edx, eax
je 0x42a03f
push 0
push ecx
push edi
push 5
push 4
push dword [0x450c20]
push edx
call fcn.00440770
add esp, 0x1c
xor ebx, ebx
test eax, eax
js 0x42a1ba
mov esi, dword [edi]
xor eax, eax
mov ecx, esi
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ebp, [edx + ecx]
mov ecx, dword [edx + ecx]
add eax, 0x208
add ebx, 0x104
mov edx, ebp
test ecx, ecx
jne 0x42a060
test ebx, ebx
jns 0x42a080
mov eax, 0xffffffff
push eax
call fcn.0040c8d0
add esp, 4
mov ebp, eax
mov ecx, edi
jmp 0x42a0a0
add ecx, esi
mov word [eax], 0xa
add eax, 2
mov esi, dword [ecx]
test esi, esi
je 0x42a0c3
mov edx, dword [ecx + esi + 0x3c]
movzx ebx, word [edx]
test bx, bx
je 0x42a090
add edx, 2
nop
mov word [eax], bx
add eax, 2
movzx ebx, word [edx]
add edx, 2
test bx, bx
jne 0x42a0b0
jmp 0x42a090
xor ebx, ebx
cmp eax, ebp
je 0x42a1b1
mov word [eax], 0
movzx ecx, word [ebp]
test cx, cx
je 0x42a12b
mov eax, ebp
add eax, 2
xor ebx, ebx
jmp 0x42a0fc
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42a12b
cmp cx, 0x7f
jbe 0x42a0f0
movzx edx, cx
cmp edx, 0x7ff
ja 0x42a120
add ebx, 2
jmp 0x42a0f1
cmp cx, 0xffff
je 0x42a0f1
add ebx, 3
jmp 0x42a0f1
mov dword [esp + 0x18], edi
lea edi, [ebx + 1]
push edi
call fcn.0040c8d0
add esp, 4
mov esi, eax
push ebp
push edi
push eax
call fcn.00429d80
add esp, 0xc
mov dword [esp], 0xb4aba5cc
mov dword [esp + 4], 0x4e5b5ab3
mov dword [esp + 8], 0x595e1159
mov word [esp + 0xc], 0xef5c
mov dword [esp + 0xe], 0
mov byte [esp + 0x12], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xfb
xor cl, byte [esp + eax]
add cl, 0x19
mov byte [esp + eax], cl
inc eax
cmp eax, 0x13
jne 0x42a180
mov eax, esp
mov ecx, dword [esp + 0x30]
push ebx
push esi
push eax
call fcn.0040d3d0
mov ebx, eax
push esi
call fcn.0040c8e0
add esp, 4
mov edi, dword [esp + 0x18]
push ebp
call fcn.0040c8e0
add esp, 4
push edi
call fcn.0043da70
add esp, 4
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret