Function at 0x428e30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.00408130
add esp, 4
mov dword [esi + 0x1c], eax
mov dword [esi + 0x704], 0x3f4f03a4
mov dword [esi + 0x708], 0x11395b31
mov word [esi + 0x70c], 0xef72
xor eax, eax
mov edx, 0x73a1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], edx
movzx edi, word [esi + eax*2 + 0x704]
lea ebx, [eax - 0x578873a2]
mov edx, dword [esi + 8]
xor edx, ebx
and edx, edi
xor edx, ebx
mov edi, edx
and edi, 0x9d0d
mov ecx, edx
and ecx, 2
mov ebx, ecx
xor ebx, 2
imul ebx, edi
or edi, 2
imul edi, ecx
xor edx, 0x9d0f
add edx, ebx
lea ecx, [edi + edx]
inc ecx
mov edx, dword [esi + 8]
mov word [esi + eax*2 + 0x704], cx
inc eax
dec edx
cmp eax, 5
jne 0x428e80
mov eax, dword [0x43f024]
mov dword [esi + 0x41c], 0x2a700065
mov dword [esi + 0x420], 0x44b4418e
mov dword [esi + 0x424], 0x4c8678b4
mov dword [esi + 0x428], 0x41894481
mov dword [esi + 0x42c], 0xef080f5d
xor ecx, ecx
nop
nop
nop
nop
movzx edi, word [esi + ecx*2 + 0x41c]
lea edx, [ecx + 0x1e27]
and edx, edi
add edx, edx
add edi, ecx
add edi, 0xaffb1e27
mov ebx, edi
not ebx
and ebx, edx
not edx
and edx, edi
sub edx, ebx
add edx, 0x80270ec7
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov word [esi + ecx*2 + 0x41c], dx
lea edx, [ecx + ecx]
and edx, 2
xor ecx, 1
add ecx, edx
cmp ecx, 0xa
jb 0x428f10
mov ecx, dword [str.Dvh8ui__111]
mov dword [esi + 0x9c], 0x60a2158c
mov dword [esi + 0xa0], 0x657c1468
mov dword [esi + 0xa4], 0x41843a74
mov dword [esi + 0xa8], 0x69a615a2
mov dword [esi + 0xac], 0x53456772
mov dword [esi + 0xb0], 0x654d6547
mov dword [esi + 0xb4], 0x12a66949
mov dword [esi + 0xb8], 0x7b4b33bd
mov dword [esi + 0xbc], 0x687542b9
mov dword [esi + 0xc0], 0x654e144d
mov dword [esi + 0xc4], 0x159e6174
mov dword [esi + 0xc8], 0x67436995
mov dword [esi + 0xcc], 0x5355534a
mov dword [esi + 0xd0], 0x606f695b
mov dword [esi + 0xd4], 0x516d685b
mov dword [esi + 0xd8], 0x656c5568
mov dword [esi + 0xdc], 0x159d0a5b
mov dword [esi + 0xe0], 0x675f7f7d
mov dword [esi + 0xe4], 0x15963162
mov dword [esi + 0xe8], 0x685f6087
mov dword [esi + 0xec], 0x31583a63
mov dword [esi + 0xf0], 0x155a519c
mov dword [esi + 0xf4], 0x256e156f
mov dword [esi + 0xf8], 0x2844216f
mov dword [esi + 0xfc], 0x3089495f
mov dword [esi + 0x100], 0xf532157b
xor edx, edx
mov ebx, dword [esi + 0x1c]
nop
nop
lea edi, [edx - 0x70a9]
xor di, word [esi + edx*2 + 0x9c]
add edi, 0xffff8548
mov word [esi + edx*2 + 0x9c], di
inc edx
cmp edx, 0x34
jne 0x429070
movzx edx, byte [esi + 0x9c]
mov edi, ebx
test dl, dl
je 0x4290bb
lea ebx, [esi + 0x9d]
mov edi, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x4290b0
mov byte [edi], 0
movzx edx, byte [ecx]
test dl, dl
je 0x4290db
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x4290d0
mov byte [edi], 0
movzx ecx, byte [esi + 0x41c]
test cl, cl
je 0x4290fb
lea edx, [esi + 0x41d]
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4290f0
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42911b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x429110
mov byte [edi], 0
movzx eax, byte [esi + 0x704]
test al, al
je 0x42913b
lea ecx, [esi + 0x705]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429130
mov byte [edi], 0
push 0
call fcn.0043a340
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov ecx, dword [ecx*4 + 0x441ff4]
mov edx, 0x49c9bd93
xor edx, dword [0x441ffc]
add ecx, edx
inc ecx
jmp ecx