Function at 0x429b30
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], 0x54554a4b
mov eax, 0xe63abe6e
mov ecx, 0x11
movzx edx, byte [esp + eax + 0x19c54192]
mov ebx, edx
xor ebx, eax
or ebx, ecx
add bl, bl
add bl, dl
movzx edx, bl
add edx, eax
add dl, 0xdc
mov byte [esp + eax + 0x19c54192], dl
inc eax
dec ecx
cmp eax, 0xe63abe72
jne 0x429b50
mov edi, dword [esp]
mov eax, dword [0x44e804]
test eax, eax
je 0x429bc6
xor ecx, ecx
mov edx, dword [0x44e808]
nop
nop
cmp dword [edx + ecx*8], 0x9abdb589
je 0x429ba0
inc ecx
cmp eax, ecx
jne 0x429b90
jmp 0x429bc6
mov eax, dword [edx + ecx*8 + 4]
cmp eax, edi
je 0x429bc6
lea ecx, [esp + 0x14]
push ecx
push 0
push 0
push 5
push 4
push eax
push dword [0x44e80c]
call fcn.0043eb30
add esp, 0x1c
mov edi, eax
mov dword [esp], 0xc1868788
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov esi, 0x61
nop
nop
movzx ecx, byte [esp + esi - 0x61]
mov ebx, ecx
and ebx, esi
mov eax, ebx
or al, 0xfd
inc al
mov edx, ebx
and dl, 0x6d
mul dl
mov edx, eax
add dl, cl
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub dl, al
movzx eax, dl
add eax, esi
add al, 0x1b
mov byte [esp + esi - 0x61], al
inc esi
cmp esi, 0x68
jne 0x429be0
cmp edi, dword [esp]
jne 0x429ca0
push dword [esp + 0x14]
call fcn.0043ba50
add esp, 4
mov edi, eax
mov ebp, dword [esp + 0x14]
mov dword [esp], 0x54554a4b
mov eax, 0xe63abe6e
mov edx, 0x11
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x19c54192]
mov ebx, ecx
xor ebx, eax
or ebx, edx
add bl, bl
add bl, cl
movzx ecx, bl
add ecx, eax
add cl, 0xdc
mov byte [esp + eax + 0x19c54192], cl
inc eax
dec edx
cmp eax, 0xe63abe72
jne 0x429c50
mov eax, dword [esp]
mov edx, dword [0x44e804]
test edx, edx
je 0x429cc6
xor esi, esi
mov ebx, dword [0x44e808]
nop
cmp dword [ebx + esi*8], 0x9abdb589
je 0x429ca7
inc esi
cmp edx, esi
jne 0x429c90
jmp 0x429cc6
xor ebx, ebx
jmp 0x429e63
mov edx, dword [ebx + esi*8 + 4]
cmp edx, eax
je 0x429cc6
push 0
push ebp
push edi
push 5
push 4
push edx
push dword [0x44e80c]
call fcn.0043eb30
add esp, 0x1c
xor ebx, ebx
test eax, eax
js 0x429e5a
mov esi, dword [edi]
xor eax, eax
mov ecx, esi
mov edx, edi
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 0x429ce0
test ebx, ebx
jns 0x429d00
mov eax, 0xffffffff
push eax
call fcn.0040c8e0
add esp, 4
mov ebp, eax
mov ecx, edi
jmp 0x429d20
add ecx, esi
mov word [eax], 0xa
add eax, 2
mov esi, dword [ecx]
test esi, esi
je 0x429d43
mov edx, dword [ecx + esi + 0x3c]
movzx ebx, word [edx]
test bx, bx
je 0x429d10
add edx, 2
nop
mov word [eax], bx
add eax, 2
movzx ebx, word [edx]
add edx, 2
test bx, bx
jne 0x429d30
jmp 0x429d10
xor ebx, ebx
cmp eax, ebp
je 0x429e51
mov word [eax], 0
movzx ecx, word [ebp]
test cx, cx
je 0x429dab
mov eax, ebp
add eax, 2
xor ebx, ebx
jmp 0x429d7c
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x429dab
cmp cx, 0x7f
jbe 0x429d70
movzx edx, cx
cmp edx, 0x7ff
ja 0x429da0
add ebx, 2
jmp 0x429d71
cmp cx, 0xffff
je 0x429d71
add ebx, 3
jmp 0x429d71
mov dword [esp + 0x18], edi
lea edi, [ebx + 1]
push edi
call fcn.0040c8e0
add esp, 4
mov esi, eax
push ebp
push edi
push eax
call fcn.004299b0
add esp, 0xc
mov dword [esp], 0xbcabad94
mov dword [esp + 4], 0xa6abaaa3
mov dword [esp + 8], 0x59a6e1a9
mov word [esp + 0xc], 0xd7a4
mov dword [esp + 0xe], 0
mov byte [esp + 0x12], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax]
mov ecx, eax
xor ecx, 0xd4e8fb0
mov edi, eax
or edi, 0xf
and edi, ecx
mov ecx, eax
xor ecx, 0x72b1704f
lea ecx, [ecx + edi*2]
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0x75
mov byte [esp + eax], cl
inc eax
cmp eax, 0x13
jne 0x429e00
mov eax, esp
mov ecx, dword [esp + 0x30]
push ebx
push esi
push eax
call fcn.0040d450
mov ebx, eax
push esi
call fcn.0040c8f0
add esp, 4
mov edi, dword [esp + 0x18]
push ebp
call fcn.0040c8f0
add esp, 4
push edi
call fcn.0043bac0
add esp, 4
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret